Delen via


metrische gegevens van ASP.NET Core

In dit artikel worden de ingebouwde metrische gegevens voor ASP.NET Core beschreven die zijn geproduceerd met behulp van de System.Diagnostics.Metrics API. Zie hier voor een lijst met metrische gegevens op basis van de oudere EventCounters-API.

Tip

Zie Met ASP.NET Kerngegevens gebruiken voor meer informatie over het verzamelen, rapporteren, verrijken en testen van ASP.NET Core-metrische gegevens.

Microsoft.AspNetCore.Hosting

De Microsoft.AspNetCore.Hosting metrische gegevens rapporteren informatie op hoog niveau over HTTP-aanvragen die zijn ontvangen door ASP.NET Core:

Metriek: http.server.request.duration
Naam Type instrument Eenheid (UCUM) Beschrijving
http.server.request.duration Histogram s Meet de duur van binnenkomende HTTP-aanvragen.
Kenmerk Type Description Voorbeelden Aanwezigheid
http.route tekenreeks De overeenkomende route. {controller}/{action}/{id?} Als deze beschikbaar is.
error.type tekenreeks Beschrijft een foutklasse waarmee de bewerking is beëindigd. timeout; name_resolution_error; 500 Als de aanvraag is beëindigd met een fout.
http.request.method tekenreeks HTTP-aanvraagmethode. GET; POST; HEAD Altijd
http.response.status_code int HTTP-antwoordstatuscode. 200 Als er een is verzonden.
network.protocol.version tekenreeks Versie van het protocol dat is opgegeven in network.protocol.name. 3.1.1 Altijd
url.scheme tekenreeks Het URI-schemaonderdeel waarmee het gebruikte protocol wordt geïdentificeerd. http; https Altijd
aspnetcore.request.is_unhandled Booleaanse waarde Waar wanneer de aanvraag niet is verwerkt door de toepassingspijplijn. true Als de aanvraag niet is verwerkt.

De tijd die wordt gebruikt voor het verwerken van een inkomende HTTP-aanvraag, zoals gemeten op de hostinglaag van ASP.NET Core. De tijdmeting wordt gestart zodra de onderliggende webhost het volgende heeft:

  • De HTTP-aanvraagheaders in de binnenkomende netwerkstroom voldoende geparseerd om de nieuwe aanvraag te identificeren.
  • Initialiseerde de contextgegevensstructuren zoals de HttpContext.

De tijd eindigt wanneer:

  • De ASP.NET Core-handlerpijplijn is voltooid.
  • Alle antwoordgegevens zijn verzonden.
  • De contextgegevensstructuren voor de aanvraag worden verwijderd.

Wanneer u OpenTelemetry gebruikt, worden de standaard buckets voor deze metrische waarde ingesteld op [ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ].

Beschikbaar vanaf: .NET 8.0.

Metriek: http.server.active_requests
Naam Type instrument Eenheid (UCUM) Beschrijving
http.server.active_requests UpDownCounter {request} Meet het aantal gelijktijdige HTTP-aanvragen dat momenteel in de vlucht is.
Kenmerk Type Description Voorbeelden Aanwezigheid
http.request.method tekenreeks HTTP-aanvraagmethode. [1] GET; POST; HEAD Altijd
url.scheme tekenreeks Het URI-schemaonderdeel waarmee het gebruikte protocol wordt geïdentificeerd. http; https Altijd

Beschikbaar vanaf: .NET 8.0.

Microsoft.AspNetCore.Routing

De Microsoft.AspNetCore.Routing metrische gegevens rapporteren informatie over het routeren van HTTP-aanvragen naar ASP.NET Core-eindpunten:

Metriek: aspnetcore.routing.match_attempts
Naam Type instrument Eenheid (UCUM) Beschrijving
aspnetcore.routing.match_attempts teller {match_attempt} Aantal aanvragen dat is geprobeerd te worden vergeleken met een eindpunt.
Kenmerk Type Description Voorbeelden Aanwezigheid
aspnetcore.routing.match_status tekenreeks Resultaat vergelijken success; failure Altijd
aspnetcore.routing.is_fallback_route boolean Een waarde die aangeeft of de overeenkomende route een terugvalroute is. True Als een route is gematcht.
http.route tekenreeks De overeenkomende route {controller}/{action}/{id?} Als een route is gematcht.

Beschikbaar vanaf: .NET 8.0.

Microsoft.AspNetCore.Diagnostics

De Microsoft.AspNetCore.Diagnostics metrische gegevens rapporteren diagnostische gegevens van ASP.NET Core-foutafhandeling middleware:

