Zdieľať cez


Diagnostika dotazov

S diagnostikou dotazov môžete lepšie pochopiť, čo Power Query robí pri tvorbe a pri obnove v Power BI Desktop. Aj keď túto funkciu v budúcnosti rozšírime, vrátane možnosti používať ju počas plných obnov, v tejto chvíli ju môžete použiť na pochopenie, aké typy dotazov vysielate, aké spomalenia môžete naraziť počas obnovy autora a aké pozadie sa dejú.

Ak chcete použiť Query Diagnostics, choďte na záložku Nástroje v pásme editora Power Query.

Snímka obrazovky funkcií diagnostiky dotazov pod páskou Power Query Tools.

V predvolenom nastavení môže diagnostika dotazov vyžadovať administrátorské práva na spustenie (v závislosti od IT politiky). Ak zistíte, že nemôžete spustiť Diagnostiku dotazov, otvorte stránku s nastaveniami Power BI Desktop a v karte Diagnostika vyberte Povoliť v Query Editore (nevyžaduje spustenie ako administrátor). Táto voľba vám bráni v možnosti sledovať diagnostiku pri úplnom obnovení do Power BI namiesto Power Query editora. Ale umožňuje vám ho stále používať pri náhľade, tvorbe a podobne.

Zdôraznený je screenshot možností Diagnostiky dotazu s možnosťou Povoliť v Editore dotazov.

Kedykoľvek začnete diagnostiku, Power Query začne sledovať akékoľvek hodnotenia, ktoré spôsobíte. Hodnotenie, na ktoré väčšina používateľov myslí, je, keď stlačíte obnovenie alebo keď dáta získate prvýkrát. Existuje však mnoho krokov, ktoré môžu spôsobiť hodnotenia, v závislosti od konektora. Napríklad pri SQL konektore, keď získate zoznam hodnôt na filtrovanie, spustí sa aj vyhodnotenie – ale nepriradí sa to k používateľskému dopytu, a to je znázornené v diagnostike. Ďalšie systémom generované dotazy môžu zahŕňať navigátora alebo získavanie dát.

Keď stlačíte Diagnose Step, Power Query vykoná špeciálne vyhodnotenie len toho kroku, na ktorý sa pozeráte. Potom vám ukáže diagnostiku pre tento krok, bez toho, aby vám ukazovala diagnostiku pre ostatné kroky v dotaze. Toto hodnotenie môže výrazne uľahčiť získanie úzkeho pohľadu na problém.

Je dôležité, aby ste pri nahrávaní všetkých stôp zo Start Diagnostics stlačili Stop diagnostics. Zastavenie diagnostiky umožňuje motoru zozbierať zaznamenané stopy a spracovať ich na správny výstup. Bez tohto kroku sa stopy strácajú.

Typy diagnostiky

V súčasnosti poskytujeme tri typy diagnostiky, z ktorých jeden má dve úrovne detailu.

Prvou z týchto diagnostických metód sú primárne diagnostiky, ktoré obsahujú podrobný a zhrnutý pohľad. Zhrnutý pohľad má za cieľ poskytnúť vám okamžitý pohľad na to, kde trávite čas vo vašom dotaze. Podrobný pohľad je oveľa hlbší, riadok po riadku, a vo všeobecnosti je potrebný len na seriózne diagnostikovanie pokročilými používateľmi.

Pre tento pohľad sú niektoré možnosti, ako napríklad stĺpec Data Source Quer, momentálne dostupné len na určitých konektoroch. V budúcnosti budeme pracovať na rozšírení rozsahu tohto pokrytia.

Oddiely na ochranu osobných údajov vám poskytnú lepšie pochopenie logických partícií používaných pre ochranu údajov.

Poznámka

Power Query môže vykonávať hodnotenia, ktoré ste možno priamo nespustili. Niektoré z týchto hodnotení sa vykonávajú na získanie metadát, aby sme mohli čo najlepšie optimalizovať naše dotazy alebo poskytnúť lepší používateľský zážitok (napríklad získaním zoznamu odlišných hodnôt v stĺpci, ktoré sa zobrazujú v zážitku Filter Rows). Iné môžu súvisieť s tým, ako konektor spracováva paralelné hodnotenia. Zároveň, ak v diagnostike dopytov vidíte opakované dotazy, ktoré podľa vás nedávajú zmysel, neváhajte nás kontaktovať cez bežné podporné kanály – vaša spätná väzba je spôsob, ako zlepšujeme náš produkt.

