Vizualizácia a interpretácia diagnostiky dotazov v službe Power BI

Úvod

Po zaznamenaní diagnostiky, ktorú chcete použiť, je ďalším krokom pochopenie toho, čo hovoria.

Je dobré mať dobré znalosti o tom, čo presne znamená každý stĺpec v diagnostickej schéme dotazov, čo v tomto krátkom kurze nebudeme opakovať. Tu je plná napísať, že tu.

Vo všeobecnosti platí, že pri vytváraní vizualizácií je lepšie použiť úplnú podrobnú tabuľku. Keďže bez ohľadu na to, na koľko riadkov to je, to, na čo sa pravdepodobne pozeráte, je určitý druh zobrazenia toho, ako sa sčíta čas strávený v rôznych zdrojoch alebo aký natívny dotaz bol vynechaný.

Ako je uvedené v našom článku o zaznamenávaní diagnostiky, pracujem s OData a SQL sledovania pre rovnakú tabuľku (alebo takmer tak) – tabuľku Customers od Northwind. Zameriam sa predovšetkým na bežné otázky našich zákazníkov a jednu z ľahšie interpretačných množín trasovania: úplné obnovenie dátového modelu.

Vytváranie vizualizácií

Pri prechádzaní sledovaním existuje mnoho spôsobov, ako ich môžete vyhodnotiť. V tomto článku sa zameriame na dve vizualizácie rozdelené na jednu, aby sme vám zobrazili podrobnosti, na ktoré vám záleží, a ďalšie, aby sme sa mohli jednoducho pozrieť na časové príspevky rôznych faktorov. Pri prvej vizualizácii sa použije tabuľka. Môžete si vybrať ľubovoľné pole, ale tie, ktoré sa odporúčajú na jednoduchý a podrobný pohľad na diania:

Jednou z možností pre druhú vizualizáciu je použitie skladaného stĺpcového grafu. V parametri Os možno budete chcieť použiť ID alebo Krok. Ak sa pozeráme na obnovenie, pretože to vôbec nefunguje s krokmi v samotnom Editore, pravdepodobne by sme sa chceli pozrieť len na ID. Pre parameter Legenda by ste mali nastaviť Kategóriu alebo Operáciu (v závislosti od požadovanej granularity). V prípade hodnoty nastavte Exclusive Duration (Exkluzívne trvanie) (a uistite sa, že nejde o %, aby ste získali nespracovanú hodnotu trvania). Nakoniec pre popis nastavte "Najskorší čas spustenia".

Po vytvorení vizualizácie sa uistite, že zoraďujete podľa najskoršieho počiatočného času vzostupne, aby ste mohli vidieť, v akom to prebieha.

Vizualizácia podrobností a časovej agregácie.

Aj keď sa vaše konkrétne potreby môžu líšiť, táto kombinácia grafov je vhodným miestom na začatie prezerania početných diagnostických súborov a na rôzne účely.

Interpretácia vizualizácií

Ako bolo uvedené vyššie, existuje veľa otázok, na ktoré sa môžete pokúsiť odpovedať pomocou diagnostiky dotazov, ale tieto dve otázky sa najčastejšie pýtajú, ako sa minie čas, a pýtajú sa, aký je dotaz odoslaný do zdroja.

Otázka, ako sa minie čas, je jednoduché a bude podobná aj pre väčšinu konektorov. Ako už bolo spomenuté inde, pri diagnostike dotazov sa zobrazí upozornenie, že v závislosti od konektora sa zobrazia drasticky odlišné možnosti. Napríklad mnoho konektorov založených na ODBC nebude mať presné zaznamenávanie toho, ktorý dotaz sa odošle do skutočného serverového systému, pretože doplnok Power Query vidí len to, čo odosiela ovládačU ODBC.

Ak chceme vidieť, ako sa minie čas, môžeme sa pozrieť len na vizualizácie, ktoré sme vytvorili vyššie.

Keďže hodnoty času pre vzorové dotazy, ktoré tu používame, sú také malé, ak chceme pracovať s tým, ako majú zostavy Power BI čas, je lepšie, ak skonvertujeme stĺpec Exclusive Duration (Exkluzívne trvanie ) na sekundy v editore Power Query. Po vykonaní tejto konverzie, môžeme sa pozrieť na náš graf a získať slušnú predstavu o tom, kde je strávený čas.

V prípade mojich výsledkov funkcie OData na obrázku vidím, že väčšina času bola vynaložená na načítavaní údajov zo zdroja – ak v legende vyberiem položku Zdroj údajov, zobrazia sa všetky rôzne operácie súvisiace s odoslaním dotazu do zdroja údajov.

Súhrn diagnostiky dotazov OData Northwind.

Ak vykonáme všetky rovnaké operácie a vytvoríme podobné vizualizácie, ale pri sledovaní SQL namiesto tých ODATA vidíme porovnanie týchto dvoch zdrojov údajov.

Súhrn diagnostiky dotazov OData Northwind so sledovaním SQL.

Ak vyberieme tabuľku Zdroj údajov, podobne ako v prípade diagnostiky ODATA, vidíme prvé vyhodnotenie (2.3 na tomto obrázku) vyžaruje dotazy metaúdajov, pričom druhé vyhodnotenie v skutočnosti načíta údaje, ktoré nás zaujímajú. Vzhľadom na to, že v tomto prípade načítavame malé množstvo údajov, získané údaje sa načítavajú trochu času (menej ako desatina sekundy, kým sa má vykonať celé druhé hodnotenie, pričom pri samotnom načítavaní údajov uplynie menej ako dvadsiata sekunda), ale to vo všetkých prípadoch nebude platiť.

Ako už bolo uvedené vyššie, ak chcete zobraziť vynechané dotazy, môžeme v legende vybrať kategóriu Zdroj údajov.

Kopanie údajov

Pri pohľade na programy

Ak sa na to pozeráte, zdá sa, že čas strávený zvláštnou vecou – napríklad v dotaze OData sa môže zobraziť dotaz zdroja údajov s nasledujúcou 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 zdroja údajov je priradený k operácii, ktorá zaberá napríklad 1 % výhradného trvania. Zatiaľ 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 zdroja údajov je spojený s operáciou, ktorá trvá takmer 75 % exkluzívneho trvania. Ak zapnete funkciu Path, zistíte, že táto je v skutočnosti dieťa toho bývalého. To znamená, že prvý dotaz pridal v podstate malé množstvo času, pričom skutočné načítanie údajov je sledované vnútorným dotazom.

Toto sú extrémne hodnoty, ale sú v medziach toho, čo sa môže zobraziť.