Metriek: aspnetcore.diagnostics.exceptions
Naam Type instrument Eenheid (UCUM) Beschrijving
aspnetcore.diagnostics.exceptions teller {exception} Aantal uitzonderingen dat is afgevangen door middleware voor het verwerken van uitzonderingen.
Kenmerk Type Description Voorbeelden Aanwezigheid
aspnetcore.diagnostics.exception.result tekenreeks ASP.NET resultaat van middleware voor kernuitzondering handled; unhandled Altijd
aspnetcore.diagnostics.handler.type tekenreeks Volledige typenaam van de IExceptionHandler implementatie die de uitzondering heeft verwerkt. Contoso.MyHandler Als de uitzondering is verwerkt door deze handler.
exception.type tekenreeks De volledige naam van het uitzonderingstype. System.OperationCanceledException; Contoso.MyException Altijd

Beschikbaar vanaf: .NET 8.0.

Microsoft.AspNetCore.RateLimiting

De Microsoft.AspNetCore.RateLimiting frequentielimiet voor metrische gegevens van ASP.NET Core rate-limiting middleware:

Metriek: aspnetcore.rate_limiting.active_request_leases
Naam Type instrument Eenheid (UCUM) Beschrijving
aspnetcore.rate_limiting.active_request_leases UpDownCounter {request} Het aantal aanvragen dat momenteel actief is op de server met een snelheidsbeperkings lease.
Kenmerk Type Description Voorbeelden Aanwezigheid
aspnetcore.rate_limiting.policy tekenreeks Snelheidsbeperkingsbeleidsnaam. fixed; sliding; token Als het overeenkomende eindpunt voor de aanvraag een beleid voor snelheidsbeperking had.

Beschikbaar vanaf: .NET 8.0.

Metriek: aspnetcore.rate_limiting.request_lease.duration
Naam Type instrument Eenheid (UCUM) Beschrijving
aspnetcore.rate_limiting.request_lease.duration Histogram s De duur van de snelheidsbeperking die door aanvragen op de server wordt bewaard.
Kenmerk Type Description Voorbeelden Aanwezigheid
aspnetcore.rate_limiting.policy tekenreeks Snelheidsbeperkingsbeleidsnaam. fixed; sliding; token Als het overeenkomende eindpunt voor de aanvraag een beleid voor snelheidsbeperking had.

Beschikbaar vanaf: .NET 8.0.

Metriek: aspnetcore.rate_limiting.queued_requests
Naam Type instrument Eenheid (UCUM) Beschrijving
aspnetcore.rate_limiting.queued_requests UpDownCounter {request} Het aantal aanvragen dat momenteel in de wachtrij staat voor het verkrijgen van een leaselimiet.
Kenmerk Type Description Voorbeelden Aanwezigheid
aspnetcore.rate_limiting.policy tekenreeks Snelheidsbeperkingsbeleidsnaam. fixed; sliding; token Als het overeenkomende eindpunt voor de aanvraag een beleid voor snelheidsbeperking had.

Beschikbaar vanaf: .NET 8.0.

Metriek: aspnetcore.rate_limiting.request.time_in_queue
Naam Type instrument Eenheid (UCUM) Beschrijving
aspnetcore.rate_limiting.request.time_in_queue Histogram s De tijd die een aanvraag in een wachtrij heeft doorgebracht voor het verkrijgen van een leaselimiet.
Kenmerk Type Description Voorbeelden Aanwezigheid
aspnetcore.rate_limiting.policy tekenreeks Snelheidsbeperkingsbeleidsnaam. fixed; sliding; token Als het overeenkomende eindpunt voor de aanvraag een beleid voor snelheidsbeperking had.
aspnetcore.rate_limiting.result tekenreeks Het resultaat van de snelheidsbeperking geeft aan of lease is verkregen of een reden voor afwijzing bevat. acquired; request_canceled Altijd

Beschikbaar vanaf: .NET 8.0.

Metriek: aspnetcore.rate_limiting.requests
Naam Type instrument Eenheid (UCUM) Beschrijving
aspnetcore.rate_limiting.requests teller {request} Aantal aanvragen dat heeft geprobeerd een leaselimiet te verkrijgen.
Kenmerk Type Description Voorbeelden Aanwezigheid
aspnetcore.rate_limiting.policy tekenreeks Snelheidsbeperkingsbeleidsnaam. fixed; sliding; token Als het overeenkomende eindpunt voor de aanvraag een beleid voor snelheidsbeperking had.
aspnetcore.rate_limiting.result tekenreeks Het resultaat van de snelheidsbeperking geeft aan of lease is verkregen of een reden voor afwijzing bevat. acquired; request_canceled Altijd

