Forespørgselsdiagnosticering

Med Forespørgselsdiagnosticering kan du opnå en bedre forståelse af, hvad Power Query gør ved oprettelse og opdatering i Power BI Desktop. Selvom vi udvider denne funktion i fremtiden, herunder tilføjelse af muligheden for at bruge den under fulde opdateringer, kan du på nuværende tidspunkt bruge den til at forstå, hvilken type forespørgsler du udsender, hvilke langsommere handlinger du kan støde på under oprettelse af opdatering, og hvilken type baggrundshændelser der sker.

Hvis du vil bruge Forespørgselsdiagnosticering, skal du gå til fanen Funktioner på båndet i Power Query-editor.

Forespørgselsdiagnosticering.

Forespørgselsdiagnosticering kan som standard kræve administrative rettigheder for at køre (afhængigt af it-politik). Hvis du ikke kan køre Forespørgselsdiagnosticering, skal du åbne siden Power BI-indstillinger og vælge Aktivér i Power Query-editor (kræver ikke kørsel som administrator) under fanen Diagnosticering. Dette valg begrænser dig fra at kunne spore diagnosticering, når du udfører en fuld opdatering i Power BI i stedet for Power Query-editoren, men giver dig mulighed for stadig at bruge den, når du får forhåndsvist, opretter osv.

Indstillinger for forespørgselsdiagnosticering.

Når du starter diagnosticering, begynder Power Query at spore de evalueringer, du forårsager. Den evaluering, som de fleste brugere tænker på, er, når du trykker på Opdater, eller når du henter data for første gang, men der er mange handlinger, der kan medføre evalueringer, afhængigt af connectoren. Når du f.eks. henter en liste over værdier, der skal filtreres, med SQL-connectoren, vil det også starte en evaluering – men den knyttes ikke til en brugerforespørgsel, og den repræsenteres i diagnosticeringen. Andre systemoprettede forespørgsler kan omfatte navigatoren eller hent dataoplevelsen.

Når du trykker på Diagnosticer trin, kører Power Query en særlig evaluering af netop det trin, du ser på. Derefter vises diagnosticeringen for det pågældende trin uden at vise dig diagnosticeringen for andre trin i forespørgslen. Dette kan gøre det meget nemmere at få en smal visning ind i et problem.

Det er vigtigt, at hvis du optager alle sporinger fra Start diagnosticering, skal du trykke på Stop diagnosticering. Hvis diagnosticering stoppes, kan programmet indsamle de registrerede spor og fortolke dem i det korrekte output. Uden dette trin mister du dine sporinger.

Typer af diagnosticering

Vi tilbyder i øjeblikket tre typer diagnosticering, hvoraf den ene har to detaljeniveauer.

Den første af disse diagnosticering er den primære diagnosticering, som har en detaljeret visning og en opsummeret visning. Den opsummerede visning er beregnet til at give dig en øjeblikkelig indsigt i, hvor tiden bruges i din forespørgsel. Den detaljerede visning er meget dybere, linje for linje, og er generelt kun nødvendig for alvorlige diagnosticering af superbrugere.

I denne visning er nogle funktioner, f.eks. kolonnen Datakildeforespørgsel, i øjeblikket kun tilgængelige på visse connectors. Vi arbejder på at udvide bredden af denne dækning i fremtiden.

Partitioner til beskyttelse af personlige oplysninger giver dig en bedre forståelse af de logiske partitioner, der bruges til beskyttelse af personlige oplysninger.

Bemærk

Power Query kan udføre evalueringer, som du muligvis ikke har udløst direkte. Nogle af disse evalueringer udføres for at hente metadata, så vi bedst kan optimere vores forespørgsler eller give en bedre brugeroplevelse (f.eks. hentning af listen over entydige værdier i en kolonne, der vises i oplevelsen Filtrer rækker). Andre kan være relateret til, hvordan en connector håndterer parallelle evalueringer. Hvis du samtidig i din forespørgselsdiagnosticering ser gentagne forespørgsler, som du ikke mener giver mening, er du velkommen til at kontakte via normale supportkanaler – din feedback er den måde, vi forbedrer vores produkt på.

