Dela via


ASP.NET Core-mått

Den här artikeln beskriver de inbyggda måtten för ASP.NET Core som skapats med hjälp av API:et System.Diagnostics.Metrics . En lista över mått som baseras på det äldre EventCounters-API:et finns här.

Dricks

Mer information om hur du samlar in, rapporterar, berikar och testar ASP.NET Core-mått finns i Använda ASP.NET Core-mått.

Microsoft.AspNetCore.Hosting

Måtten Microsoft.AspNetCore.Hosting rapporterar information på hög nivå om HTTP-begäranden som tagits emot av ASP.NET Core:

Metrisk: http.server.request.duration
Name Instrumenttyp Enhet (UCUM) beskrivning
http.server.request.duration Histogram s Mäter varaktigheten för inkommande HTTP-begäranden.
Attribut Typ Beskrivning Exempel Närvaro
http.route sträng Den matchade vägen. {controller}/{action}/{id?} Om den är tillgänglig.
error.type sträng Beskriver en felklass som åtgärden avslutades med. timeout; name_resolution_error; 500 Om begäran har avslutats med ett fel.
http.request.method sträng HTTP-begärandemetod. GET; POST; HEAD Alltid
http.response.status_code heltal Statuskod för HTTP-svar. 200 Om en skickades.
network.protocol.version sträng Version av protokollet som anges i network.protocol.name. 3.1.1 Alltid
url.scheme sträng URI-schemakomponenten som identifierar det använda protokollet. http; https Alltid
aspnetcore.request.is_unhandled Booleskt Sant när begäran inte hanterades av programpipelinen. true Om begäran var ohanterad.

Den tid som används för att hantera en inkommande HTTP-begäran mätt i värdlagret i ASP.NET Core. Tidsmätningen startar när den underliggande webbvärden har:

  • Tillräckligt tolkade HTTP-begärandehuvudena på den inkommande nätverksströmmen för att identifiera den nya begäran.
  • Initierade kontextdatastrukturerna HttpContext, till exempel .

Tiden slutar när:

  • ASP.NET Core-hanteringspipelinen är klar.
  • Alla svarsdata har skickats.
  • Kontextdatastrukturerna för begäran tas bort.

När du använder OpenTelemetry är standard bucketarna för det här måttet inställda på [ 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 ].

Tillgänglig från och med: .NET 8.0.

Metrisk: http.server.active_requests
Name Instrumenttyp Enhet (UCUM) beskrivning
http.server.active_requests UpDownCounter {request} Mäter antalet samtidiga HTTP-begäranden som för närvarande är under flygning.
Attribut Typ Beskrivning Exempel Närvaro
http.request.method sträng HTTP-begärandemetod. [1] GET; POST; HEAD Alltid
url.scheme sträng URI-schemakomponenten som identifierar det använda protokollet. http; https Alltid

Tillgänglig från och med: .NET 8.0.

Microsoft.AspNetCore.Routing

Måtten Microsoft.AspNetCore.Routing rapporterar information om hur du dirigerar HTTP-begäranden till ASP.NET Core-slutpunkter:

Metrisk: aspnetcore.routing.match_attempts
Name Instrumenttyp Enhet (UCUM) beskrivning
aspnetcore.routing.match_attempts Räknare {match_attempt} Antal begäranden som försökte matchas till en slutpunkt.
Attribut Typ Beskrivning Exempel Närvaro
aspnetcore.routing.match_status sträng Matchningsresultat success; failure Alltid
aspnetcore.routing.is_fallback_route boolean Ett värde som anger om den matchade vägen är en återställningsväg. True Om en väg har matchats.
http.route sträng Den matchade vägen {controller}/{action}/{id?} Om en väg har matchats.

Tillgänglig från och med: .NET 8.0.

Microsoft.AspNetCore.Diagnostics

Måtten Microsoft.AspNetCore.Diagnostics rapporterar diagnostikinformation från ASP.NET Core-felhantering av mellanprogram:

Metrisk: aspnetcore.diagnostics.exceptions
Name Instrumenttyp Enhet (UCUM) beskrivning
aspnetcore.diagnostics.exceptions Räknare {exception} Antal undantag som fångas av undantagshantering av mellanprogram.
Attribut Typ Beskrivning Exempel Närvaro
aspnetcore.diagnostics.exception.result sträng ASP.NET Core-undantagshanteringsresultat för mellanprogram handled; unhandled Alltid
aspnetcore.diagnostics.handler.type sträng Fullständigt typnamn för implementeringen IExceptionHandler som hanterade undantaget. Contoso.MyHandler Om undantaget hanterades av den här hanteraren.
exception.type sträng Det fullständiga namnet på undantagstypen. System.OperationCanceledException; Contoso.MyException Alltid

Tillgänglig från och med: .NET 8.0.

Microsoft.AspNetCore.RateLimiting

Måtten Microsoft.AspNetCore.RateLimiting rapporterar hastighetsbegränsning för information från ASP.NET Core rate-limiting middleware:

Metrisk: aspnetcore.rate_limiting.active_request_leases
Name Instrumenttyp Enhet (UCUM) beskrivning
aspnetcore.rate_limiting.active_request_leases UpDownCounter {request} Antal begäranden som för närvarande är aktiva på den server som har ett frekvensbegränsningslån.
Attribut Typ Beskrivning Exempel Närvaro
aspnetcore.rate_limiting.policy sträng Hastighetsbegränsning principnamn. fixed; sliding; token Om den matchade slutpunkten för begäran hade en hastighetsbegränsningsprincip.

Tillgänglig från och med: .NET 8.0.

Metrisk: aspnetcore.rate_limiting.request_lease.duration
Name Instrumenttyp Enhet (UCUM) beskrivning
aspnetcore.rate_limiting.request_lease.duration Histogram s Varaktigheten för det hastighetsbegränsningslån som innehas av begäranden på servern.
Attribut Typ Beskrivning Exempel Närvaro
aspnetcore.rate_limiting.policy sträng Hastighetsbegränsning principnamn. fixed; sliding; token Om den matchade slutpunkten för begäran hade en hastighetsbegränsningsprincip.

Tillgänglig från och med: .NET 8.0.

Metrisk: aspnetcore.rate_limiting.queued_requests
Name Instrumenttyp Enhet (UCUM) beskrivning
aspnetcore.rate_limiting.queued_requests UpDownCounter {request} Antal begäranden som för närvarande står i kö i väntan på att få ett lån med hastighetsbegränsning.
Attribut Typ Beskrivning Exempel Närvaro
aspnetcore.rate_limiting.policy sträng Hastighetsbegränsning principnamn. fixed; sliding; token Om den matchade slutpunkten för begäran hade en hastighetsbegränsningsprincip.

Tillgänglig från och med: .NET 8.0.

Metrisk: aspnetcore.rate_limiting.request.time_in_queue
Name Instrumenttyp Enhet (UCUM) beskrivning
aspnetcore.rate_limiting.request.time_in_queue Histogram s Den tid som en begäran spenderades i en kö i väntan på att få ett lån med hastighetsbegränsning.
Attribut Typ Beskrivning Exempel Närvaro
aspnetcore.rate_limiting.policy sträng Hastighetsbegränsning principnamn. fixed; sliding; token Om den matchade slutpunkten för begäran hade en hastighetsbegränsningsprincip.
aspnetcore.rate_limiting.result sträng Resultatet av räntebegränsningen visar om lånet har förvärvats eller innehåller en avvisningsorsak. acquired; request_canceled Alltid

Tillgänglig från och med: .NET 8.0.

Metrisk: aspnetcore.rate_limiting.requests
Name Instrumenttyp Enhet (UCUM) beskrivning
aspnetcore.rate_limiting.requests Räknare {request} Antal begäranden som försökte skaffa ett räntebegränsningslån.
Attribut Typ Beskrivning Exempel Närvaro
aspnetcore.rate_limiting.policy sträng Hastighetsbegränsning principnamn. fixed; sliding; token Om den matchade slutpunkten för begäran hade en hastighetsbegränsningsprincip.
aspnetcore.rate_limiting.result sträng Resultatet av räntebegränsningen visar om lånet har förvärvats eller innehåller en avvisningsorsak. acquired; request_canceled Alltid

