Sdílet prostřednictvím


Diagnostika dotazů

Pomocí diagnostiky dotazů můžete lépe porozumět tomu, co Power Query dělá při vytváření a aktualizaci v Power BI Desktopu. I když tuto funkci v budoucnu rozšíříme, včetně možnosti jeho použití během úplných aktualizací, v tuto chvíli ji můžete použít k pochopení toho, jaký druh dotazů generujete, jaké zpomalení může nastat během aktualizace vytváření a jaký druh událostí na pozadí se děje.

Pokud chcete použít diagnostiku dotazů, přejděte na kartu Nástroje na pásu karet editoru Power Query.

Snímek obrazovky funkcí diagnostiky dotazů na pásu karet nástrojů Power Query.

Diagnostika dotazů může ve výchozím nastavení vyžadovat oprávnění správce ke spuštění (v závislosti na zásadách IT). Pokud zjistíte, že nemůžete spustit diagnostiku dotazů, otevřete stránku možností Power BI Desktopu a na kartě Diagnostika vyberte Povolit v Editoru dotazů (nevyžaduje spuštění jako správce). Tento výběr vás omezuje ve schopnosti sledovat diagnostiku při provádění úplné aktualizace do Power BI, spíše než v editoru Power Query. Ale umožňuje vám ji i nadále používat při náhledu, vytváření obsahu atd.

Snímek obrazovky s možnostmi diagnostiky dotazů a zvýrazněnou možností Povolit v Editoru dotazů

Pokaždé, když spustíte diagnostiku, Power Query začne sledovat všechna vyhodnocení, která vyvoláte. Vyhodnocení, které většina uživatelů vnímá, je, když stisknete tlačítko aktualizovat, nebo když poprvé načítáte data. V závislosti na konektoru ale může dojít k mnoha akcím, které můžou způsobit vyhodnocení. Když například s konektorem SQL načtete seznam hodnot k filtrování, zahájí se také vyhodnocení, ale nejsou spojeny s dotazem uživatele a to je reprezentováno v diagnostikách. Další systémem generované dotazy můžou zahrnovat navigátor nebo prostředí pro získání dat.

Když stisknete tlačítko Diagnostikovat krok, Spustí Power Query speciální vyhodnocení jen kroku, na který se díváte. Pak zobrazí diagnostiku pro tento krok bez zobrazení diagnostiky pro další kroky v dotazu. Toto vyhodnocení může výrazně usnadnit zúžení pohledu na problém.

Je důležité, abyste, pokud zaznamenáváte všechny stopy z Spustit diagnostiku, stiskli Zastavit diagnostiku. Zastavení diagnostiky umožňuje systému shromáždit zaznamenané stopy a zpracovat je do správného výstupu. Bez tohoto kroku dojde ke ztrátě stop.

Typy diagnostiky

V současné době poskytujeme tři typy diagnostiky, z nichž jedna má dvě úrovně podrobností.

První z těchto diagnostik je primární diagnostika, která má podrobné zobrazení a souhrnné zobrazení. Souhrnné zobrazení vám poskytne okamžitý přehled o tom, kde se v dotazu tráví čas. Podrobné zobrazení je mnohem podrobnější, řádek po řádku, a je obecně nutné pouze pro vážnou diagnostiku pokročilých uživatelů.

V tomto zobrazení jsou některé funkce, například sloupec Dotaz na zdroj dat, aktuálně dostupné jenom u určitých konektorů. V budoucnu budeme pracovat na rozšíření rozsahu tohoto pokrytí.

Oddíly zabezpečení dat poskytují lepší porozumění logickým oddílům používaným pro ochranu dat.

Poznámka:

Power Query může provádět vyhodnocení, která jste možná neaktivovali přímo. Některá z těchto vyhodnocení se provádějí za účelem načtení metadat, abychom mohli nejlépe optimalizovat dotazy nebo poskytovat lepší uživatelské prostředí (například načtení seznamu jedinečných hodnot ve sloupci zobrazeném v prostředí Filtrovat řádky). Ostatní můžou souviset s tím, jak konektor zpracovává paralelní vyhodnocení. Pokud ve své diagnostice dotazů uvidíte opakované dotazy, které podle vás nedávají smysl, neváhejte se spojit prostřednictvím běžných kanálů podpory – vaše zpětná vazba je způsob, jak náš produkt vylepšujeme.