Opsummeret vs. detaljeret visning

Forespørgselsdiagnosticering indeholder to visninger: opsummeret og detaljeret. Den opsummerede visning "skjuler" flere relaterede handlinger i en enkelt handling. I denne proces kombineres oplysninger, der indsamles af hver handling, og de eksklusive varigheder lægges sammen. Ingen oplysninger går tabt som en del af denne proces.

Den opsummerede visning giver et overblik over, hvad der skete under en evaluering, så det er nemt at gennemse på højt niveau. Hvis der ønskes yderligere opdeling for en bestemt handling, kan brugeren se på gruppe-id'et og få vist de tilsvarende handlinger, der er grupperet i detaljevisningen.

Forklaring af flere evalueringer

Når du opdaterer i Power Query-editoren, er der gjort meget bag kulisserne for at forsøge at give dig en flydende brugeroplevelse. Når du f.eks. opdaterer prøveversionen, udfører evaluatoren det sidste trin i hver forespørgsel. Men i baggrunden kører den sekventielt n-1 trin, n-2, trin osv., så hvis du går tilbage gennem dine trin, er den allerede tilgængelig.

For at give en højere ydeevne sker der i øjeblikket en del cachelagring, så den ikke behøver at køre alle dele af den endelige forespørgselsplan igen, når den gennemgår trinnene igen. Selvom denne cachelagring er nyttig til normal oprettelse, betyder det, at du ikke altid får korrekte sammenligningsoplysninger for trin på grund af senere evalueringer, der trækker på cachelagrede data.

Diagnosticeringsskema

Id

Når du analyserer resultaterne af en optagelse, er det vigtigt at filtrere optagelsessessionen efter Id, så kolonner som Eksklusiv varighed i % giver mening.

Id'et er et sammensat id. Det er dannet af to tal – et før punktummet og et efter. Det første tal er det samme for alle evalueringer, der er resultatet af en enkelt brugerhandling. Med andre ord, hvis du trykker på Opdater to gange, vil der være to forskellige tal, der fører punktummet, et for hver brugeraktivitet, der er taget. Denne nummerering er sekventiel for en given diagnosticeringsoptagelse.

Det andet tal repræsenterer en evaluering af programmet. Dette tal er sekventielt for levetiden for den proces, hvor evalueringen er sat i kø. Hvis du kører flere diagnosticeringsoptagelsessessioner, kan du se, at dette tal fortsætter med at vokse på tværs af de forskellige sessioner.

Hvis du starter optagelsen, trykker på evaluering én gang og stopper optagelsen, har du et vist antal id'er i din diagnosticering. Men da du kun tog én handling, vil de alle være 1.1, 1.2, 1.3 osv.

Kombinationen af activityId og evaluationId adskilt af punktummet giver et entydigt id for en evaluering af en enkelt optagelsessession.

Anmodning

Navnet på forespørgslen i ruden til venstre i Power Query-editor.

Trin

Navnet på trinnet i ruden til højre i Power Query-editor. Ting som filterrullelister knytter sig generelt til det trin, du filtrerer efter, også selvom du ikke opdaterer trinnet.

Kategori

Kategorien for handlingen.

Datakildetype

Dette fortæller dig, hvilken type datakilde du har adgang til, f.eks. SQL eller Oracle.

Handling

Den faktiske handling, der udføres. Denne handling kan omfatte evalueringsarbejde, åbning af forbindelser, afsendelse af forespørgsler til datakilden og mange flere.

Starttidspunkt

Det tidspunkt, hvor handlingen startede.

Sluttidspunkt

Det tidspunkt, hvor handlingen blev afsluttet.

Eksklusiv varighed (%)

Kolonnen Exclusive Duration for en hændelse er den tid, hændelsen var aktiv. Dette står i kontrast til den værdi for "varighed", der stammer fra fratrækning af værdierne i kolonnen Starttidspunkt for en hændelse og kolonnen Sluttidspunkt. Denne værdi for "varighed" repræsenterer den samlede tid, der er gået mellem, hvornår en hændelse begyndte, og hvornår den sluttede, hvilket kan omfatte tidspunkter, hvor hændelsen var i en suspenderet eller inaktiv tilstand, og en anden hændelse brugte ressourcer.

