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. |
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:
aspnetcore.rate_limiting.active_request_leases
aspnetcore.rate_limiting.request_lease.duration
aspnetcore.rate_limiting.queued_requests
aspnetcore.rate_limiting.request.time_in_queue
aspnetcore.rate_limiting.requests
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:
kestrel.active_connections
kestrel.connection.duration
kestrel.rejected_connections
kestrel.queued_connections
kestrel.queued_requests
kestrel.upgraded_connections
kestrel.tls_handshake.duration
kestrel.active_tls_handshakes
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.