Freigeben über


Bekannte EventCounter-APIs in .NET

Die .NET-Laufzeit und die .NET-Bibliotheken implementieren und veröffentlichen einige EventCounters, mit denen verschiedene Leistungsprobleme identifiziert und diagnostiziert werden können. Dieser Abschnitt bietet eine Empfehlung an Providern, die zum Überwachen dieser Counter und ihrer Beschreibungen verwendet werden können. Sehen Sie sich stattdessen die Referenz bekannter Metriken an, wenn Sie mit der neueren System.Diagnostics.Metrics-API von .NET arbeiten.

System.Runtime-Zähler

Die folgenden Leistungsindikatoren werden als Teil der .NET-Runtime (CoreCLR) veröffentlicht und im RuntimeEventSource.cs verwaltet.

Leistungsindikator Beschreibung Erstmals verfügbar in
% Time in GC since last GC (time-in-gc) Der Prozentsatz der Zeit für GC seit der letzten GC. .NET Core 3.1
Allocation Rate (alloc-rate) Die Anzahl der pro Updateintervall zugeordneten Bytes .NET Core 3.1
CPU Usage (cpu-usage) Der Prozentsatz der CPU-Auslastung des Prozesses in Relation zu allen CPU-Ressourcen des Systems .NET Core 3.1
Exception Count (exception-count) Die Anzahl der aufgetretenen Ausnahmen. .NET Core 3.1
GC Heap Size (gc-heap-size) Die Anzahl der zugeordneten Megabytes basierend auf GC.GetTotalMemory(Boolean) .NET Core 3.1
Gen 0 GC Count (gen-0-gc-count) Die Anzahl der GC-Vorgänge für Gen 0 pro Updateintervall .NET Core 3.1
Gen 0 Size (gen-0-size) Die Anzahl der Bytes für Gen 0-GC. .NET Core 3.1
Gen 1 GC Count (gen-1-gc-count) Die Anzahl der GC-Vorgänge für Gen 1 pro Updateintervall .NET Core 3.1
Gen 1 Size (gen-1-size) Die Anzahl der Bytes für Gen 1-GC. .NET Core 3.1
Gen 2 GC Count (gen-2-gc-count) Die Anzahl der GC-Vorgänge für Gen 2 pro Updateintervall .NET Core 3.1
Gen 2 Size (gen-2-size) Die Anzahl der Bytes für Gen 2-GC. .NET Core 3.1
LOH Size (loh-size) Die Anzahl von Bytes für den großen Objektheap .NET Core 3.1
POH Size (poh-size) Die Byteanzahl für den angehefteten Objektheap (ab .NET 5 verfügbar) .NET Core 3.1
GC Fragmentation (gc-fragmentation) Die Fragmentierung des GC-Heap (ab .NET 5 verfügbar) .NET Core 3.1
Monitor Lock Contention Count (monitor-lock-contention-count) Die Anzahl der Konflikte beim Versuch, die Sperre des Monitors aufzuheben (basierend auf Monitor.LockContentionCount). .NET Core 3.1
Number of Active Timers (active-timer-count) Die Anzahl der derzeit aktiven Timer-Instanzen, basierend auf Timer.ActiveCount. .NET Core 3.1
Number of Assemblies Loaded (assembly-count) Die Anzahl der Assembly-Instanzen, die zu einem bestimmten Zeitpunkt in einen Prozess geladen wurden. .NET Core 3.1
ThreadPool Completed Work Item Count (threadpool-completed-items-count) Die Anzahl der Arbeitselemente, die bisher in ThreadPool verarbeitet wurden. .NET Core 3.1
ThreadPool Queue Length (threadpool-queue-length) Die Anzahl der Arbeitselemente, die derzeit für die Verarbeitung in ThreadPool in die Warteschlange eingereiht wurden. .NET Core 3.1
ThreadPool Thread Count (threadpool-thread-count) Die Anzahl der derzeit in ThreadPool vorhandenen Threads im Threadpool, basierend auf ThreadPool.ThreadCount. .NET Core 3.1
Working Set (working-set) Die Anzahl der Megabytes an physischem Speicher, die dem Prozesskontext zu einem bestimmten Zeitpunkt zugeordnet sind, basierend auf Environment.WorkingSet .NET Core 3.1
IL Bytes Jitted (il-bytes-jitted) Die Gesamtgröße der JIT-kompilierten ILs in Byte .NET 5
Methods Jitted Count (methods-jitted-count) Die Gesamtgröße der JIT-kompilierten Methoden .NET 5
GC Committed Bytes (gc-committed) Die Anzahl von Bytes, die von der GC commitet wurden .NET 6

Microsoft.AspNetCore.Hosting-Leistungsindikatoren

Die folgenden Leistungsindikatoren werden als Teil von ASP.NET Core veröffentlicht und in HostingEventSource.cs verwaltet.

