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.
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 se vám nedaří spustit diagnostiku dotazů, otevřete stránku možností Power BI Desktopu a na kartě Diagnostika vyberte Povolit v Editor Power Query (nevyžaduje spuštění jako správce). Tento výběr omezuje možnost sledovat diagnostiku při úplné aktualizaci do Power BI místo editoru Power Query. Umožňuje vám ale i nadále používat při zobrazení náhledu, vytváření obsahu atd.
Pokaždé, když spustíte diagnostiku, Power Query začne trasovat všechna vyhodnocení, která způsobujete. Vyhodnocení, o které si většina uživatelů myslí, je při prvním stisknutí aktualizace nebo při prvním načtení dat. 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, které se mají filtrovat, spustí se také vyhodnocení, ale nepřidruží se k dotazu uživatele a který je reprezentovaný v diagnostice. 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é, že pokud nahráváte všechna trasování z diagnostiky spuštění, kterou stisknete diagnostiku Stop. Zastavení diagnostiky umožňuje modulu shromáždit zaznamenané trasování a parsovat je do správného výstupu. Bez tohoto kroku dojde ke ztrátě trasování.
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 hlubší, line by line, a je obecně nutné pouze pro závažnou diagnostiku power-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 ochrany osobních údajů dat poskytují lepší znalosti logických oddílů používaných pro ochranu osobních údajů 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 se ve své diagnostice dotazů zobrazí opakované dotazy, u kterého nevěříte, že dáváte smysl, můžete se spojit prostřednictvím normálních kanálů podpory – vaše zpětná vazba je způsob, jak náš produkt vylepšujeme.
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í.
Když v editoru Power Query dojde k aktualizaci, na pozadí se hodně děje, abyste se pokusili poskytnout 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 kroky, je už k dispozici.
Pokud chcete dosáhnout vyššího výkonu, v současné době dochází k ukládání do mezipaměti, takže nemusí znovu spustit každou část konečného plánu dotazů, protože prochází 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ů.
Při analýze výsledků nahrávky je důležité filtrovat relaci nahrávky podle ID, aby sloupce, jako je například Exclusive Duration %, dávaly smysl.
ID je složený identifikátor. Tvoří se dvě čísla – jedno před tečkou a jedno po. 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í modulem. Toto číslo je 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, když začnete nahrávat, stiskněte jednou vyhodnocení a zastavte nahrávání, zobrazí se v diagnostice 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 vyhodnocení jedné relace záznamu.
Název dotazu v levém podokně editoru Power Query.
Název kroku v pravém podokně editoru Power Query. Například rozevírací seznamy filtru obvykle přidružují krok, na který filtrujete, i když krok neaktualizujete.
Kategorie operace.
Tato data vám říkají, jaký druh zdroje dat přistupujete, například SQL nebo Oracle.
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, kdy byla operace spuštěna.
Čas ukončení operace.
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í doba trvání % se v rámci daného vyhodnocení sčítá až na 100 %, jak je znázorněno sloupcem ID. Pokud například filtrujete řádky s ID 1.x, procento exkluzivní doby trvání by se součet přibližně 100 %. To není případ, pokud součet hodnot Exclusive Duration % všech řádků v dané diagnostické tabulce.
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.
Prostředek, ke který přistupujete k datům. Přesný formát tohoto prostředku závisí na zdroji dat.
Power Query dělá něco, co se nazývá skládání, což je spuštění co nejvíce částí dotazu na back-endový zdroj 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é pomoct určit, jestli bylo vyhodnocení Power Query plně přeložené.
Naše konektory načítají spoustu informací. Velká část je rozrušovaná a nevejde se 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ů vrácených dotazem zdroje dat. Není povoleno u všech konektorů.
Délka obsahu vrácená požadavky HTTP, jak je běžně 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.
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 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ší větev operací z kořenové větve. 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 a 8 představující index podřízeného objektu.
Kombinace dvou (nebo více) operací nedojde, pokud vede ke ztrátě podrobností. Seskupování je navržené tak, aby se při vyhodnocování přibližné "příkazy" spouštěly. 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.
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í.
Odpovídá dotazu nebo kroku, který se používá jako oddíl brány firewall.
Kategorizace, která vysvětluje, proč se tento oddíl musí vyhodnotit samostatně, včetně podrobností o úrovni ochrany osobních údajů oddílu.
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.
Seznam klíčů oddílů, na kterých aktuální oddíl závisí (tento seznam se dá použít k vytvoření grafu).
Výraz, který se vyhodnotí nad dotazem nebo krokem oddílu. V několika případech se shoduje s dotazem nebo krokem.
Čas spuštění vyhodnocení pro tento oddíl
Čas ukončení vyhodnocení pro tento oddíl
Hodnota odvozená od koncového času minus počáteční čas.
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í jako procento.
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.
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ů.
Procento času stráveného procesory v dotazu Toto procento může dosáhnout nad 100 % z důvodu více procesorů.
Celková doba trvání procesoru strávená dotazem
Rychlost propustnosti dat přijatých ze zdroje dat vyjádřená v bajtech za sekundu
Množství virtuální paměti rezervované vyhodnocením
Množství paměti rezervované vyhodnocením.