Tillgänglig från och med: .NET 8.0.

Microsoft.AspNetCore.HeaderParsing

Måtten Microsoft.AspNetCore.HeaderParsing rapporterar information om ASP.NET Core-huvudparsning:

Metrisk: aspnetcore.header_parsing.parse_errors
Name Instrumenttyp Enhet (UCUM) beskrivning
aspnetcore.header_parsing.parse_errors Räknare {parse_error} Antal fel som uppstod vid parsning av HTTP-begärandehuvuden.
Attribut Typ Beskrivning Exempel Närvaro
aspnetcore.header_parsing.header.name sträng Rubriknamnet. Content-Type Alltid
error.type sträng Felmeddelandet. Unable to parse media type value. Alltid

Tillgänglig från och med: .NET 8.0.

Metrisk: aspnetcore.header_parsing.cache_accesses

Måttet genereras endast för HTTP-begärandehuvudparsers som stöder cachelagring.

Name Instrumenttyp Enhet (UCUM) beskrivning
aspnetcore.header_parsing.cache_accesses Räknare {cache_access} Antal gånger som en cachelagring av parsade rubrikvärden användes.
Attribut Typ Beskrivning Exempel Närvaro
aspnetcore.header_parsing.header.name sträng Rubriknamnet. Content-Type Alltid
aspnetcore.header_parsing.cache_access.type sträng Ett värde som anger om huvudets värde hittades i cacheminnet eller inte. Hit; Miss Alltid

Tillgänglig från och med: .NET 8.0.

Microsoft.AspNetCore.Server.Kestrel

Måtten Microsoft.AspNetCore.Server.Kestrel rapporterar HTTP-anslutningsinformation från ASP.NET Core Kestrel-webbserver:

Metrisk: kestrel.active_connections
Name Instrumenttyp Enhet (UCUM) beskrivning
kestrel.active_connections UpDownCounter {connection} Antal anslutningar som för närvarande är aktiva på servern.
Attribut Typ Beskrivning Exempel Närvaro
network.transport sträng OSI-transportskikt eller kommunikationsmetod mellan processer. tcp; unix Alltid
network.type sträng OSI-nätverksskikt eller icke-OSI-motsvarighet. ipv4; ipv6 Om transporten är tcp eller udp.
server.address sträng Serveradressdomännamn om det är tillgängligt utan omvänd DNS-sökning; annars IP-adress eller Unix-domännamn. example.com Alltid
server.port heltal Serverportnummer 80; 8080; 443 Om transporten är tcp eller udp.

Tillgänglig från och med: .NET 8.0.

Metrisk: kestrel.connection.duration
Name Instrumenttyp Enhet (UCUM) beskrivning
kestrel.connection.duration Histogram s Varaktigheten för anslutningarna på servern.
Attribut Typ Beskrivning Exempel Närvaro
error.type sträng Beskriver en typ av fel som anslutningen avslutades med eller den ohanterade undantagstyp som utlöstes under anslutningspipelinen. Kända anslutningsfel finns i Semantiska konventioner för Kestrel-webbservermått. connection_reset; invalid_request_headers; System.OperationCanceledException Om anslutningen slutade med ett känt fel eller om ett undantag utlöstes.
network.protocol.name sträng OSI-programskikt eller icke-OSI-motsvarighet. http; web_sockets Alltid
network.protocol.version sträng Version av protokollet som anges i network.protocol.name. 1.1; 2 Alltid
network.transport sträng OSI-transportskikt eller kommunikationsmetod mellan processer. tcp; unix Alltid
network.type sträng OSI-nätverksskikt eller icke-OSI-motsvarighet. ipv4; ipv6 Om transporten är tcp eller udp.
server.address sträng Serveradressdomännamn om det är tillgängligt utan omvänd DNS-sökning; annars IP-adress eller Unix-domännamn. example.com Alltid
server.port heltal Serverportnummer 80; 8080; 443 Om transporten är tcp eller udp.
tls.protocol.version sträng TLS-protokollversion. 1.2; 1.3 Om anslutningen är skyddad med TLS.