Eksklusiv varighed i % lægger op til ca. 100 % i en given evaluering, som repræsenteret af kolonnen Id. Hvis du f.eks. filtrerer efter rækker med id'et 1.x, vil procenterne for Eksklusiv varighed blive opsummeret til ca. 100 %. Dette er ikke tilfældet, hvis du opsummerer værdierne eksklusiv varighed i % for alle rækker i en given diagnosticeringstabel.

Eksklusiv varighed

Den absolutte tid i stedet for %, der er eksklusiv varighed. Den samlede varighed (dvs. eksklusiv varighed + tid, når hændelsen var inaktiv) for en evaluering kan beregnes på to måder:

  • Find den handling, der kaldes "Evaluering". Forskellen mellem Sluttidspunkt og Starttidspunkt resulterer i den samlede varighed af en hændelse.

  • Træk minimumstarttidspunktet for alle handlinger i en hændelse fra den maksimale sluttid. Bemærk, at i tilfælde, hvor de oplysninger, der indsamles for en hændelse, ikke tager højde for den samlede varighed, genereres der en handling med navnet "Sporhuller" for at tage højde for dette tidsforskydning.

Ressource

Den ressource, du får adgang til til data. Det nøjagtige format af denne ressource afhænger af datakilden.

Datakildeforespørgsel

Power Query gør noget, der kaldes foldning, hvilket er den handling, der kører så mange dele af forespørgslen mod back end-datakilden som muligt. I Direct Query-tilstand (via Power Query), hvor det er aktiveret, kan du kun transformere den pågældende fold. I importtilstand køres transformationer, der ikke kan foldes, i stedet lokalt.

Kolonnen Datakildeforespørgsel giver dig mulighed for at se forespørgslen eller HTTP-anmodningen/svaret, der er sendt mod back end-datakilden. Når du opretter din forespørgsel i editoren, udsendes der mange datakildeforespørgsler. Nogle af disse er den faktiske endelige datakildeforespørgsel til gengivelse af eksempelvisningen, men andre kan være til dataprofilering, filterrullelister, oplysninger om joinforbindelser, hentning af metadata for skemaer og et vilkårligt antal andre små forespørgsler.

Generelt bør du ikke være bekymret over antallet af udsendte datakildeforespørgsler, medmindre der er specifikke grunde til at være bekymret. I stedet skal du fokusere på at sikre, at det korrekte indhold hentes. Denne kolonne kan også hjælpe med at afgøre, om Power Query-evalueringen er fuldt foldet.

Yderligere oplysninger

Der er mange oplysninger, der hentes af vores connectors. Meget af det er ujævnt og passer ikke godt ind i et standardkolonnehierarki. Disse oplysninger placeres i en post i kolonnen med yderligere oplysninger. Oplysninger, der er logført fra brugerdefinerede connectors, vises også her.

Rækkeantal

Det antal rækker, der returneres af en datakildeforespørgsel. Ikke aktiveret for alle connectors.

Indholdslængde

Indholdslængde, der returneres af HTTP-anmodninger, som almindeligt defineret. Dette er ikke aktiveret i alle connectors, og det vil ikke være nøjagtigt for connectors, der henter anmodninger i dele.

Er brugerforespørgsel

En boolesk værdi, der angiver, om det er en forespørgsel, der er oprettet af brugeren og til stede i ruden til venstre, eller om den blev genereret af en anden brugerhandling. Andre brugerhandlinger kan omfatte ting som valg af filter eller brug af navigatoren i hent dataoplevelsen.

Sti

Path repræsenterer den relative rute for handlingen, når den vises som en del af et intervaltræ for alle handlinger i en enkelt evaluering. Øverst i træet (roden) findes der en enkelt handling med navnet Evaluering med stien "0". Starttidspunktet for denne evaluering svarer til starten af denne evaluering som helhed. Sluttidspunktet for denne evaluering viser, hvornår hele evalueringen er afsluttet. Denne handling på øverste niveau har en eksklusiv varighed på 0, da den kun har til formål at fungere som roden af træet.