Beschikbaar vanaf: .NET 8.0.

Microsoft.AspNetCore.HeaderParsing

De Microsoft.AspNetCore.HeaderParsing metrische gegevens rapporteren informatie over het parseren van ASP.NET Core-header:

Metriek: aspnetcore.header_parsing.parse_errors
Naam Type instrument Eenheid (UCUM) Beschrijving
aspnetcore.header_parsing.parse_errors teller {parse_error} Aantal fouten dat is opgetreden bij het parseren van HTTP-aanvraagheaders.
Kenmerk Type Description Voorbeelden Aanwezigheid
aspnetcore.header_parsing.header.name tekenreeks De naam van de header. Content-Type Altijd
error.type tekenreeks Het foutbericht. Unable to parse media type value. Altijd

Beschikbaar vanaf: .NET 8.0.

Metriek: aspnetcore.header_parsing.cache_accesses

De metrische waarde wordt alleen verzonden voor HTTP-aanvraagheaders die ondersteuning bieden voor caching.

Naam Type instrument Eenheid (UCUM) Beschrijving
aspnetcore.header_parsing.cache_accesses teller {cache_access} Aantal keren dat een cache die geparseerde headerwaarden opslaat, is geopend.
Kenmerk Type Description Voorbeelden Aanwezigheid
aspnetcore.header_parsing.header.name tekenreeks De naam van de header. Content-Type Altijd
aspnetcore.header_parsing.cache_access.type tekenreeks Een waarde die aangeeft of de waarde van de header al dan niet in de cache is gevonden. Hit; Miss Altijd

Beschikbaar vanaf: .NET 8.0.

Microsoft.AspNetCore.Server.Kestrel

De Microsoft.AspNetCore.Server.Kestrel metrische gegevens rapporteren HTTP-verbindingsgegevens van ASP.NET Core Kestrel-webserver:

Metriek: kestrel.active_connections
Naam Type instrument Eenheid (UCUM) Beschrijving
kestrel.active_connections UpDownCounter {connection} Aantal verbindingen dat momenteel actief is op de server.
Kenmerk Type Description Voorbeelden Aanwezigheid
network.transport tekenreeks OSI-transportlaag of communicatiemethode tussen processen. tcp; unix Altijd
network.type tekenreeks OSI-netwerklaag of niet-OSI-equivalent. ipv4; ipv6 Indien het transport is tcp of udp.
server.address tekenreeks Serveradresdomeinnaam indien beschikbaar zonder omgekeerde DNS-zoekactie; anders, IP-adres of Unix-domeinnaam. example.com Altijd
server.port int Poortnummer van server 80; 8080; 443 Indien het transport is tcp of udp.

Beschikbaar vanaf: .NET 8.0.

Metriek: kestrel.connection.duration
Naam Type instrument Eenheid (UCUM) Beschrijving
kestrel.connection.duration Histogram s De duur van verbindingen op de server.
Kenmerk Type Description Voorbeelden Aanwezigheid
error.type tekenreeks Beschrijft een type fout waarbij de verbinding is beëindigd of het niet-verwerkte uitzonderingstype dat tijdens de verbindingspijplijn is gegenereerd. Bekende verbindingsfouten vindt u in Semantic Conventions for Kestrel webserver metrics. connection_reset; invalid_request_headers; System.OperationCanceledException Als de verbinding is beëindigd met een bekende fout of als er een uitzondering is opgetreden.
network.protocol.name tekenreeks OSI-toepassingslaag of niet-OSI-equivalent. http; web_sockets Altijd
network.protocol.version tekenreeks Versie van het protocol dat is opgegeven in network.protocol.name. 1.1; 2 Altijd
network.transport tekenreeks OSI-transportlaag of communicatiemethode tussen processen. tcp; unix Altijd
network.type tekenreeks OSI-netwerklaag of niet-OSI-equivalent. ipv4; ipv6 Indien het transport is tcp of udp.
server.address tekenreeks Serveradresdomeinnaam indien beschikbaar zonder omgekeerde DNS-zoekactie; anders, IP-adres of Unix-domeinnaam. example.com Altijd
server.port int Poortnummer van server 80; 8080; 443 Indien het transport is tcp of udp.
tls.protocol.version tekenreeks TLS-protocolversie. 1.2; 1.3 Als de verbinding is beveiligd met TLS.

