Share via


Diagnostische gegevens opvragen

Met querydiagnose kunt u een beter inzicht krijgen in wat Power Query doet bij het ontwerpen en vernieuwen in Power BI Desktop. Hoewel we deze functie in de toekomst gaan uitbreiden, inclusief het toevoegen van de mogelijkheid om deze te gebruiken tijdens volledige vernieuwingen, kunt u deze op dit moment gebruiken om te begrijpen wat voor soort query's u verzendt, welke vertragingen u kunt tegenkomen tijdens het vernieuwen van de creatie en wat voor achtergrondgebeurtenissen er gebeuren.

Als u Querydiagnose wilt gebruiken, gaat u naar het tabblad Extra op het lint van de Power Query-editor.

Querydiagnose.

Querydiagnose vereist standaard mogelijk dat beheerdersrechten worden uitgevoerd (afhankelijk van IT-beleid). Als u geen querydiagnose kunt uitvoeren, opent u de pagina met Power BI-opties en selecteert u Inschakelen in Power Query-editor (hoeft niet als beheerder te worden uitgevoerd). Met deze selectie kunt u geen diagnostische gegevens traceren bij het uitvoeren van een volledige vernieuwing in Power BI in plaats van de Power Query-editor, maar kunt u deze nog steeds gebruiken bij het bekijken, ontwerpen, enzovoort.

Opties voor querydiagnose.

Wanneer u diagnostische gegevens start, begint Power Query met het traceren van eventuele evaluaties die u veroorzaakt. De evaluatie waarvan de meeste gebruikers denken, is wanneer u op vernieuwen drukt of wanneer u gegevens voor het eerst ophaalt, maar er zijn veel acties die evaluaties kunnen veroorzaken, afhankelijk van de connector. Als u bijvoorbeeld met de SQL-connector een lijst met waarden ophaalt om te filteren, wordt er ook een evaluatie gestart, maar wordt deze niet gekoppeld aan een gebruikersquery en die wordt weergegeven in de diagnostische gegevens. Andere door het systeem gegenereerde query's kunnen de navigator of de ervaring voor het ophalen van gegevens bevatten.

Wanneer u op Diagnosestap drukt, voert Power Query een speciale evaluatie uit van alleen de stap die u bekijkt. Vervolgens ziet u de diagnostische gegevens voor die stap, zonder dat u de diagnostische gegevens voor andere stappen in de query hoeft weer te geven. Dit kan het veel gemakkelijker maken om een beperkt beeld te krijgen van een probleem.

Het is belangrijk dat als u alle traceringen van startdiagnose opneemt en u op Diagnostische gegevens stoppen drukt. Door de diagnostische gegevens te stoppen, kan de engine de vastgelegde traceringen verzamelen en deze parseren in de juiste uitvoer. Zonder deze stap verliest u uw traceringen.

Typen diagnostische gegevens

We bieden momenteel drie typen diagnostische gegevens, waarvan er twee detailniveaus zijn.

De eerste van deze diagnostische gegevens zijn de primaire diagnostische gegevens, die een gedetailleerde weergave en een samengevatte weergave hebben. De samengevatte weergave is bedoeld om u direct inzicht te geven in de tijd die in uw query wordt besteed. De gedetailleerde weergave is veel dieper, lijn per regel en is in het algemeen alleen nodig voor ernstige diagnose door hoofdgebruikers.

Voor deze weergave zijn sommige mogelijkheden, zoals de kolom Gegevensbronquery, momenteel alleen beschikbaar voor bepaalde connectors. We werken eraan om de breedte van deze dekking in de toekomst uit te breiden.

Gegevensprivacypartities bieden u een beter inzicht in de logische partities die worden gebruikt voor gegevensprivacy.

Notitie

Power Query kan evaluaties uitvoeren die u mogelijk niet rechtstreeks hebt geactiveerd. Sommige van deze evaluaties worden uitgevoerd om metagegevens op te halen, zodat we onze query's het beste kunnen optimaliseren of om een betere gebruikerservaring te bieden (zoals het ophalen van de lijst met afzonderlijke waarden in een kolom die wordt weergegeven in de ervaring Filterrijen). Andere zijn mogelijk gerelateerd aan de manier waarop een connector parallelle evaluaties verwerkt. Tegelijkertijd kunt u, als u in uw querydiagnose herhaalde query's ziet die u niet logisch vindt, contact opnemen via normale ondersteuningskanalen. Uw feedback is hoe we ons product verbeteren.