Zhrnutý vs. podrobný pohľad

Diagnostika dotazov poskytuje dva pohľady: zhrnutý a podrobný. Zhrnutý pohľad "zjednocuje" viacero súvisiacich operácií do jednej operácie. V tomto procese sa detaily zozbierané každou operáciou skombinujú a spočítajú sa exkluzívne trvania. V rámci tohto procesu sa nestrácajú žiadne informácie.

Zhrnutý pohľad poskytuje prehľad o tom, čo sa stalo počas hodnotenia, pre jednoduché hodnotenie na vysokej úrovni. Ak je potrebné ďalšie rozdelenie pre konkrétnu operáciu, môžete sa pozrieť na ID skupiny a zobraziť zodpovedajúce operácie, ktoré boli zoskupené v detailnom zobrazení.

Vysvetlenie viacerých hodnotení

Keď prebieha obnova v Power Query editore, v pozadí sa robí veľa, aby ste mali plynulý používateľský zážitok. Napríklad pri obnovení náhľadu hodnotiteľ vykoná posledný krok každého dotazu. Ale na pozadí postupne beží n-1 kroky, n-2, kroky a tak ďalej. Takže ak sa vrátite späť, už je dostupný.

Pre vyšší výkon momentálne dochádza k nejakému kešovaniu, aby nemusel opakovane spúšťať každú časť finálneho plánu dotazu, keď prechádza krokmi. Hoci je toto cache užitočné pre bežné vytváranie, znamená to, že nie vždy dostanete správne informácie o porovnaní krokov kvôli neskorším hodnoteniam, ktoré čerpajú z cacheovaných dát.

Diagnostická schéma

Identifikácia

Pri analýze výsledkov nahrávky je dôležité filtrovať nahrávaciu reláciu podľa ID, aby stĺpce ako Exkluzívna doba % dávali zmysel.

ID je zložený identifikátor. Skladá sa z dvoch čísel – jedného pred bodkou a jedného za ním. Prvé číslo je rovnaké pre všetky hodnotenia, ktoré vznikli v dôsledku akcie jedného používateľa. Inými slovami, ak stlačíte obnovenie dvakrát, na bodke vedú dve rôzne čísla, jedno pre každú používateľskú aktivitu. Toto číslovanie je sekvenčné pre dané diagnostické záznamy.

Druhé číslo predstavuje hodnotenie motora. Toto číslo je postupné počas celej životnosti procesu, do ktorého je vyhodnotenie zaradené do fronty. Ak spustíte viacero diagnostických záznamov, toto číslo naďalej rastie medzi jednotlivými reláciami.

Zhrnuté, ak začneš nahrávať, raz stlačíš hodnotenie a zastavíš nahrávanie, v diagnostike sa objaví určitý počet ID. Ale keďže ste urobili len jednu akciu, všetky sú 1.1, 1.2, 1.3 a tak ďalej.

Kombinácia activityId a evaluationId, oddelených bodkou, poskytuje jedinečný identifikátor pre vyhodnotenie jednej nahrávacej relácie.

Query

Názov dotazu v ľavom paneli editora Power Query.

Krok

Názov kroku v pravom paneli editora Power Query. Veci ako rozbaľovacie ponuky filtrov sa zvyčajne priradzujú k kroku, na ktorom filtrujete, aj keď ho neobnovujete.

Kategória

Kategória operácie.

Druh dátového zdroja

Tieto údaje vám povedia, aký typ dátového zdroja používate, napríklad SQL alebo Oracle.

Operácia

Samotná operácia, ktorá sa vykonáva. Táto operácia môže zahŕňať prácu s evaluatorom, nadväzovanie spojení, odosielanie dotazov na zdroj dát a mnoho ďalšieho.

Počiatočný čas

Čas, keď operácia začala.

Čas ukončenia

Čas, keď operácia skončila.

Exkluzívne trvanie (%)