Yderligere handlingsgren fra roden. En handling kan f.eks. have "0/1/5" som en sti. Denne sti vil blive opfattet som:

  • 0: trærod
  • 1: den aktuelle handlings overordnede
  • 5: indeks for den aktuelle handling

Handlingen "0/1/5" kan have en underordnet node, i hvilket tilfælde stien har formatet "0/1/5/8", hvor 8 repræsenterer indekset for det underordnede element.

Gruppe-id

Hvis du kombinerer to (eller flere) handlinger, sker det ikke, hvis det medfører tab af detaljer. Gruppering er designet til omtrentlige "kommandoer", der udføres under evalueringen. I den detaljerede visning deler flere handlinger et gruppe-id, der svarer til de grupper, der er samlet i oversigtsvisningen.

Som med de fleste kolonner er gruppe-id'et kun relevant i en bestemt evaluering, som filtreret efter kolonnen Id.

Skema over partitioner til beskyttelse af personlige oplysninger

Id

Det samme som id'et for de andre resultater af forespørgselsdiagnosticering. Heltalsdelen repræsenterer et enkelt aktivitets-id, mens brøkdelen repræsenterer en enkelt evaluering.

Partitionsnøgle

Svarer til den forespørgsel/det trin, der bruges som en firewallpartition.

Firewallgruppe

Kategorisering, der forklarer, hvorfor denne partition skal evalueres separat, herunder oplysninger om niveauet for beskyttelse af personlige oplysninger for partitionen.

Ressourcer, der er adgang til

Liste over ressourcestier for alle de ressourcer, som denne partition har adgang til, og identificerer generelt entydigt en datakilde.

Partitionsinput

Liste over partitionsnøgler, som den aktuelle partition afhænger af (denne liste kan bruges til at oprette en graf).

Udtryk

Det udtryk, der evalueres oven på partitionens forespørgsel/trin. I flere tilfælde falder den sammen med forespørgslen/trinnet.

Starttidspunkt

Det tidspunkt, hvor evalueringen startede for denne partition.

Sluttidspunkt

Det tidspunkt, hvor evalueringen sluttede for denne partition.

Varighed

En værdi, der er afledt af Sluttidspunkt minus Starttidspunkt.

Eksklusiv varighed

Hvis partitioner antages at blive udført i en enkelt tråd, er eksklusiv varighed den "reelle" varighed, der kan tilskrives denne partition.

Eksklusiv varighed i %

Eksklusiv varighed som en procentdel.

Diagnosticering

Denne kolonne vises kun, når forespørgselsdiagnosticering "Aggregeret" eller "Detaljeret" også registreres, hvilket gør det muligt for brugeren at svare mellem de to diagnosticeringsoutput.

Skema over ydelsestællere

Når du kører ydelsestællere, tager Power Query hvert halve sekund et snapshot af ressourceudnyttelsen. Dette snapshot er ikke nyttigt til meget hurtige forespørgsler, men kan være nyttigt for forespørgsler, der bruger mange flere ressourcer.

% processortid

Procentdel af tid, som processorer bruger på forespørgslen. Denne procentdel kan nå over 100 % på grund af flere processorer.

Samlet processortid

Den samlede varighed af processortiden, der er brugt på forespørgslen.

IO-databyte pr. sekund

Dataoverførselshastighed, der modtages fra datakilden, udtrykt i byte pr. sekund.

Bekræft (byte)

Mængden af virtuel hukommelse, der er reserveret af evalueringen.

Arbejdssæt (byte)

Mængden af hukommelse, der er reserveret af evalueringen.

Yderligere læsning

Sådan registrerer du diagnosticering i forskellige use cases

Mere om at læse og visualisere dine registrerede sporinger

Sådan forstår du, hvilke forespørgselshandlinger der foldes ved hjælp af Forespørgselsdiagnosticering