metrische gegevens van ASP.NET Core
Artikel 11/16/2024
8 inzenders
Feedback
In dit artikel
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
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
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
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
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.
De Microsoft.AspNetCore.HeaderParsing
metrische gegevens rapporteren informatie over het parseren van ASP.NET Core-header:
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.
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
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
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
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:
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.