Stĺpec Exkluzívneho trvania udalosti je čas, počas ktorého bola udalosť aktívna. To je v kontraste s hodnotou "trvania", ktorá vzniká odpočítaním hodnôt v stĺpci Čas začiatku a Čase ukončenia udalosti. Táto hodnota "trvania" predstavuje celkový čas, ktorý uplynul medzi začiatkom a koncom udalosti, čo môže zahŕňať aj časy, keď bola udalosť pozastavená alebo neaktívna, keď iná udalosť spotrebovávala zdroje.

Exkluzívne trvanie % sa sčíta približne na 100% v rámci daného hodnotenia, čo je znázornené stĺpcom Id. Napríklad, ak filtrujete riadky s Id 1.x, percentá exkluzívneho trvania by sa sčítali približne na 100%. To však neplatí, ak spočítate Exkluzívne trvanie % hodnoty všetkých riadkov v danej diagnostickej tabuľke.

Exkluzívne trvanie

To je absolútny čas, nie %, výlučného trvania. Celkové trvanie (teda exkluzívne trvanie + čas, keď bola udalosť neaktívna) vyhodnotenia možno vypočítať dvoma spôsobmi:

  • Nájdi operáciu s názvom "Hodnotenie." Rozdiel medzi časom konca a časom začiatku vedie k celkovému trvaniu udalosti.

  • Odpočítajte minimálny čas začiatku všetkých operácií v udalosti od maximálneho času ukončenia. V prípadoch, keď informácie zozbierané o udalosti nezohľadňujú celkové trvanie, vygeneruje sa operácia nazývaná "Trace Gaps" na zohľadnenie tejto časovej medzery.

Zdroj

Zdroj, ku ktorému pristupujete kvôli dátam. Presný formát tohto zdroja závisí od zdroja dát.

Dotaz na zdroj dát

Power Query robí niečo, čo sa nazýva folding, čo je bežanie čo najväčšieho počtu častí dotazu na zadnom zdroji dát. V režime DirectQuery (cez Power Query), kde je povolený, transformuje iba tento fold run. V režime importu sa transformácie, ktoré sa nedajú zložiť, spúšťajú lokálne.

Stĺpec Data Source Query vám umožňuje vidieť dotaz alebo HTTP požiadavku/odpoveď odoslanú na zadný zdroj dát. Pri tvorbe dotazu v editore sa generuje mnoho dotazov na zdroj dát. Niektoré z týchto dotazov sú skutočným finálnym dotazom na zdroj dát na vykreslenie náhľadu. Iné však môžu slúžiť na profilovanie dát, rozbaľovacie zoznamy filtrov, informácie o pripojeniach, získavanie metadát pre schémy a množstvo ďalších menších dotazov.

Vo všeobecnosti by ste sa nemali znepokojovať počtom odoslaných dotazov na zdroje dát, pokiaľ neexistujú konkrétne dôvody na obavy. Namiesto toho by ste sa mali zamerať na to, aby sa správny obsah získaval. Tento stĺpec môže tiež pomôcť určiť, či bolo hodnotenie Power Query úplne zložené.

Ďalšie informácie

Naše konektory získavajú veľa informácií. Veľa z toho je roztrhané a nezapadá dobre do štandardnej hierarchie stĺpcov. Tieto informácie sa ukladajú do záznamu v stĺpci dodatočných informácií. Informácie zaznamenané z vlastných konektorov sa tiež objavujú tu.

Počet riadkov:

Počet riadkov vrátených dotazom na zdroj dát. Nie je zapnuté na všetkých konektoroch.

Dĺžka obsahu

Dĺžka obsahu vrátená pomocou HTTP požiadaviek, ako je bežne definované. Táto schéma nie je povolená vo všetkých konektoroch a nie je presná ani pre konektory, ktoré získavajú požiadavky v blokoch.

Je používateľský dotaz

Booleovská hodnota, ktorá určuje, či ide o dotaz vytvorený používateľom a zobrazený v ľavom paneli, alebo či bol generovaný nejakou inou akciou používateľa. Ďalšie užívateľské akcie môžu zahŕňať napríklad výber filtra alebo použitie navigátora v zážitku získavania dát.

Path