Samengevatte versus gedetailleerde weergave

Querydiagnose biedt twee weergaven: samengevat en gedetailleerd. In de samengevatte weergave worden meerdere gerelateerde bewerkingen samengevouwen tot één bewerking. In dit proces worden de gegevens die door elke bewerking worden verzameld, gecombineerd en worden de exclusieve duur opgeteld. Er gaan geen gegevens verloren als onderdeel van dit proces.

De samengevatte weergave biedt een overzicht van wat er is gebeurd tijdens een evaluatie voor eenvoudige evaluatie op hoog niveau. Als u een verdere uitsplitsing wilt uitvoeren voor een specifieke bewerking, kan de gebruiker de groeps-id bekijken en de bijbehorende bewerkingen bekijken die zijn gegroepeerd in de detailweergave.

Meerdere evaluaties uitleggen

Wanneer u vernieuwt in de Power Query-editor, is er achter de schermen veel gedaan om u een vloeiende gebruikerservaring te bieden. Wanneer u voorbeeld vernieuwt, voert de evaluator de laatste stap van elke opgegeven query uit. Maar daarna worden op de achtergrond n-1 stappen, n-2, stappen enzovoort uitgevoerd, zodat als u teruggaat met uw stappen, deze al beschikbaar is.

Om betere prestaties te bieden, gebeurt er momenteel wat caching, zodat het niet elk deel van het uiteindelijke queryplan opnieuw hoeft uit te voeren terwijl deze door de stappen gaat. Hoewel deze caching handig is voor normale creatie, betekent dit dat u niet altijd de juiste informatie over stapvergelijking krijgt vanwege latere evaluaties die gegevens in de cache ophalen.

Diagnostisch schema

ID

Bij het analyseren van de resultaten van een opname is het belangrijk dat u de opnamesessie filtert op id, zodat kolommen zoals Exclusief duurpercentage zinvol zijn.

Id is een samengestelde id. Het bestaat uit twee getallen: één voor de stip en één na. Het eerste getal is hetzelfde voor alle evaluaties die het gevolg zijn van één gebruikersactie. Met andere woorden, als u tweemaal op vernieuwen drukt, zijn er twee verschillende getallen voor de punt, één voor elke gebruikersactiviteit. Deze nummering is opeenvolgend voor een bepaalde diagnostische opname.

Het tweede getal vertegenwoordigt een evaluatie door de engine. Dit getal is sequentieel gedurende de levensduur van het proces waarin de evaluatie in de wachtrij wordt geplaatst. Als u meerdere diagnostische opnamesessies uitvoert, ziet u dat dit aantal blijft groeien in de verschillende sessies.

Als u wilt samenvatten, drukt u eenmaal op evaluatie en stopt u met opnemen, dan hebt u een aantal id's in uw diagnostische gegevens. Maar omdat je maar één actie hebt ondernomen, zijn ze allemaal 1.1, 1.2, 1.3, enzovoort.

De combinatie van de activityId en de evaluationId, gescheiden door de stip, biedt een unieke id voor een evaluatie van één opnamesessie.

Query

De naam van de query in het linkerdeelvenster van de Power Query-editor.

Stap

De naam van de stap in het rechterdeelvenster van de Power Query-editor. Dingen zoals filtervervolgkeuzelijsten koppelen meestal aan de stap waarop u filtert, zelfs als u de stap niet vernieuwt.

Categorie

De categorie van de bewerking.

Soort gegevensbron

Hiermee wordt aangegeven wat voor soort gegevensbron u opent, zoals SQL of Oracle.

Operation

De werkelijke bewerking die wordt uitgevoerd. Deze bewerking kan bestaan uit evaluatorwerk, het openen van verbindingen, het verzenden van query's naar de gegevensbron en nog veel meer.

Begintijd

Het tijdstip waarop de bewerking is gestart.

Eindtijd

Het tijdstip waarop de bewerking is beëindigd.

Exclusieve duur (%)

