Dela via


Visualisera och tolka frågediagnostik i Power BI

Introduktion

När du har registrerat diagnostiken som du vill använda är nästa steg att kunna förstå vad de säger.

Det är bra att ha en bra förståelse för exakt vad varje kolumn i frågediagnostikschemat betyder, vilket vi inte kommer att upprepa i den här korta självstudien. Det finns en fullständig uppskrivning av det här.

I allmänhet är det bättre att använda den fullständiga detaljerade tabellen när du skapar visualiseringar. För oavsett hur många rader det är är det du förmodligen tittar på någon form av skildring av hur tiden i olika resurser läggs till eller vad den interna frågan som genereras var.

Som vi nämnde i vår artikel om att registrera diagnostiken arbetar jag med OData- och SQL-spårningar för samma tabell (eller nästan så) – tabellen Kunder från Northwind. I synnerhet kommer jag att fokusera på vanliga frågor från våra kunder, och en av de lättare att tolka uppsättningar av spårningar: fullständig uppdatering av datamodellen.

Skapa visualiseringarna

När du går igenom spårningar finns det många sätt att utvärdera dem. I den här artikeln ska vi fokusera på en två visualiseringsdelning – en för att visa information som du bryr dig om och den andra för att enkelt titta på tidsbidrag för olika faktorer. För den första visualiseringen används en tabell. Du kan välja vilka fält du vill, men de som rekommenderas för en enkel, övergripande titt på vad som händer är:

För den andra visualiseringen är ett val att använda ett staplat stapeldiagram. I parametern Axel kanske du vill använda "ID" eller "Step". Om vi tittar på uppdateringen, eftersom den inte har något att göra med steg i själva redigeraren, vill vi förmodligen bara titta på "ID". För parametern Förklaring bör du ange "Kategori" eller "Åtgärd" (beroende på vilken kornighet du vill ha). För värdet anger du "Exklusiv varaktighet" (och kontrollerar att det inte är %, så att du får värdet för råvaraktighet). För knappbeskrivningen anger du slutligen "Tidigast starttid".

När visualiseringen har skapats ska du sortera efter "Tidigaste starttid" stigande så att du kan se i vilken ordning saker händer.

Visualisering av information och tidsaggregering.

Även om dina exakta behov kan skilja sig åt är den här kombinationen av diagram ett bra ställe att börja med att titta på många diagnostikfiler och för ett antal syften.

Tolka visualiseringarna

Som nämnts ovan finns det många frågor som du kan försöka besvara med frågediagnostik, men de två som vi ser oftast frågar hur tid som spenderas och frågar vad frågan som skickas till källan är.

Det är enkelt att fråga hur mycket tid som spenderas och kommer att likna de flesta anslutningsappar. En varning med frågediagnostik, som nämnts någon annanstans, är att du ser drastiskt olika funktioner beroende på anslutningsappen. Många ODBC-baserade anslutningsappar har till exempel ingen korrekt inspelning av vilken fråga som skickas till det faktiska serverdelssystemet, eftersom Power Query bara ser vad den skickar till ODBC-drivrutinen.

Om vi vill se hur tiden går till kan vi bara titta på de visualiseringar som vi skapade ovan.

Eftersom tidsvärdena för de exempelfrågor som vi använder här är så små, om vi vill arbeta med hur Power BI rapporterar tid är det bättre om vi konverterar kolumnen Exklusiv varaktighet till Sekunder i Power Query-redigeraren. När vi gör den här konverteringen kan vi titta på vårt diagram och få en bra uppfattning om var tiden spenderas.

För mina OData-resultat ser jag i bilden att den största delen av tiden ägnades åt att hämta data från källan – om jag väljer objektet Datakälla i förklaringen visas alla olika åtgärder som rör att skicka en fråga till datakällan.

Sammanfattning av OData Northwind-frågediagnostik.

Om vi utför samma åtgärder och skapar liknande visualiseringar, men med SQL-spårningar i stället för ODATA,kan vi se hur de två datakällorna jämförs!

OData Northwind Frågediagnostiksammanfattning med SQL-spårningar.

Om vi väljer tabellen Datakälla, som med ODATA-diagnostiken, kan vi se att den första utvärderingen (2.3 i den här bilden) genererar metadatafrågor, där den andra utvärderingen faktiskt hämtar de data vi bryr oss om. Eftersom vi hämtar små mängder data i det här fallet tar data som hämtas tillbaka en liten tid (mindre än en tiondel av en sekund för att hela den andra utvärderingen ska ske, med mindre än en tjugonde sekund för själva datahämtningen), men det är inte sant i alla fall.

Som ovan kan vi välja kategorin "Datakälla" i förklaringen för att se de frågor som genereras.

Gräva i data

Titta på sökvägar

Om det verkar som om tiden som spenderas är konstig kan du till exempel se att det finns en datakällafråga med följande värde i OData-frågan:

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>

Den här datakällans fråga är associerad med en åtgärd som bara tar upp till exempel 1 % av den exklusiva varaktigheten. Under tiden finns det en liknande:

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

Den här datakällans fråga är associerad med en åtgärd som tar upp nästan 75 % av den exklusiva varaktigheten. Om du aktiverar Sökvägen upptäcker du att den senare faktiskt är ett barn till den förra. Det innebär att den första frågan i princip har lagt till en liten tid på egen hand, där den faktiska datahämtningen spåras av den "inre" frågan.

Det här är extrema värden, men de ligger inom gränserna för vad som kan ses.