Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Introduction
Keď už zaznamenáte diagnostiku, ktorú chcete použiť, ďalším krokom je vedieť pochopiť, čo hovoria.
Je užitočné mať dobré pochopenie toho, čo presne znamená každý stĺpec v schéme diagnostiky dotazov, čo v tomto krátkom tutoriáli nebudeme opakovať. Kompletný prehľad o tom nájdete tu.
Vo všeobecnosti je pri tvorbe vizualizácií lepšie použiť celú detailnú tabuľku. Pretože bez ohľadu na počet riadkov, pravdepodobne sa pozeráte na nejaký obraz toho, ako sa čas strávený v rôznych zdrojoch sčíta, alebo aký bol natívny dotaz.
Ako sme spomenuli v našom článku o zaznamenávaní diagnostiky, pracujem s OData a SQL stopami pre tú istú tabuľku (alebo takmer tak) – tabuľku Zákazníci od Northwind. Konkrétne sa zameriam na bežné požiadavky od našich zákazníkov a na jednu z ľahšie interpretovateľných sád stôp: úplné obnovenie dátového modelu.
Vytváranie vizualizácií
Keď prechádzate stopy, existuje mnoho spôsobov, ako ich môžete vyhodnotiť. V tomto článku sa zameriame na rozdelenie dvoch vizualizácií – jednu na ukázanie detailov, na ktorých vám záleží, a druhú na jednoduché sledovanie časových príspevkov rôznych faktorov. Pre prvú vizualizáciu sa používa tabuľka. Môžete si vybrať akékoľvek odbory, ktoré chcete, ale tie, ktoré sú odporúčané pre jednoduchý, všeobecný pohľad na dianie, sú:
- Id
- Čas začiatku
- Otázka
- Krok
- Dotaz na zdroj dát
- Exkluzívne trvanie (%)
- Počet riadkov
- Kategória
- Je používateľský dotaz
- Cestička
Pre druhú vizualizáciu je jednou z možností použiť Stacked Column Chart. V parametri 'Axis' môžete použiť 'Id' alebo 'Step'. Ak sa pozeráme na Refresh, pretože nemá nič spoločné s krokmi priamo v Editore, pravdepodobne sa chceme pozrieť len na 'Id'. Pre parameter 'Legend' by ste mali nastaviť 'Kategória' alebo 'Operácia' (v závislosti od požadovanej detailnosti). Pre 'Hodnotu' nastavte 'Exkluzívne trvanie' (a uistite sa, že to nie je %, aby ste získali surovú hodnotu trvania). Nakoniec, pre tooltip nastavte ' Najskorší čas začiatku'.
Keď je vizualizácia hotová, uistite sa, že zoradíte podľa ' Najskoršieho času začiatku' vzostupne, aby ste videli poradie, v akom sa veci dejú.
Aj keď sa vaše presné potreby môžu líšiť, táto kombinácia grafov je dobrým východiskom na prezeranie rôznych diagnostických súborov a na rôzne účely.
Interpretácia vizualizácií
Ako už bolo spomenuté, existuje mnoho otázok, na ktoré môžete odpovedať pomocou diagnostiky dotazov, ale najčastejšie vidíme otázky, ako sa trávi čas a aký je dotaz odoslaný zdroju.
Pýtať sa, ako trávite čas, je jednoduché a bude to podobné pre väčšinu konektorov. Varovanie pri diagnostike dotazov, ako bolo spomenuté inde, je, že uvidíte výrazne odlišné schopnosti v závislosti od konektora. Napríklad mnohé ODBC konektory nemajú presný záznam toho, aký dotaz sa posiela do samotného back-end systému, pretože Power Query vidí len to, čo posiela do ODBC ovládača.
Ak chceme vidieť, ako je čas strávený, môžeme sa jednoducho pozrieť na vizualizácie, ktoré sme vytvorili vyššie.
Keďže časové hodnoty pre ukážkové dotazy, ktoré tu používame, sú také malé, ak chceme pracovať s tým, ako Power BI hlási čas, je lepšie previesť stĺpec Exkluzívneho trvania na 'Sekundy' v Power Query editore. Keď túto konverziu urobíme, môžeme sa pozrieť na náš graf a získať dobrú predstavu o tom, kde sa čas trávi.
Pri mojich OData výsledkoch vidím na obrázku, že drvivá väčšina času bola venovaná získavaniu dát zo zdroja – ak vyberiem položku 'Zdroj dát' v legende, zobrazí sa mi všetky rôzne operácie súvisiace so zasielaním dotazu do zdroja dát.
Ak vykonáme všetky rovnaké operácie a vytvoríme podobné vizualizácie, ale s SQL stopami namiesto ODATA, môžeme vidieť, ako sa tieto dva zdroje údajov porovnavajú!
Ak vyberieme tabuľku Data Source, podobne ako pri diagnostike ODATA, vidíme, že prvé vyhodnotenie (2.3 na tomto obrázku) generuje dotazy na metadáta, zatiaľ čo druhé vyhodnotenie skutočne získava dáta, na ktorých nám záleží. Keďže v tomto prípade získavame malé množstvá dát, stiahnuté dáta zaberú krátky čas (menej ako desatinu sekundy na celé druhé vyhodnotenie, menej ako dvadsiatinu sekundy na samotné získanie dát), ale to nebude platiť vo všetkých prípadoch.
Ako vyššie, môžeme vybrať kategóriu 'Zdroj dát' v legende, aby sme videli vygenerované dotazy.
Ponorenie sa do dát
Pohľad na cesty
Keď sa na to pozeráte, ak sa vám zdá, že čas strávený je zvláštny – napríklad pri dotaze OData môžete vidieť, že existuje dotaz na zdroj dát 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 na zdroj dát je spojený s operáciou, ktorá zaberá napríklad len 1% exkluzívneho trvania. Medzitým existuje podobný prípad:
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 dát je spojený s operáciou, ktorá zaberá takmer 75% exkluzívneho trvania. Ak zapnete Cestu, zistíte, že tá druhá je vlastne dieťaťom tej prvej. To znamená, že prvý dotaz v podstate pridal malý čas sám o sebe, pričom samotné získavanie dát sledoval "vnútorný" dotaz.
Sú to extrémne hodnoty, ale sú v medziach toho, čo možno vidieť.