Omdat deze metrische waarde de verbindingsduur bijhoudt en http-verbindingen in het ideale geval worden gebruikt voor meerdere aanvragen, moeten de buckets langer zijn dan de buckets die worden gebruikt voor aanvraagduur. Als u bijvoorbeeld [ 0.01, 0.02, 0.05, 0.1, 0.2, 0,5, 1, 2, 5, 10, 30, 60, 120, 300] gebruikt, biedt u een bovenste bucket van 5 minuten.

Vanaf .NET 9 wordt de error.type kenmerkwaarde ingesteld op het bekende fouttype wanneer een verbinding eindigt met een bekende fout. Bekende verbindingsfouten vindt u in Semantic Conventions for Kestrel webserver metrics.

Beschikbaar vanaf: .NET 8.

Metriek: kestrel.rejected_connections
Naam Type instrument Eenheid (UCUM) Beschrijving
kestrel.rejected_connections teller {connection} Aantal verbindingen dat door de server is geweigerd.
Kenmerk Type Description Voorbeelden Aanwezigheid
network.transport tekenreeks OSI-transportlaag of communicatiemethode tussen processen. tcp; unix Altijd
network.type tekenreeks OSI-netwerklaag of niet-OSI-equivalent. ipv4; ipv6 Indien het transport is tcp of udp.
server.address tekenreeks Serveradresdomeinnaam indien beschikbaar zonder omgekeerde DNS-zoekactie; anders, IP-adres of Unix-domeinnaam. example.com Altijd
server.port int Poortnummer van server 80; 8080; 443 Indien het transport is tcp of udp.

Verbindingen worden geweigerd wanneer het huidige aantal de waarde overschrijdt die is geconfigureerd met MaxConcurrentConnections.

Beschikbaar vanaf: .NET 8.0.

Metriek: kestrel.queued_connections
Naam Type instrument Eenheid (UCUM) Beschrijving
kestrel.queued_connections UpDownCounter {connection} Het aantal verbindingen dat momenteel in de wachtrij staat en wacht totdat deze wordt gestart.
Kenmerk Type Description Voorbeelden Aanwezigheid
network.transport tekenreeks OSI-transportlaag of communicatiemethode tussen processen. tcp; unix Altijd
network.type tekenreeks OSI-netwerklaag of niet-OSI-equivalent. ipv4; ipv6 Indien het transport is tcp of udp.
server.address tekenreeks Serveradresdomeinnaam indien beschikbaar zonder omgekeerde DNS-zoekactie; anders, IP-adres of Unix-domeinnaam. example.com Altijd
server.port int Poortnummer van server 80; 8080; 443 Indien het transport is tcp of udp.

Beschikbaar vanaf: .NET 8.0.

Metriek: kestrel.queued_requests
Naam Type instrument Eenheid (UCUM) Beschrijving
kestrel.queued_requests UpDownCounter {request} Aantal HTTP-aanvragen voor multiplexed verbindingen (HTTP/2 en HTTP/3) die momenteel in de wachtrij staan en wachten om te worden gestart.
Kenmerk Type Description Voorbeelden Aanwezigheid
network.protocol.name tekenreeks OSI-toepassingslaag of niet-OSI-equivalent. http; web_sockets Altijd
network.protocol.version tekenreeks Versie van het protocol dat is opgegeven in network.protocol.name. 1.1; 2 Altijd
network.transport tekenreeks OSI-transportlaag of communicatiemethode tussen processen. tcp; unix Altijd
network.type tekenreeks OSI-netwerklaag of niet-OSI-equivalent. ipv4; ipv6 Indien het transport is tcp of udp.
server.address tekenreeks Serveradresdomeinnaam indien beschikbaar zonder omgekeerde DNS-zoekactie; anders, IP-adres of Unix-domeinnaam. example.com Altijd
server.port int Poortnummer van server 80; 8080; 443 Indien het transport is tcp of udp.

Beschikbaar vanaf: .NET 8.0.

Metriek: kestrel.upgraded_connections
Naam Type instrument Eenheid (UCUM) Beschrijving
kestrel.upgraded_connections UpDownCounter {connection} Aantal verbindingen dat momenteel wordt bijgewerkt (WebSockets).
Kenmerk Type Description Voorbeelden Aanwezigheid
network.transport tekenreeks OSI-transportlaag of communicatiemethode tussen processen. tcp; unix Altijd
network.type tekenreeks OSI-netwerklaag of niet-OSI-equivalent. ipv4; ipv6 Indien het transport is tcp of udp.
server.address tekenreeks Serveradresdomeinnaam indien beschikbaar zonder omgekeerde DNS-zoekactie; anders, IP-adres of Unix-domeinnaam. example.com Altijd
server.port int Poortnummer van server 80; 8080; 443 Indien het transport is tcp of udp.