De kolom Exclusieve duur van een gebeurtenis is de tijdsduur waarop de gebeurtenis actief was. Dit contrasteert met de waarde 'duur' die het resultaat is van het aftrekken van de waarden in de kolom Begintijd van een gebeurtenis en de kolom Eindtijd. Deze 'duur'-waarde vertegenwoordigt de totale tijd die is verstreken tussen het moment waarop een gebeurtenis is begonnen en wanneer deze is beëindigd. Dit kan bijvoorbeeld de tijd omvatten waarop de gebeurtenis zich in een onderbroken of inactieve status bevindt en een andere gebeurtenis resources verbruikt.

Het exclusieve duurpercentage telt maximaal 100% op binnen een bepaalde evaluatie, zoals vertegenwoordigd door de kolom Id. Als u bijvoorbeeld filtert op rijen met id 1.x, worden de percentages exclusieve duur opgeteld tot ongeveer 100%. Dit is niet het geval als u de waarden voor exclusief duurpercentage van alle rijen in een bepaalde diagnostische tabel optelt.

Exclusieve duur

De absolute tijd, in plaats van %, van exclusieve duur. De totale duur (dus exclusieve duur + tijd waarop de gebeurtenis inactief was) van een evaluatie kan op twee manieren worden berekend:

  • Zoek de bewerking met de naam Evaluatie. Het verschil tussen eindtijd en begintijd resulteert in de totale duur van een gebeurtenis.

  • Trek de minimale begintijd van alle bewerkingen in een gebeurtenis af van de maximale eindtijd. Houd er rekening mee dat in gevallen waarin de gegevens die voor een gebeurtenis worden verzameld geen rekening houden met de totale duur, een bewerking met de naam 'Hiaten traceren' wordt gegenereerd om rekening te houden met deze tijdsverschil.

Bron

De resource die u voor gegevens opent. De exacte indeling van deze resource is afhankelijk van de gegevensbron.

Gegevensbronquery

Power Query doet iets met de naam Folding. Dit is het uitvoeren van zoveel mogelijk onderdelen van de query op de back-endgegevensbron. In de Direct Query-modus (via Power Query), waar ingeschakeld, worden alleen transformaties uitgevoerd die vouw. In de importmodus worden transformaties die niet kunnen worden gevouwen, lokaal uitgevoerd.

Met de kolom Gegevensbronquery kunt u de query of de HTTP-aanvraag/-reactie zien die is verzonden op basis van de back-endgegevensbron. Wanneer u uw query in de editor ontwerpt, worden er veel query's voor gegevensbronnen verzonden. Sommige hiervan zijn de werkelijke uiteindelijke gegevensbronquery om de preview weer te geven, maar andere kunnen betrekking hebben op gegevensprofilering, filtervervolgkeuzelijsten, informatie over joins, het ophalen van metagegevens voor schema's en een willekeurig aantal andere kleine query's.

Over het algemeen hoeft u zich geen zorgen te maken over het aantal gegevensbronquery's dat wordt verzonden, tenzij er specifieke redenen zijn om u zorgen te maken. In plaats daarvan moet u zich richten op het controleren of de juiste inhoud wordt opgehaald. Deze kolom kan ook helpen bepalen of de Power Query-evaluatie volledig is gevouwen.

Aanvullende informatie

Er is veel informatie opgehaald door onze connectors. Veel ervan is onregelmatig en past niet goed in een standaardkolomhiërarchie. Deze informatie wordt in een record in de kolom aanvullende informatie geplaatst. Informatie die is vastgelegd vanuit aangepaste connectors, wordt hier ook weergegeven.

Aantal rijen

Het aantal rijen dat wordt geretourneerd door een gegevensbronquery. Niet ingeschakeld voor alle connectors.

Lengte van inhoud

Inhoudslengte die wordt geretourneerd door HTTP-aanvragen, zoals vaak gedefinieerd. Dit is niet ingeschakeld in alle connectors en is niet juist voor connectors die aanvragen in segmenten ophalen.

Is gebruikersquery

Een Booleaanse waarde die aangeeft of het een query is die is gemaakt door de gebruiker en aanwezig is in het linkerdeelvenster, of als deze is gegenereerd door een andere gebruikersactie. Andere gebruikersacties kunnen zaken bevatten zoals filterselectie of het gebruik van de navigator in de ervaring voor het ophalen van gegevens.

Pad

