Vizualizace a interpretace diagnostiky dotazů v Power BI

Po zaznamenání diagnostiky, kterou chcete použít, je dalším krokem pochopení toho, co říkají.

Je užitečné mít dobrý přehled o tom, co každý sloupec ve schématu diagnostiky dotazů znamená. Tento kurz tyto informace nepokrývá. Úplný popis najdete v tématu Diagnostika dotazů.

Obecně platí, že při vytváření vizualizací použijte úplnou podrobnou tabulku. Bez ohledu na to, kolik řádků obsahuje, se pravděpodobně díváte na nějaké zobrazení toho, jak se sčítá čas strávený v různých zdrojích, nebo na to, jaký nativní dotaz byl vygenerován.

Jak je uvedeno v článku o záznamu diagnostiky, tento příklad pracuje s trasováním OData a SQL pro tabulku Customers z databáze Northwind. Konkrétně se zaměřujeme na běžnou žádost od zákazníků a na jednu ze snadno interpretovaných sad trasování: úplnou aktualizaci datového modelu.

Sestavení vizualizací

Při kontrole trasování je můžete vyhodnocovat různými způsoby. Tento článek popisuje dvě vizualizace. První vizualizace zobrazuje podrobnosti, o které vám záleží, a druhá ukazuje časové příspěvky různých faktorů. Pro první vizualizaci použijte tabulku. Můžete si vybrat libovolná pole, která se vám líbí, ale pokud se chcete snadno podívat na to, co se děje, použijte následující pole:

Pro druhou vizualizaci použijte skládaný sloupcový graf. V parametru Axis použijte Id nebo Step. Pokud máte na mysli možnost Refresh, protože nijak nesouvisí s kroky v samotném Editoru, pravděpodobně se stačí zaměřit na Id. U parametru Legend nastavte Category nebo Operation (podle požadované úrovně podrobnosti). Pro parametr Value nastavte Exclusive Duration a ujistěte se, že to není %, abyste získali nezpracovanou hodnotu doby trvání. Nakonec u parametru Tooltip nastavte nejdříve počáteční čas.

Po sestavení vizualizace se ujistěte, že řadíte vzestupně podle počátečního času , abyste viděli pořadí výskytů událostí.

Snímek obrazovky diagnostiky dotazů s tabulkou trasování a skládaným pruhovým grafem doby trvání podle kategorie a ID

I když se vaše přesné potřeby můžou lišit, je tato kombinace grafů vhodným místem, kde začít hledat mnoho diagnostických souborů a pro mnoho účelů.

Interpretace vizualizací

Jak už jsme zmínili dříve, diagnostika dotazů vám může pomoct odpovědět na mnoho otázek. Dvěma nejběžnějšími otázkami jsou způsob strávení času a odeslání dotazu do zdroje.

Pochopit, jak se čas využívá, je jednoduché a u většiny konektorů je to podobné. Jak je ale uvedeno jinde, vidíte výrazně odlišné možnosti v závislosti na konektoru. Mnoho konektorů založených na rozhraní ODBC například neposkytuje přesný záznam dotazu, který Power Query odesílá ovladači ODBC.

Pokud chcete zjistit, jak se čas stráví, projděte si vizualizace, které jste vytvořili dříve.

Protože časové hodnoty u zde použitých ukázkových dotazů jsou velmi malé, pokud chcete pracovat s tím, jak Power BI vykazuje čas, je lepší převést sloupec Exclusive Duration na sekundy v editoru Power Query. Po provedení tohoto převodu se můžete podívat na graf a získat jasnou představu o tom, kde se čas stráví.

V případě výsledků OData ukazuje následující obrázek, že většina času je strávena načítáním dat ze zdroje. Pokud vyberete položku Zdroj dat v legendě, zobrazí se všechny různé operace související s odesláním dotazu do zdroje dat.

Snímek obrazovky s diagnostikou dotazů OData, tabulkou podrobných trasování a grafem doby trvání se zvýrazněným časem zdroje dat.

Pokud provedete všechny stejné operace a sestavíte podobné vizualizace, ale použijete trasování SQL místo těch ODATA, uvidíte, jak se tyto dva zdroje dat porovnávají.

Snímek obrazovky s podrobnou tabulkou trasování zobrazující vyhodnocení SQL a graf porovnávající výhradní dobu trvání podle ID a kategorie

Pokud vyberete tabulku zdroje dat, například s diagnostikou ODATA, uvidíte, že první vyhodnocení (2.3 na tomto obrázku) odesílá dotazy na metadata a druhé vyhodnocení načte data, která vám záleží. Tento příklad načte malé objemy dat, takže načtení dat trvá malou dobu (méně než desetinu sekundy pro celé druhé vyhodnocení s méně než dvaceti sekundami pro samotné načtení dat), ale tato rychlost není ve všech případech pravdivá.

Stejně jako dříve vyberte kategorii Zdroj dat v legendě, abyste zobrazili generované dotazy.

Prozkoumání dat

Zkoumání cest

Při zkoumání těchto dat si můžete všimnout, že čas strávený tímto způsobem vypadá neobvykle. Například v dotazu OData můžete vidět, že existuje dotaz zdroje dat s následující hodnotou:

Request:
https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle%20eq%20%27Sales%20Representative%27&$select=CustomerID%2CCountry HTTP/1.1
Content-Type: application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimalmetadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,application/xml;q=0.7,text/plain;q=0.7

<Content placeholder>

Response:
Content-Type: application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimalmetadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,application/xml;q=0.7,text/plain;q=0.7
Content-Length: 435

<Content placeholder>

Tento dotaz na zdroj dat je přidružen k operaci, která představuje například pouze 1 % výhradní doby trvání. Mezitím je tu podobný:

Request:
GET https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry HTTP/1.1

Response:
https://services.odata.org/V4/Northwind/Northwind.svc/Customers?$filter=ContactTitle eq 'Sales Representative'&$select=CustomerID%2CCountry
HTTP/1.1 200 OK

Tento dotaz na zdroj dat je přidružen k operaci, která představuje téměř 75 % výhradní doby trvání. Pokud zapnete Cestu, zjistíte, že ta druhá je ve skutečnosti podřízená té první. Toto zjištění znamená, že první dotaz sám o sobě v podstatě přidává jen malé časové zatížení, přičemž samotné načítání dat sleduje vnitřní dotaz.

Tyto hodnoty jsou extrémní, ale jsou v mezích toho, co byste mohli vidět.