De teller houdt alleen HTTP/1.1-verbindingen bij.

Beschikbaar vanaf: .NET 8.0.

Metriek: kestrel.tls_handshake.duration
Naam Type instrument Eenheid (UCUM) Beschrijving
kestrel.tls_handshake.duration Histogram s De duur van TLS-handshakes op de server.
Kenmerk Type Description Voorbeelden Aanwezigheid
error.type tekenreeks De volledige naam van het uitzonderingstype. System.OperationCanceledException; Contoso.MyException Als er een uitzondering is opgetreden.
network.transport tekenreeks OSI-transportlaag of communicatiemethode tussen processen. tcp; unix Altijd
network.type tekenreeks OSI-netwerklaag of niet-OSI-equivalent. ipv4; ipv6 Indien het transport is tcp of udp.
server.address tekenreeks Serveradresdomeinnaam indien beschikbaar zonder omgekeerde DNS-zoekactie; anders, IP-adres of Unix-domeinnaam. example.com Altijd
server.port int Poortnummer van server 80; 8080; 443 Indien het transport is tcp of udp.
tls.protocol.version tekenreeks TLS-protocolversie. 1.2; 1.3 Als de verbinding is beveiligd met TLS.

Wanneer u OpenTelemetry gebruikt, worden de standaardbuckets voor deze metic ingesteld op [ 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 ].

Beschikbaar vanaf: .NET 8.0.

Metriek: kestrel.active_tls_handshakes
Naam Type instrument Eenheid (UCUM) Beschrijving
kestrel.active_tls_handshakes UpDownCounter {handshake} Aantal TLS-handshakes dat momenteel wordt uitgevoerd op de server.
Kenmerk Type Description Voorbeelden Aanwezigheid
network.transport tekenreeks OSI-transportlaag of communicatiemethode tussen processen. tcp; unix Altijd
network.type tekenreeks OSI-netwerklaag of niet-OSI-equivalent. ipv4; ipv6 Indien het transport is tcp of udp.
server.address tekenreeks Serveradresdomeinnaam indien beschikbaar zonder omgekeerde DNS-zoekactie; anders, IP-adres of Unix-domeinnaam. example.com Altijd
server.port int Poortnummer van server 80; 8080; 443 Indien het transport is tcp of udp.

Beschikbaar vanaf: .NET 8.0.

Microsoft.AspNetCore.Http.Connections

De Microsoft.AspNetCore.Http.Connections metrische gegevens rapporteren verbindingsgegevens van ASP.NET Core SignalR:

Metriek: signalr.server.connection.duration
Naam Type instrument Eenheid (UCUM) Beschrijving
signalr.server.connection.duration Histogram s De duur van verbindingen op de server.
Kenmerk Type Description Voorbeelden Aanwezigheid
signalr.connection.status tekenreeks Sluitingsstatus van SignalR HTTP-verbinding. app_shutdown; timeout Altijd
signalr.transport tekenreeks SignalR-transporttype web_sockets; long_polling Altijd

Beschikbaar vanaf: .NET 8.0.

Weergegeven als Beschrijving
normal_closure De verbinding is normaal gesloten.
timeout De verbinding is gesloten vanwege een time-out.
app_shutdown De verbinding is gesloten omdat de app wordt afgesloten.

signalr.transport een van de volgende:

Weergegeven als Protocol
server_sent_events door de server verzonden gebeurtenissen
long_polling Lange polling
web_sockets WebSocket

Omdat deze metrische waarde de verbindingsduur bijhoudt en in het ideale geval SignalR-verbindingen duurzaam zijn, moeten de buckets langer zijn dan de buckets die worden gebruikt voor aanvraagduur. Als u bijvoorbeeld [0, 0.01, 0.02, 0.05, 0.1, 0.2, 0,5, 1, 2, 5, 10, 30, 60, 120, 300] gebruikt, wordt een bovenste bucket van 5 minuten weergegeven.

Beschikbaar vanaf: .NET 8.0.

Metriek: signalr.server.active_connections
Naam Type instrument Eenheid (UCUM) Beschrijving
signalr.server.active_connections UpDownCounter {connection} Aantal verbindingen dat momenteel actief is op de server.
Kenmerk Type Description Voorbeelden Aanwezigheid
signalr.connection.status tekenreeks Sluitingsstatus van SignalR HTTP-verbinding. app_shutdown; timeout Altijd
signalr.transport tekenreeks SignalR-transporttype web_sockets; long_polling Altijd

Beschikbaar vanaf: .NET 8.0.