Het pad vertegenwoordigt de relatieve route van de bewerking wanneer deze wordt weergegeven als onderdeel van een intervalstructuur voor alle bewerkingen binnen één evaluatie. Bovenaan (hoofdmap) van de structuur bevindt zich één bewerking met de naam Evaluatie met pad 0. De begintijd van deze evaluatie komt overeen met het begin van deze evaluatie als geheel. De eindtijd van deze evaluatie geeft aan wanneer de hele evaluatie is voltooid. Deze bewerking op het hoogste niveau heeft een exclusieve duur van 0, omdat het enige doel is om te dienen als de wortel van de boom.

Verdere bewerkingsvertakking vanuit de hoofdmap. Een bewerking kan bijvoorbeeld '0/1/5' hebben als pad. Dit pad wordt begrepen als:

  • 0: boomwortel
  • 1: bovenliggende bewerking van de huidige bewerking
  • 5: index van de huidige bewerking

Bewerking '0/1/5' kan een onderliggend knooppunt hebben. In dat geval heeft het pad de vorm '0/1/5/8', met 8 die de index van het onderliggende item vertegenwoordigt.

Groeps-id

Het combineren van twee (of meer) bewerkingen vindt niet plaats als dit leidt tot detailverlies. De groepering is ontworpen om 'opdrachten' bij benadering uit te voeren tijdens de evaluatie. In de gedetailleerde weergave delen meerdere bewerkingen een groeps-id, die overeenkomt met de groepen die zijn samengevoegd in de overzichtsweergave.

Net als bij de meeste kolommen is de groeps-id alleen relevant binnen een specifieke evaluatie, zoals gefilterd op de kolom Id.

Schema voor gegevensprivacypartities

ID

Hetzelfde als de id voor de andere querydiagnoseresultaten. Het gehele getal vertegenwoordigt één activiteits-id, terwijl het breukdeel één evaluatie vertegenwoordigt.

Partitiesleutel

Komt overeen met de query/stap die wordt gebruikt als een firewallpartitie.

Firewallgroep

Categorisatie die verklaart waarom deze partitie afzonderlijk moet worden geëvalueerd, inclusief details over het privacyniveau van de partitie.

Toegang tot resources

Lijst met resourcepaden voor alle resources die door deze partitie worden geopend en is in het algemeen uniek om een gegevensbron te identificeren.

Partitie-invoer

Lijst met partitiesleutels waarop de huidige partitie afhankelijk is (deze lijst kan worden gebruikt om een grafiek te maken).

Expression

De expressie die wordt geëvalueerd boven op de query/stap van de partitie. In verschillende gevallen valt dit samen met de query/stap.

Begintijd

Tijd waarop de evaluatie voor deze partitie is gestart.

Eindtijd

Tijd waarop de evaluatie voor deze partitie is beëindigd.

Duur

Een waarde die is afgeleid van de eindtijd min de begintijd.

Exclusieve duur

Als partities worden verondersteld uit te voeren in één thread, is exclusieve duur de werkelijke duur die kan worden toegeschreven aan deze partitie.

Exclusief duurpercentage

Exclusieve duur als percentage.

Diagnostiek

Deze kolom wordt alleen weergegeven wanneer de querydiagnose 'Geaggregeerd' of 'Gedetailleerd' ook wordt vastgelegd, zodat de gebruiker kan corresponderen tussen de twee diagnostische uitvoer.

Schema voor prestatiemeteritems

Wanneer u prestatiemeteritems uitvoert, maakt Power Query elke helft van de seconde een momentopname van het resourcegebruik. Deze momentopname is niet handig voor zeer snelle query's, maar kan handig zijn voor query's die veel meer resources gebruiken.

% processortijd

Het percentage tijd dat is besteed door processors voor de query. Dit percentage kan hoger zijn dan 100% vanwege meerdere processors.

Totale processortijd

Totale duur van de processortijd die is besteed aan de query.

IO-gegevensbytes per seconde

Doorvoersnelheid van gegevens die zijn ontvangen van de gegevensbron, uitgedrukt in bytes per seconde.

Doorvoeren (bytes)

Hoeveelheid virtueel geheugen gereserveerd door de evaluatie.

Werkset (bytes)

Hoeveelheid geheugen gereserveerd door de evaluatie.

Meer artikelen

Diagnostische gegevens vastleggen in verschillende use cases

Meer informatie over het lezen en visualiseren van uw opgenomen traceringen

Begrijpen welke querybewerkingen worden gevouwen met querydiagnose