Souhrnné a podrobné zobrazení

Diagnostika dotazů poskytuje dvě zobrazení: souhrnná a podrobná. Souhrnné zobrazení "sbalí" několik souvisejících operací do jedné operace. V tomto procesu se zkombinují podrobnosti shromážděné jednotlivými operacemi a sčítají se výhradní doby trvání. V rámci tohoto procesu se neztratí žádné informace.

Souhrnné zobrazení poskytuje přehled toho, co se stalo během vyhodnocení pro snadnou kontrolu vysoké úrovně. Pokud je pro konkrétní operaci potřeba další rozpis, můžete se podívat na ID skupiny a zobrazit odpovídající operace seskupené v zobrazení podrobností.

Vysvětlení vícenásobného hodnocení

Když v editoru Power Query dojde k aktualizaci, na pozadí se provádí mnoho procesů, aby vám byl poskytnut plynulý uživatelský zážitek. Například při aktualizaci náhledu provede vyhodnocovací modul poslední krok každého daného dotazu. Pak ale na pozadí postupně spouští n-1 kroky, n-2, kroky atd. Takže pokud si projdete vaše kroky, je už k dispozici.

Pokud chcete dosáhnout vyšší výkonnosti, v současné době probíhá ukládání do mezipaměti, takže nemusí znovu spustit každou část konečného plánu dotazů při opakovaném průchodu jednotlivými kroky. I když je toto ukládání do mezipaměti užitečné pro běžné vytváření obsahu, znamená to, že kvůli pozdějším vyhodnocením při načítání dat uložených v mezipaměti nezískáte vždy správné informace o porovnání kroků.

Schéma diagnostiky

identifikační číslo

Při analýze výsledků nahrávky je důležité filtrovat nahrávací relaci podle ID, aby sloupce jako exkluzivní trvání % dávaly smysl.

ID je složený identifikátor. Je složeno ze dvou čísel – jedno před tečkou a jedno za tečkou. První číslo je stejné pro všechna vyhodnocení, která byla výsledkem jediné akce uživatele. Jinými slovy, pokud stisknete aktualizaci dvakrát, jsou dvě různá čísla, která vedou tečku, jednu pro každou aktivitu uživatele. Toto číslování je sekvenční pro daný záznam diagnostiky.

Druhé číslo představuje vyhodnocení strojem. Toto číslo je sekvenční po celou dobu životnosti procesu, ve kterém je vyhodnocení zařazeno do fronty. Pokud spustíte více relací záznamu diagnostiky, bude se toto číslo dál rozšiřovat napříč různými relacemi.

Pokud chcete shrnout, pokud začnete nahrávat, jednou stiskněte vyhodnocení a zastavte nahrávání, v diagnostice se objeví několik ID. Ale protože jste udělali jen jednu akci, jsou to všechny 1.1, 1.2, 1.3 atd.

Kombinace activityId a evaluationId, oddělená tečkou, poskytuje jedinečný identifikátor pro evaluaci jedné nahrávací relace.

Query

Název dotazu v levém podokně editoru Power Query.

Step

Název kroku v pravém podokně editoru Power Query. Například rozevírací seznamy filtru se obvykle vztahují ke kroku, na který aplikujete filtr, i když tento krok neaktualizujete.

Kategorie

Kategorie operace.

Druh zdroje dat

Tato data vám ukazují, k jakému druhu zdroje dat přistupujete, například SQL nebo Oracle.

Operation

Skutečná operace, která se provádí. Tato operace může zahrnovat vyhodnocovací práci, otevírání připojení, odesílání dotazů do zdroje dat a mnoho dalších.

Čas zahájení

Čas, kdy byla operace spuštěna.

Konečný čas