Leistungsindikator Beschreibung Erstmals verfügbar in
Current Requests (current-requests) Die Gesamtanzahl von Anforderungen, die gestartet, aber noch nicht beendet wurden .NET Core 3.1
Failed Requests (failed-requests) Die Gesamtzahl der fehlgeschlagenen Anforderungen, die während der Lebensdauer der App aufgetreten sind. .NET Core 3.1
Request Rate (requests-per-second) Die Anzahl der Anforderungen pro Updateintervall .NET Core 3.1
Total Requests (total-requests) Die Gesamtzahl der Anforderungen, die während der Lebensdauer der App aufgetreten sind. .NET Core 3.1

Microsoft.AspNetCore.Http.Verbindungs-Leistungsindikatoren

Die folgenden Leistungsindikatoren werden als Teil ASP.NET Core SignalR veröffentlicht und in HttpConnectionsEventSource.cs verwaltet.

Leistungsindikator Beschreibung Erstmals verfügbar in
Average Connection Duration (connections-duration) Die durchschnittliche Dauer einer Verbindung in Millisekunden. .NET Core 3.1
Current Connections (current-connections) Die Anzahl der aktiven Verbindungen, die gestartet, aber noch nicht beendet wurden. .NET Core 3.1
Total Connections Started (connections-started) Die Gesamtzahl gestarteter Verbindungen. .NET Core 3.1
Total Connections Stopped (connections-stopped) Die Gesamtzahl von Verbindungen, die beendet wurden. .NET Core 3.1
Total Connections Timed Out (connections-timed-out) Die Gesamtzahl von Verbindungen, bei denen ein Timeout aufgetreten ist. .NET Core 3.1

Microsoft-AspNetCore-Server-Kestrel-Leistungsindikatoren

Die folgenden Leistungsindikatoren werden als Teil des ASP.NET Core Kestrel-Webservers veröffentlicht und in KestrelEventSource.cs verwaltet.

Leistungsindikator Beschreibung Erstmals verfügbar in
Connection Queue Length (connection-queue-length) Die aktuelle Länge der Verbindungswarteschlange. .NET 5
Connection Rate (connections-per-second) Die Anzahl der Verbindungen mit dem Webserver pro Updateintervall .NET 5
Current Connections (current-connections) Die aktuelle Anzahl aktiver Verbindungen mit dem Webserver. .NET 5
Current TLS Handshakes (current-tls-handshakes) Die aktuelle Anzahl von TLS-Handshakes. .NET 5
Current Upgraded Requests (WebSockets) (current-upgraded-requests) Aktuelle Anzahl aktualisierter Anforderungen (WebSockets) .NET 5
Failed TLS Handshakes (failed-tls-handshakes) Die Gesamtzahl der fehlgeschlagenen TLS-Handshakes. .NET 5
Request Queue Length (request-queue-length) Die aktuelle Länge der Anforderungswarteschlange. .NET 5
TLS Handshake Rate (tls-handshakes-per-second) Die Anzahl der TLS-Handshakes pro Updateintervall .NET 5
Total Connections (total-connections) Die Gesamtzahl von Verbindungen mit dem Webserver. .NET 5
Total TLS Handshakes (total-tls-handshakes) Die Gesamtzahl von TLS-Handshakes mit dem Webserver. .NET 5

System.Net.Http-Counter

Die folgenden Leistungsindikatoren werden vom HTTP-Stapel veröffentlicht und in HttpTelemetry.AnyOS.cs verwaltet.

Leistungsindikator Beschreibung Erstmals verfügbar in
Requests Started (requests-started) Die Anzahl der seit dem Start des Prozesses gestarteten Anforderungen .NET 5
Requests Started Rate (requests-started-rate) Die Anzahl der gestarteten Anforderungen pro Updateintervall .NET 5
Requests Failed (requests-failed) Die Anzahl von Anforderungen, bei denen seit dem Start des Prozesses Fehler aufgetreten sind .NET 5
Requests Failed Rate (requests-failed-rate) Die Anzahl von Anforderungen pro Updateintervall, bei denen Fehler aufgetreten sind .NET 5
Current Requests (current-requests) Die aktuelle Anzahl aktiver HTTP-Anforderungen, die gestartet, aber bisher noch nicht abgeschlossen oder aufgrund eines Fehlers beendet wurden .NET 5
Current HTTP 1.1 Connections (http11-connections-current-total) Die aktuelle Anzahl von HTTP 1.1-Verbindungen, die gestartet wurden, bisher aber noch nicht abgeschlossen sind, und bei denen bisher auch kein Fehler aufgetreten ist .NET 5
Current HTTP 2.0 Connections (http20-connections-current-total) Die aktuelle Anzahl von HTTP 2.0-Verbindungen, die gestartet wurden, bisher aber noch nicht abgeschlossen sind, und bei denen bisher auch kein Fehler aufgetreten ist .NET 5
Current HTTP 3.0 Connections (http30-connections-current-total) Die aktuelle Anzahl von HTTP 3.0-Verbindungen, die gestartet, aber bisher noch nicht abgeschlossen oder aufgrund eines Fehlers beendet wurden .NET 7
HTTP 1.1 Requests Queue Duration (http11-requests-queue-duration) Die durchschnittliche Zeit, die sich HTTP 1.1-Anforderungen in der Anforderungswarteschlange befinden .NET 5
HTTP 2.0 Requests Queue Duration (http20-requests-queue-duration) Die durchschnittliche Zeit, die sich HTTP 2.0-Anforderungen in der Anforderungswarteschlange befinden .NET 5
HTTP 3.0 Requests Queue Duration (http30-requests-queue-duration) Die durchschnittliche Zeit, für die sich HTTP 3.0-Anforderungen in der Anforderungswarteschlange befinden .NET 7