Eftersom det här måttet spårar anslutningens varaktighet, och helst http-anslutningar används för flera begäranden, bör bucketarna vara längre än de som används för begärandevaraktighet. Om du till exempel använder [ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300] får du en övre bucket på 5 minuter.

Från och med .NET 9, när en anslutning slutar med ett känt fel, error.type anges attributvärdet till den kända feltypen. Kända anslutningsfel finns i Semantiska konventioner för Kestrel-webbservermått.

Tillgänglig från och med: .NET 8.

Metrisk: kestrel.rejected_connections
Name Instrumenttyp Enhet (UCUM) beskrivning
kestrel.rejected_connections Räknare {connection} Antal anslutningar som avvisas av servern.
Attribut Typ Beskrivning Exempel Närvaro
network.transport sträng OSI-transportskikt eller kommunikationsmetod mellan processer. tcp; unix Alltid
network.type sträng OSI-nätverksskikt eller icke-OSI-motsvarighet. ipv4; ipv6 Om transporten är tcp eller udp.
server.address sträng Serveradressdomännamn om det är tillgängligt utan omvänd DNS-sökning; annars IP-adress eller Unix-domännamn. example.com Alltid
server.port heltal Serverportnummer 80; 8080; 443 Om transporten är tcp eller udp.

Anslutningar avvisas när det aktiva antalet överskrider det värde som konfigurerats med MaxConcurrentConnections.

Tillgänglig från och med: .NET 8.0.

Metrisk: kestrel.queued_connections
Name Instrumenttyp Enhet (UCUM) beskrivning
kestrel.queued_connections UpDownCounter {connection} Antal anslutningar som för närvarande är i kö och som väntar på att starta.
Attribut Typ Beskrivning Exempel Närvaro
network.transport sträng OSI-transportskikt eller kommunikationsmetod mellan processer. tcp; unix Alltid
network.type sträng OSI-nätverksskikt eller icke-OSI-motsvarighet. ipv4; ipv6 Om transporten är tcp eller udp.
server.address sträng Serveradressdomännamn om det är tillgängligt utan omvänd DNS-sökning; annars IP-adress eller Unix-domännamn. example.com Alltid
server.port heltal Serverportnummer 80; 8080; 443 Om transporten är tcp eller udp.

Tillgänglig från och med: .NET 8.0.

Metrisk: kestrel.queued_requests
Name Instrumenttyp Enhet (UCUM) beskrivning
kestrel.queued_requests UpDownCounter {request} Antal HTTP-begäranden på multiplexade anslutningar (HTTP/2 och HTTP/3) som för närvarande står i kö och väntar på att starta.
Attribut Typ Beskrivning Exempel Närvaro
network.protocol.name sträng OSI-programskikt eller icke-OSI-motsvarighet. http; web_sockets Alltid
network.protocol.version sträng Version av protokollet som anges i network.protocol.name. 1.1; 2 Alltid
network.transport sträng OSI-transportskikt eller kommunikationsmetod mellan processer. tcp; unix Alltid
network.type sträng OSI-nätverksskikt eller icke-OSI-motsvarighet. ipv4; ipv6 Om transporten är tcp eller udp.
server.address sträng Serveradressdomännamn om det är tillgängligt utan omvänd DNS-sökning; annars IP-adress eller Unix-domännamn. example.com Alltid
server.port heltal Serverportnummer 80; 8080; 443 Om transporten är tcp eller udp.

Tillgänglig från och med: .NET 8.0.

Metrisk: kestrel.upgraded_connections
Name Instrumenttyp Enhet (UCUM) beskrivning
kestrel.upgraded_connections UpDownCounter {connection} Antal anslutningar som för närvarande uppgraderas (WebSockets).
Attribut Typ Beskrivning Exempel Närvaro
network.transport sträng OSI-transportskikt eller kommunikationsmetod mellan processer. tcp; unix Alltid
network.type sträng OSI-nätverksskikt eller icke-OSI-motsvarighet. ipv4; ipv6 Om transporten är tcp eller udp.
server.address sträng Serveradressdomännamn om det är tillgängligt utan omvänd DNS-sökning; annars IP-adress eller Unix-domännamn. example.com Alltid
server.port heltal Serverportnummer 80; 8080; 443 Om transporten är tcp eller udp.