Čas ukončení operace.

Exkluzivní doba trvání (%)

Sloupec Exkluzivní doba trvání události je doba, po kterou byla událost aktivní. To kontrastuje s hodnotou "duration", která je výsledkem odečtení hodnot ve sloupci Čas zahájení události a koncový čas. Tato hodnota "duration" představuje celkový čas, který uplynul mezi tím, kdy událost začala a kdy skončila, což může zahrnovat časy, kdy byla událost v pozastaveném nebo neaktivním stavu a další událost spotřebovala zdroje.

Exkluzivní procento doby trvání dosahuje přibližně 100% během daného vyhodnocení, jak znázorňuje sloupec ID. Pokud například filtrujete řádky s ID 1.x, procenta exkluzivní doby trvání by se součet přiblížil k hodnotě 100 %. Neplatí to, pokud sečtete hodnoty exkluzivní doby trvání % všech řádků v dané diagnostické tabulce.

Výhradní doba trvání

Absolutní čas, nikoli %, výhradní doby trvání. Celkovou dobu trvání (tedy výhradní doba trvání + doba, kdy byla událost neaktivní) vyhodnocení lze vypočítat jedním ze dvou způsobů:

  • Vyhledejte operaci s názvem Vyhodnocení. Rozdíl mezi koncovým časem a časem zahájení vede k celkové době trvání události.

  • Odečte minimální počáteční čas všech operací v události od maximálního koncového času. V případech, kdy informace shromážděné pro událost nezohlední celkovou dobu trvání, vygeneruje se operace s názvem "Mezery v trasování", aby se zohlednila tato časová mezera.

Resource

Prostředek, k němuž přistupujete k datům. Přesný formát tohoto prostředku závisí na zdroji dat.

Dotaz na zdroj dat

Power Query dělá něco, co se nazývá překlápění dotazů, což znamená, že co nejvíce částí dotazu je spuštěno proti back-endovému zdroji dat. V režimu DirectQuery (přes Power Query), kde je povoleno, transformuje pouze skládací běh. V režimu importu se transformace, které se nedají sbalit, spouští místně.

Sloupec Dotaz na zdroj dat umožňuje zobrazit dotaz nebo požadavek HTTP nebo odpověď odeslanou back-endovým zdrojem dat. Při vytváření dotazu v editoru se vygeneruje mnoho dotazů na zdroj dat. Některé z těchto dotazů představují skutečný konečný dotaz zdroje dat pro vykreslení náhledu. Jiné ale můžou být pro profilaci dat, rozevírací seznamy filtru, informace o spojeních, načítání metadat pro schémata a libovolný počet dalších malých dotazů.

Obecně platí, že byste se neměli zabývat počtem dotazů zdroje dat, které se vygenerují, pokud neexistují konkrétní důvody, proč se vás to týká. Místo toho byste se měli zaměřit na to, abyste měli jistotu, že se načítá správný obsah. Tento sloupec může také pomoci určit, jestli bylo vyhodnocení Power Query plně optimalizováno.

Další informace

Naše konektory načítají spoustu informací. Velká část je roztříštěná a nezapadá dobře do standardní hierarchie sloupců. Tyto informace se vloží do záznamu ve sloupci s dalšími informacemi. Zde se také zobrazí informace protokolované z vlastních konektorů.

Počet řádků

Počet řádků vrácených dotazem zdroje dat. Není povoleno u všech konektorů.

Délka obsahu

Délka obsahu, kterou vracejí požadavky HTTP, jak je obvykle definováno. Toto schéma není povolené ve všech konektorech a není přesné pro konektory, které načítají požadavky v blocích dat.

Je uživatelský dotaz

Logická hodnota, která označuje, jestli se jedná o dotaz vytvořený uživatelem a přítomný v levém podokně nebo jestli byl vygenerován nějakou jinou akcí uživatele. Mezi další akce uživatele můžou patřit například výběr filtru nebo použití navigátoru v prostředí pro získání dat.

Cesta

