Lezen in het Engels

Delen via


Gespecialiseerde diagnostische gegevens

Als foutopsporing of waarneembaarheid niet voldoende is, ondersteunt .NET aanvullende diagnostische mechanismen.

Tracering met gebeurtenisbron

Gebeurtenisbron biedt de mogelijkheid om gedetailleerde diagnostische informatie te verzamelen over wat er gebeurt in .NET-processen. Het bevat telemetriegegevens voor de runtime, GC, bibliotheken en toepassingscode.

Gebeurtenisbrongegevens kunnen in verwerking worden verzameld met behulp van de System.Diagnostics.Tracing.EventListener API of met externe diagnostische hulpprogramma's zoals Visual Studio, dotnet-monitor, dotnet-trace, PerfView en de Perfcollect-scripts . Het gebruik van de externe hulpprogramma's voor het verzamelen van gebeurtenisbrongegevens in traceringen wordt vaak gebruikt voor prestatieanalyse.

Diagnostische gegevens verzamelen in containers

Dezelfde diagnostische hulpprogramma's die worden gebruikt in niet-gecontaineriseerde Linux-omgevingen, kunnen ook worden gebruikt voor het verzamelen van diagnostische gegevens in containers. Er zijn slechts enkele gebruikswijzigingen nodig om ervoor te zorgen dat de hulpprogramma's in een Docker-container werken.

EventPipe

EventPipe is een runtime-onderdeel dat kan worden gebruikt voor het verzamelen van traceringsgegevens, vergelijkbaar met ETW of LTTng. Het doel van EventPipe is om .NET-ontwikkelaars in staat te stellen hun .NET-toepassingen eenvoudig te traceren zonder te hoeven vertrouwen op platformspecifieke, systeemeigen onderdelen van het besturingssysteem, zoals ETW of LTTng.

EventPipe is het mechanisme achter veel diagnostische hulpprogramma's. Het kan worden gebruikt voor het verbruik van gebeurtenissen die door de runtime worden verzonden, evenals aangepaste gebeurtenissen die zijn geschreven met EventSource.

Stortplaatsen

Een dump is een bestand dat een momentopname van het proces bevat op het moment dat de dump is gemaakt. Dumps kunnen handig zijn voor het onderzoeken van de status van uw toepassing voor foutopsporingsdoeleinden.

Symbolen

Symbolen zijn een toewijzing tussen de broncode en het binaire bestand dat door de compiler wordt geproduceerd. Deze worden vaak gebruikt door .NET-foutopsporingsprogramma's en traceringsprogramma's om bronregelnummers, namen van lokale variabelen en andere typen diagnostische gegevens op te lossen.

Diagnostische poort

De .NET-runtime maakt een service-eindpunt beschikbaar waarmee andere processen diagnostische opdrachten kunnen verzenden en antwoorden kunnen ontvangen via een IPC-kanaal. Dit eindpunt wordt een diagnostische poort genoemd. Opdrachten kunnen worden verzonden naar de diagnostische poort naar:

  • Leg een geheugendump vast.
  • Start een EventPipe-trace.
  • Vraag de opdrachtregel aan die wordt gebruikt om de app te starten.

DiagnosticSource & DiagnosticListener

DiagnosticSource is een module waarmee code kan worden geïnstrumenteerd voor logboekregistratie van uitgebreide gegevenspayloads voor gebruik binnen het proces dat is geïnstrumenteerd. Tijdens runtime kunnen consumenten gegevensbronnen dynamisch detecteren en zich abonneren op de bronnen die van belang zijn. System.Diagnostics.DiagnosticSource is ontworpen om in-process tools toegang te geven tot uitgebreide gegevens, zoals door OpenTelemetry instrumentatiebibliotheken. DiagnosticSource-gegevens kunnen ook worden gebruikt via EventPipe, waardoor uitgebreide diagnostische gegevens kunnen worden verzameld door toegewezen hulpprogramma's. |

Zie ook