Räknaren spårar endast HTTP/1.1-anslutningar.

Tillgänglig från och med: .NET 8.0.

Metrisk: kestrel.tls_handshake.duration
Name Instrumenttyp Enhet (UCUM) beskrivning
kestrel.tls_handshake.duration Histogram s Varaktigheten för TLS-handskakningar på servern.
Attribut Typ Beskrivning Exempel Närvaro
error.type sträng Det fullständiga namnet på undantagstypen. System.OperationCanceledException; Contoso.MyException Om ett undantag utlöstes.
network.transport sträng OSI-transportskikt eller kommunikationsmetod mellan processer. tcp; unix Alltid
network.type sträng OSI-nätverksskikt eller icke-OSI-motsvarighet. ipv4; ipv6 Om transporten är tcp eller udp.
server.address sträng Serveradressdomännamn om det är tillgängligt utan omvänd DNS-sökning; annars IP-adress eller Unix-domännamn. example.com Alltid
server.port heltal Serverportnummer 80; 8080; 443 Om transporten är tcp eller udp.
tls.protocol.version sträng TLS-protokollversion. 1.2; 1.3 Om anslutningen är skyddad med TLS.

När du använder OpenTelemetry är standard bucketarna för denna metic inställda på [ 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 ].

Tillgänglig från och med: .NET 8.0.

Metrisk: kestrel.active_tls_handshakes
Name Instrumenttyp Enhet (UCUM) beskrivning
kestrel.active_tls_handshakes UpDownCounter {handshake} Antal TLS-handskakningar som pågår på servern.
Attribut Typ Beskrivning Exempel Närvaro
network.transport sträng OSI-transportskikt eller kommunikationsmetod mellan processer. tcp; unix Alltid
network.type sträng OSI-nätverksskikt eller icke-OSI-motsvarighet. ipv4; ipv6 Om transporten är tcp eller udp.
server.address sträng Serveradressdomännamn om det är tillgängligt utan omvänd DNS-sökning; annars IP-adress eller Unix-domännamn. example.com Alltid
server.port heltal Serverportnummer 80; 8080; 443 Om transporten är tcp eller udp.

Tillgänglig från och med: .NET 8.0.

Microsoft.AspNetCore.Http.Connections

Måtten Microsoft.AspNetCore.Http.Connections rapporterar anslutningsinformation från ASP.NET Core SignalR:

Metrisk: signalr.server.connection.duration
Name Instrumenttyp Enhet (UCUM) beskrivning
signalr.server.connection.duration Histogram s Varaktigheten för anslutningarna på servern.
Attribut Typ Beskrivning Exempel Närvaro
signalr.connection.status sträng SignalR HTTP-anslutningsstängningsstatus. app_shutdown; timeout Alltid
signalr.transport sträng SignalR-transporttyp web_sockets; long_polling Alltid

Tillgänglig från och med: .NET 8.0.

Värde beskrivning
normal_closure Anslutningen stängdes normalt.
timeout Anslutningen stängdes på grund av en tidsgräns.
app_shutdown Anslutningen stängdes eftersom appen stängs av.

signalr.transport är något av följande:

Värde Protokoll
server_sent_events server-skickade händelser
long_polling Lång avsökning
web_sockets WebSocket

Eftersom det här måttet spårar anslutningens varaktighet, och helst signalR-anslutningar är hållbara, bör bucketarna vara längre än de som används för begärandevaraktighet. Om du till exempel använder [0, 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300] får du en övre bucket på 5 minuter.

Tillgänglig från och med: .NET 8.0.

Metrisk: signalr.server.active_connections
Name Instrumenttyp Enhet (UCUM) beskrivning
signalr.server.active_connections UpDownCounter {connection} Antal anslutningar som för närvarande är aktiva på servern.
Attribut Typ Beskrivning Exempel Närvaro
signalr.connection.status sträng SignalR HTTP-anslutningsstängningsstatus. app_shutdown; timeout Alltid
signalr.transport sträng SignalR-transporttyp web_sockets; long_polling Alltid

Tillgänglig från och med: .NET 8.0.