Cesta představuje relativní trasu operace při zobrazení jako součást stromu intervalů pro všechny operace v rámci jednoho vyhodnocení. V horní části stromu (kořen) existuje jedna operace s názvem Vyhodnocení s cestou 0. Počáteční čas tohoto vyhodnocení odpovídá začátku tohoto vyhodnocení jako celku. Koncový čas tohoto vyhodnocení se zobrazí po dokončení celého vyhodnocení. Tato operace nejvyšší úrovně má výhradní dobu trvání 0, protože jejím jediným účelem je sloužit jako kořen stromu.

Další operace se větví z kořene. Například operace může mít jako cestu "0/1/5". Tato cesta by byla pochopena takto:

  • 0: kořen stromu
  • 1: Nadřazená hodnota aktuální operace
  • 5: Index aktuální operace

Operace "0/1/5" může mít podřízený uzel, v takovém případě má cesta tvar "0/1/5/8", přičemž 8 představuje index podřízeného uzlu.

ID skupiny

Kombinace dvou (nebo více) operací není provedena, pokud by vedla ke ztrátě detailů. Seskupování je navrženo tak, aby co nejvíce odpovídalo "příkazům" provedeným během vyhodnocování. V podrobném zobrazení sdílí několik operací ID skupiny odpovídající skupinám agregovaným v souhrnném zobrazení.

Stejně jako u většiny sloupců je ID skupiny relevantní pouze v rámci konkrétního vyhodnocení, jak je filtrováno podle sloupce ID.

Schéma oddílů ochrany osobních údajů dat

identifikační číslo

Stejné jako ID ostatních výsledků diagnostiky dotazů. Celočíselná část představuje jedno ID aktivity, zatímco zlomková část představuje jedno vyhodnocení.

Partiční klíč

Odpovídá dotazu nebo úkonu, který se používá jako segment brány firewall.

Skupina firewallů

Kategorizace, která vysvětluje, proč se tento oddíl musí vyhodnotit samostatně, včetně podrobností o úrovni ochrany osobních údajů oddílu.

Přístup k prostředkům

Seznam cest k prostředkům pro všechny prostředky, ke které tento oddíl přistupuje, a obecně jednoznačně identifikuje zdroj dat.

Rozdělení vstupů

Seznam klíčů oddílů, na kterých aktuální oddíl závisí (tento seznam se dá použít k vytvoření grafu).

Expression

Výraz, který se vyhodnocuje na vrcholu dotazu/kroku oddílu. V několika případech se shoduje s dotazem nebo krokem.

Čas zahájení

Čas spuštění vyhodnocení pro tento oddíl

Konečný čas

Čas ukončení vyhodnocení pro tento oddíl

Doba trvání

Hodnota odvozená od koncového času minus počáteční čas.

Výhradní doba trvání

Pokud se předpokládá, že se oddíly spouštějí v jednom vlákně, výhradní doba trvání je "skutečná" doba trvání, kterou lze přiřadit k tomuto oddílu.

Exkluzivní doba trvání %

Doba exkluzivity jako procento.

Diagnostika

Tento sloupec se zobrazí pouze v případě, že se zachytí diagnostika dotazů Agregovaná nebo Podrobná, což uživateli umožní, aby odpovídal mezi dvěma výstupy diagnostiky.

Schéma čítačů výkonu

Při spouštění čítačů výkonu pořídí Power Query každou půl sekundu snímek využití prostředků. Tento snímek není užitečný pro velmi rychlé dotazy, ale může být užitečný pro dotazy, které využívají mnohem více prostředků.

% času procesoru

Procento času stráveného procesory v dotazu Toto procento může dosáhnout nad 100% kvůli více procesorům.

Celkový čas procesoru

Celková doba trvání procesoru strávená dotazem

Bajty vstupně-výstupních dat za sekundu

Rychlost propustnosti dat přijatých ze zdroje dat vyjádřená v bajtech za sekundu

Potvrzení (bajty)

Množství virtuální paměti rezervované během vyhodnocení

Pracovní sada (v bajtech)

Množství paměti rezervované pro vyhodnocení.