System.Net.NameResolution-Counter

Die folgenden Indikatoren verfolgen Metriken im Zusammenhang mit DNS-Nachschlagevorgängen und werden in NameResolutionTelemetry.cs beibehalten.

Leistungsindikator Beschreibung Erstmals verfügbar in
DNS Lookups Requested (dns-lookups-requested) Die Anzahl der seit dem Start des Prozesses angeforderten DNS-Lookups .NET 5
Average DNS Lookup Duration (dns-lookups-duration) Die durchschnittlich für ein DNS-Lookup benötigte Zeit .NET 5
Current DNS Lookups (current-dns-lookups) Die aktuelle Anzahl von DNS-Lookups, die gestartet, aber bisher noch nicht abgeschlossen oder aufgrund eines Fehlers beendet wurden .NET 6

System.Net.Sicherheits-Counter

Die folgenden Leistungsindikatoren verfolgen Metriken im Zusammenhang mit dem Transport Layer Security-Protokoll und werden in NetSecurityTelemetry.cs beibehalten.

Leistungsindikator Beschreibung Erstmals verfügbar in
TLS handshakes completed (tls-handshake-rate) Die Anzahl der abgeschlossenen TLS-Handshakes pro Updateintervall .NET 5
Total TLS handshakes completed (total-tls-handshakes) Die Gesamtanzahl der seit dem Start des Prozesses abgeschlossenen TLS-Handshakes .NET 5
Current TLS handshakes (current-tls-handshakes) Die aktuelle Anzahl von TLS-Handshakes, die gestartet wurden, bisher aber noch nicht abgeschlossen sind .NET 5
Total TLS handshakes failed (failed-tls-handshakes) Die Gesamtzahl von TLS-Handshakes, bei denen seit dem Start des Prozesses Fehler aufgetreten sind .NET 5
All TLS Sessions Active (all-tls-sessions-open) Die Anzahl aktiver TLS-Sitzungen für alle Versionen .NET 5
TLS 1.0 Sessions Active (tls10-sessions-open) Die Anzahl aktiver TLS 1.0-Sitzungen .NET 5
TLS 1.1 Sessions Active (tls11-sessions-open) Die Anzahl aktiver TLS 1.1-Sitzungen .NET 5
TLS 1.2 Sessions Active (tls12-sessions-open) Die Anzahl aktiver TLS 1.2-Sitzungen .NET 5
TLS 1.3 Sessions Active (tls13-sessions-open) Die Anzahl aktiver TLS 1.3-Sitzungen .NET 5
TLS Handshake Duration (all-tls-handshake-duration) Die durchschnittliche Dauer aller TLS-Handshakes .NET 5
TLS 1.0 Handshake Duration (tls10-handshake-duration) Die durchschnittliche Dauer von TLS 1.0-Handshakes .NET 5
TLS 1.1 Handshake Duration (tls11-handshake-duration) Die durchschnittliche Dauer von TLS 1.1-Handshakes .NET 5
TLS 1.2 Handshake Duration (tls12-handshake-duration) Die durchschnittliche Dauer von TLS 1.2-Handshakes .NET 5
TLS 1.3 Handshake Duration (tls13-handshake-duration) Die durchschnittliche Dauer von TLS 1.3-Handshakes .NET 5

System.Net.Sockets-Counter

Die folgenden Indikatoren verfolgen Metriken im Zusammenhang mit Socket SocketsTelemetry und werden in SocketsTelemetry erfasst.

Leistungsindikator Beschreibung Erstmals verfügbar in
Outgoing Connections Established (outgoing-connections-established) Die Gesamtanzahl ausgehender Verbindungen, die seit dem Start des Prozesses hergestellt wurden .NET 5
Incoming Connections Established (incoming-connections-established) Die Gesamtanzahl eingehender Verbindungen, die seit dem Start des Prozesses hergestellt wurden .NET 5
Current Outgoing Connect Attempts (current-outgoing-connect-attempts) Die aktuelle Anzahl ausgehender Verbindungsversuche, die gestartet, aber bisher noch nicht abgeschlossen oder aufgrund eines Fehlers beendet wurden .NET 7
Bytes Received (bytes-received) Die Gesamtanzahl von Bytes, die seit dem Start des Prozesses empfangen wurden .NET 5
Bytes Sent (bytes-sent) Die Gesamtanzahl von Bytes, die seit dem Start des Prozesses gesendet wurden .NET 5
Datagrams Received (datagrams-received) Die Gesamtanzahl von Datagrammen, die seit dem Start des Prozesses empfangen wurden .NET 5
Datagrams Sent (datagrams-sent) Die Gesamtanzahl von Datagrammen, die seit dem Start des Prozesses gesendet wurden .NET 5