Cesta predstavuje relatívnu trasu operácie, keď sa na ňu pozeráme ako na súčasť intervalového stromu pre všetky operácie v rámci jedného vyhodnotenia. Na vrchu (koreň) stromu je jedna operácia nazvaná Evaluation s cestou "0". Čas začiatku tohto hodnotenia zodpovedá začiatku celého hodnotenia. Koniec tohto hodnotenia ukazuje, kedy celé hodnotenie skončilo. Táto najvyššia operácia má výlučné trvanie 0, keďže jej jediným účelom je slúžiť ako koreň stromu.

Ďalšie operácie sa rozvetvujú od koreňa. Napríklad operácia môže mať ako cestu "0/1/5". Táto cesta by sa chápala ako:

  • 0: koreň stromu
  • 1: Rodič súčasnej prevádzky
  • 5: Index aktuálnej prevádzky

Operácia "0/1/5" môže mať podriadený uzol, v takom prípade má cesta tvar "0/1/5/8", pričom 8 predstavuje index potomka.

Identifikácia skupiny

Kombinovanie dvoch (alebo viacerých) operácií neprebieha, ak vedie k strate detailov. Zoskupenie je navrhnuté tak, aby približovalo "príkazy" vykonané počas hodnotenia. V detailnom zobrazení zdieľa viacero operácií skupinové ID, ktoré zodpovedá skupinám, ktoré sú agregované v súhrnnom zobrazení.

Rovnako ako pri väčšine stĺpcov, ID skupiny je relevantné len v rámci konkrétneho vyhodnotenia, filtrovaného podľa stĺpca ID.

Schéma partícií na ochranu osobných údajov

Identifikácia

Rovnako ako ID pre ostatné výsledky diagnostiky dotazov. Celočíselná časť predstavuje jedno ID aktivity, zatiaľ čo zlomková časť predstavuje jedno vyhodnotenie.

Partíciový kľúč

Zodpovedá dotazu/kroku, ktorý sa používa ako firewallová partícia.

Skupina firewallu

Kategorizácia, ktorá vysvetľuje, prečo musí byť táto partícia vyhodnocovaná samostatne, vrátane detailov o úrovni súkromia partície.

Prístupné zdroje

Zoznam ciest zdrojov pre všetky zdroje, ku ktorým táto partícia pristupuje, a vo všeobecnosti jednoznačne identifikuje dátový zdroj.

Vstupy na partície

Zoznam kľúčov partície, od ktorých závisí aktuálna partícia (tento zoznam by sa dal použiť na vytvorenie grafu).

Výraz

Výraz, ktorý sa vyhodnocuje nad dotazom/krokom partície. V niektorých prípadoch sa to zhoduje s dotazom/krokom.

Počiatočný čas

Čas, keď sa začalo hodnotenie tejto časti.

Čas ukončenia

Čas, keď hodnotenie tohto rozdelenia skončilo.

Trvanie

Hodnota odvodená z End Time mínus Start Time.

Exkluzívne trvanie

Ak sa predpokladá, že partície sa vykonávajú v jednom vlákne, exkluzívna dĺžka je "skutočná" doba, ktorú možno tejto partícii priradiť.

Exkluzívne trvanie %

Exkluzívna doba trvania v percentách.

Diagnostika

Tento stĺpec sa objaví len vtedy, keď je zachytený aj diagnostický dotaz "Agregované" alebo "Detailované", čo umožňuje používateľovi korešpondovať medzi dvoma diagnostickými výstupmi.

Schéma výkonnostných čítačov

Keď spúšťate výkonnostné čítače, Power Query každú polsekundu sníma využitie zdrojov. Tento snapshot nie je užitočný pre veľmi rýchle dotazy, ale môže byť užitočný pre dotazy, ktoré spotrebujú oveľa viac zdrojov.

% procesorový čas

Percento času stráveného procesormi na dotaze. Toto percento môže presiahnuť 100% kvôli viacerým procesorom.

Celkový čas procesora

Celková dĺžka času procesora stráveného na dotaze.

IO dátové bajty za sekundu

Rýchlosť priepustnosti dát prijatých zo zdroja dát, vyjadrená v bajtoch za sekundu.

Commit (bajty)

Množstvo virtuálnej pamäte vyhradené vyhodnotením.

Pracovná množina (bajty)

Množstvo pamäte vyhradené hodnotením.