Transactiezoekopdrachten is een functie van Application Insights waarmee u afzonderlijke telemetrie-items kunt zoeken en verkennen, zoals paginaweergaven, uitzonderingen of webaanvragen. U kunt ook logboektraceringen en gebeurtenissen bekijken die u codeert.
Gebruik Log Analytics voor complexere query's over uw gegevens.
Waar zie je Zoeken?
U vindt Search in Azure Portal of Visual Studio.
In Azure Portal
U kunt transactiezoekopdrachten openen op het tabblad Overzicht van Application Insights van uw toepassing. U kunt ook Zoeken selecteren onder Onderzoeken in het linkermenu.
Ga naar de vervolgkeuzelijst Gebeurtenistypen om een lijst met telemetrie-items weer te geven, zoals serveraanvragen, paginaweergaven en aangepaste gebeurtenissen die u hebt gecodeerd. Bovenaan de lijst Met resultaten ziet u een overzichtsdiagram met het aantal gebeurtenissen in de loop van de tijd.
Ga terug naar het vervolgkeuzemenu of selecteer Vernieuwen om nieuwe gebeurtenissen op te halen.
In Visual Studio
In Visual Studio is er ook een Application Insights Search-venster . Dit is het handigst voor het weergeven van telemetrie-gebeurtenissen die zijn gegenereerd door de toepassing die u foutopsporing uitvoert. Maar u kunt ook de gebeurtenissen weergeven die zijn verzameld vanuit uw gepubliceerde app in Azure Portal.
Open het venster Application Insights Search in Visual Studio:
Het zoekvenster van Application Insights heeft functies die vergelijkbaar zijn met de webportal:
Het tabblad Bewerking bijhouden is beschikbaar wanneer u een aanvraag of een paginaweergave opent. Een 'bewerking' is een reeks gebeurtenissen die zijn gekoppeld aan één aanvraag- of paginaweergave. Afhankelijkheidsaanroepen, uitzonderingen, traceerlogboeken en aangepaste gebeurtenissen kunnen bijvoorbeeld deel uitmaken van één bewerking. Het tabblad Bewerking bijhouden toont grafisch de timing en duur van deze gebeurtenissen ten opzichte van de aanvraag- of paginaweergave.
Afzonderlijke items controleren
Selecteer een telemetrie-item om sleutelvelden en gerelateerde items weer te geven.
De detailweergave voor end-to-end transacties wordt geopend.
Gebeurtenistypen filteren
Open de vervolgkeuzelijst Gebeurtenistypen en kies de gebeurtenistypen die u wilt zien. Als u de filters later wilt herstellen, selecteert u Opnieuw instellen.
De gebeurtenistypen zijn:
- Trace: Diagnostische logboeken , waaronder TrackTrace, log4Net, NLog en System.Diagnostic.Trace-aanroepen.
- Aanvraag: HTTP-aanvragen die zijn ontvangen door uw servertoepassing, inclusief pagina's, scripts, afbeeldingen, stijlbestanden en gegevens. Deze gebeurtenissen worden gebruikt om de overzichtsgrafieken voor aanvragen en antwoorden te maken.
- Paginaweergave: Telemetrie verzonden door de webclient die wordt gebruikt om rapporten voor paginaweergave te maken.
- Aangepaste gebeurtenis: als u aanroepen hebt ingevoegd om het gebruik te
TrackEvent()
controleren, kunt u deze hier doorzoeken.
- Uitzondering: Niet-onderschepde uitzonderingen op de server en de uitzonderingen die u met behulp van
TrackException()
.
- Afhankelijkheid: aanroepen van uw servertoepassing naar andere services, zoals REST API's of databases, en AJAX-aanroepen vanuit uw clientcode.
- Beschikbaarheid: Resultaten van beschikbaarheidstests
Filteren op eigenschapswaarden
U kunt gebeurtenissen filteren op de waarden van hun eigenschappen. De beschikbare eigenschappen zijn afhankelijk van de gebeurtenistypen die u hebt geselecteerd. Selecteer Filter om te starten.
Het kiezen van geen waarden van een bepaalde eigenschap heeft hetzelfde effect als het kiezen van alle waarden. Het schakelt filteren op die eigenschap uit.
U ziet dat de aantallen rechts van de filterwaarden aangeven hoeveel exemplaren er zijn in de huidige gefilterde set.
Gebeurtenissen zoeken met dezelfde eigenschap
Als u alle items met dezelfde eigenschapswaarde wilt zoeken, voert u deze in het zoekvak in of schakelt u het selectievakje in wanneer u eigenschappen bekijkt op het tabblad Filter .
De gegevens doorzoeken
U kunt zoeken naar termen in een van de eigenschapswaarden. Deze mogelijkheid is handig als u aangepaste gebeurtenissen schrijft met eigenschapswaarden.
U kunt een tijdsbereik instellen omdat zoekopdrachten binnen een korter bereik sneller zijn.
Zoek naar volledige woorden, geen subtekenreeksen. Gebruik aanhalingstekens om speciale tekens in te sluiten.
String |
Niet gevonden |
Stichten |
HomeController.About |
home
controller
out |
homecontroller
about
"homecontroller.about" |
Verenigde Staten |
Uni
ted |
united
states
united AND states
"united states" |
U kunt de volgende zoekexpressies gebruiken:
Voorbeeldquery |
Effect |
apple |
Zoek alle gebeurtenissen in het tijdsbereik waarvan de velden het woord apple bevatten. |
apple AND banana
apple banana |
Gebeurtenissen zoeken die beide woorden bevatten. Gebruik kapitaal AND , niet and . Korte vorm. |
apple OR banana |
Gebeurtenissen zoeken die een van beide woorden bevatten. Gebruik OR , niet or . |
apple NOT banana |
Gebeurtenissen zoeken die één woord bevatten, maar niet het andere. |
Steekproeven
Als uw app aanzienlijke telemetrie genereert en gebruikmaakt van ASP.NET SDK versie 2.0.0-beta3 of hoger, wordt het volume dat naar de portal wordt verzonden, automatisch verminderd via adaptieve steekproeven. Met deze module wordt slechts een representatieve fractie van gebeurtenissen verzonden. Hiermee selecteert of deselecteert u gebeurtenissen met betrekking tot dezelfde aanvraag als een groep, zodat u tussen gerelateerde gebeurtenissen kunt navigeren.
Meer informatie over steekproeven.
Werkitem maken
U kunt een fout maken in GitHub of Azure DevOps met de details van elk telemetrie-item.
Ga naar de detailweergave van de end-to-end transactie door een telemetrie-item te selecteren. Selecteer vervolgens Werkitem maken.
De eerste keer dat u deze stap uitvoert, wordt u gevraagd een koppeling te configureren naar uw Azure DevOps-organisatie en -project. U kunt de koppeling ook configureren op het tabblad Werkitems .
Meer telemetrie verzenden naar Application Insights
Naast de out-of-the-box telemetrie die door Application Insights SDK wordt verzonden, kunt u het volgende doen:
Leg logboektraceringen vast vanuit uw favoriete framework voor logboekregistratie in .NET of Java. Dit betekent dat u in uw logboektraceringen kunt zoeken en deze kunt correleren met paginaweergaven, uitzonderingen en andere gebeurtenissen.
Schrijf code om aangepaste gebeurtenissen, paginaweergaven en uitzonderingen te verzenden.
Meer informatie over het verzenden van logboeken en aangepaste telemetrie naar Application Insights.
Veelgestelde vragen
Zoek antwoorden op veelgestelde vragen.
Hoeveel gegevens worden bewaard?
Zie de samenvatting Limieten.
Hoe zie ik POST-gegevens in mijn serveraanvragen?
We registreren de POST-gegevens niet automatisch, maar u kunt TrackTrace- of logboekaanroepen gebruiken. Plaats de POST-gegevens in de berichtparameter. U kunt niet op dezelfde manier filteren op het bericht als u op eigenschappen kunt filteren, maar de groottelimiet is langer.
Waarom retourneert mijn Azure Function-zoekopdracht geen resultaten?
In Azure Functions worden geen URL-queryreeksen vastgelegd.
De geïntegreerde diagnostische ervaring correleert automatisch telemetrie aan de serverzijde van al uw door Application Insights bewaakte onderdelen in één weergave. Het maakt niet uit of u meerdere resources hebt. Application Insights detecteert de onderliggende relatie en stelt u in staat om eenvoudig een diagnose te stellen van het toepassingsonderdeel, de afhankelijkheid of de uitzondering die een transactievertraging of -fout heeft veroorzaakt.
Wat is een component?
Onderdelen zijn onafhankelijk te implementeren onderdelen van uw gedistribueerde of microservicetoepassing. Ontwikkelaars en operationele teams hebben zichtbaarheid op codeniveau of toegang tot telemetrie die door deze toepassingsonderdelen wordt gegenereerd.
- Onderdelen verschillen van 'waargenomen' externe afhankelijkheden, zoals SQL en Event Hubs, waartoe uw team of organisatie mogelijk geen toegang heeft (code of telemetrie).
- Onderdelen worden uitgevoerd op een willekeurig aantal server-, functie- of containerinstanties.
- Onderdelen kunnen afzonderlijke Application Insights-instrumentatiesleutels zijn, zelfs als abonnementen verschillen. Onderdelen kunnen ook verschillende rollen zijn die rapporteren aan één Application Insights-instrumentatiesleutel. De nieuwe ervaring toont details over alle onderdelen, ongeacht hoe ze zijn ingesteld.
Notitie
Mist u de gerelateerde itemkoppelingen? Alle gerelateerde telemetrie bevindt zich aan de linkerkant in de bovenste en onderste secties.
Ervaring met diagnostische gegevens over transacties
Deze weergave heeft vier belangrijke onderdelen:
- een lijst met resultaten
- een transactiegrafiek tussen onderdelen
- een tijdsreekslijst van alle telemetriegegevens met betrekking tot deze bewerking
- het detailvenster voor een geselecteerd telemetrie-item
Transactiediagram voor meerdere onderdelen
Deze grafiek biedt een tijdlijn met horizontale balken tijdens aanvragen en afhankelijkheden tussen onderdelen. Eventuele verzamelde uitzonderingen worden ook gemarkeerd op de tijdlijn.
- De bovenste rij in dit diagram vertegenwoordigt het toegangspunt. Dit is de binnenkomende aanvraag naar het eerste onderdeel dat in deze transactie wordt aangeroepen. De duur is de totale tijd die nodig is om de transactie te voltooien.
- Aanroepen naar externe afhankelijkheden zijn eenvoudige niet-samenlapbare rijen, met pictogrammen die het afhankelijkheidstype vertegenwoordigen.
- Aanroepen naar andere onderdelen zijn samenvouwbare rijen. Elke rij komt overeen met een specifieke bewerking die wordt aangeroepen in het onderdeel.
- De aanvraag, afhankelijkheid of uitzondering die u hebt geselecteerd, wordt standaard aan de zijkant weergegeven. Selecteer een rij om de details ervan weer te geven.
Notitie
Aanroepen naar andere onderdelen hebben twee rijen. Eén rij vertegenwoordigt de uitgaande aanroep (afhankelijkheid) van het belleronderdeel. De andere rij komt overeen met de binnenkomende aanvraag bij het aangeroepen onderdeel. Het voorlooppictogram en de afzonderlijke stijl van de duurbalken helpen onderscheid te maken tussen deze balken.
Alle telemetrie met deze bewerkings-id
In deze sectie ziet u een platte lijstweergave in een tijdreeks van alle telemetriegegevens die betrekking hebben op deze transactie. Ook worden de aangepaste gebeurtenissen en traceringen weergegeven die niet worden weergegeven in het transactiediagram. U kunt deze lijst filteren op telemetrie die wordt gegenereerd door een specifiek onderdeel of gesprek. U kunt elk telemetrie-item in deze lijst selecteren om de bijbehorende details aan de zijkant weer te geven.
Details van de geselecteerde telemetrie
In dit samenvouwbare deelvenster ziet u de details van een geselecteerd item in het transactiediagram of de lijst. Alle lijsten weergeven van alle standaardkenmerken die worden verzameld. Aangepaste kenmerken worden afzonderlijk vermeld onder de standaardset. Selecteer de knop met het beletselteken (...) onder het venster Aanroepstack om een optie te krijgen om de tracering te kopiëren. Open profiler-traceringen en open de momentopname voor foutopsporing met diagnostische gegevens op codeniveau in bijbehorende detailvensters.
Zoekresultaten
In dit samenvouwbare deelvenster worden de andere resultaten weergegeven die voldoen aan de filtercriteria. Selecteer een resultaat om de betreffende details van de voorgaande drie secties bij te werken. We proberen voorbeelden te vinden die waarschijnlijk de details van alle onderdelen beschikbaar hebben, zelfs als steekproeven van kracht zijn in een van deze onderdelen. Deze voorbeelden worden weergegeven als suggesties.
Foutopsporingsprogramma voor .NET Profiler en Snapshot Debugger
.NET Profiler of Snapshot Debugger helpt bij diagnostische gegevens op codeniveau van prestatie- en foutproblemen. Met deze ervaring kunt u .NET Profiler-traceringen of momentopnamen van elk onderdeel met één selectie bekijken.
Als u de .NET Profiler niet kunt laten werken, neemt u contact op met serviceprofilerhelp@microsoft.com.
Neem contact op met de contactpersoon snapshothelp@microsoft.comals u snapshot debugger niet kunt laten werken.
Veelgestelde vragen
In deze sectie vindt u antwoorden op veelgestelde vragen.
Waarom zie ik één onderdeel in de grafiek en de andere onderdelen worden alleen weergegeven als externe afhankelijkheden zonder details?
Mogelijke redenen:
- Zijn de andere onderdelen geïnstrueerd met Application Insights?
- Gebruiken ze de nieuwste stabiele Application Insights SDK?
- Als deze onderdelen afzonderlijke Application Insights-resources zijn, controleert u of u toegang hebt.
Als u wel toegang hebt en de onderdelen zijn geïnstrueerd met de nieuwste Application Insights SDK's, laat het ons dan weten via het feedbackkanaal in de rechterbovenhoek.
Ik zie dubbele rijen voor de afhankelijkheden. Wordt dit gedrag verwacht?
Op dit moment wordt de uitgaande afhankelijkheidsaanroep weergegeven, gescheiden van de binnenkomende aanvraag. Normaal gesproken zien de twee aanroepen er identiek uit, waarbij alleen de duurwaarde verschilt vanwege de retour van het netwerk. Het voorlooppictogram en de afzonderlijke stijl van de duurbalken helpen onderscheid te maken tussen deze balken. Is deze presentatie van de gegevens verwarrend? Geef ons uw feedback!
Hoe zit het met klokverschil tussen verschillende onderdelenexemplaren?
Tijdlijnen worden aangepast voor scheeftrekken van de klok in het transactiediagram. U kunt de exacte tijdstempels zien in het detailvenster of met behulp van Log Analytics.
Dit is zo ontworpen. Alle gerelateerde items, voor alle onderdelen, zijn al beschikbaar aan de linkerkant in de bovenste en onderste secties. De nieuwe ervaring bevat twee gerelateerde items die niet aan de linkerkant worden behandeld: alle telemetrie van vijf minuten vóór en na deze gebeurtenis en de tijdlijn van de gebruiker.
Is er een manier om minder gebeurtenissen per transactie te zien wanneer ik de JavaScript SDK van Application Insights gebruik?
De ervaring met diagnostische gegevens over transacties toont alle telemetrie in één bewerking die een bewerkings-id deelt. De Application Insights SDK voor JavaScript maakt standaard een nieuwe bewerking voor elke unieke paginaweergave. In een toepassing met één pagina (SPA) wordt slechts één paginaweergavegebeurtenis gegenereerd en wordt één bewerkings-id gebruikt voor alle gegenereerde telemetriegegevens. Als gevolg hiervan kunnen veel gebeurtenissen worden gecorreleerd aan dezelfde bewerking.
In deze scenario's kunt u Automatisch bijhouden van routes gebruiken om automatisch nieuwe bewerkingen te maken voor navigatie in uw BEVEILIGD-WACHTWOORDVERIFICATIE. U moet enableAutoRouteTracking inschakelen, zodat een paginaweergave wordt gegenereerd telkens wanneer de URL-route wordt bijgewerkt (logische paginaweergave vindt plaats). Als u de bewerkings-id handmatig wilt vernieuwen, roept u het aan appInsights.properties.context.telemetryTrace.traceID = Microsoft.ApplicationInsights.Telemetry.Util.generateW3CId()
. Als u een PageView-gebeurtenis handmatig activeert, wordt ook de bewerkings-id opnieuw ingesteld.
Waarom worden de duur van transactiedetails niet opgetellen tot de duur van de bovenste aanvraag?
Tijd die niet wordt uitgelegd in het Gantt-diagram, is tijd die niet wordt gedekt door een bijgehouden afhankelijkheid. Dit probleem kan optreden omdat externe aanroepen niet automatisch of handmatig zijn geïnstrueerd. Dit kan ook gebeuren omdat de tijd die in het proces is genomen, in plaats van vanwege een externe aanroep.
Als alle aanroepen zijn geïnstrumenteerd, is dit de waarschijnlijke hoofdoorzaak voor de tijd die is besteed. Een handig hulpprogramma voor het diagnosticeren van het proces is de .NET Profiler.
Wat gebeurt er als ik het bericht Fout zie bij het ophalen van gegevens tijdens het navigeren in Application Insights in Azure Portal?
Deze fout geeft aan dat de browser een vereiste API niet kan aanroepen of dat de API een foutreactie heeft geretourneerd. Als u problemen met het gedrag wilt oplossen, opent u een InPrivate-browservenster en schakelt u browserextensies uit die worden uitgevoerd, en identificeert u of u het portalgedrag nog steeds kunt reproduceren. Als de portalfout nog steeds optreedt, kunt u testen met andere browsers of andere computers, DNS- of andere netwerkgerelateerde problemen onderzoeken vanaf de clientcomputer waar de API-aanroepen mislukken. Als de portalfout zich blijft voordoen en meer onderzoek nodig heeft, verzamelt u een browsernetwerktracering tijdens het reproduceren van het onverwachte portalgedrag en opent u vervolgens een ondersteuningsaanvraag vanuit Azure Portal.