metriky ASP.NET Core
Tento článek popisuje metriky integrované pro ASP.NET Core vytvořené pomocí System.Diagnostics.Metrics rozhraní API. Seznam metrik založených na starším rozhraní API EventCounters najdete tady.
Tip
Další informace o shromažďování, vytváření sestav, rozšiřování a testování metrik ASP.NET Core najdete v tématu Použití metrik ASP.NET Core.
Microsoft.AspNetCore.Hosting
Metriky Microsoft.AspNetCore.Hosting
hlásí základní informace o požadavcích HTTP přijatých službou ASP.NET Core:
Metrika: http.server.request.duration
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
http.server.request.duration |
Histogram | s |
Měří dobu trvání příchozích požadavků HTTP. |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
http.route |
string | Odpovídající trasa. | {controller}/{action}/{id?} |
Pokud je k dispozici. |
error.type |
string | Popisuje třídu chyby, na které operace skončila. | timeout ; name_resolution_error ; 500 |
Pokud žádost skončila s chybou. |
http.request.method |
string | Metoda požadavku HTTP. | GET ; POST ; HEAD |
Always |
http.response.status_code |
int | Stavový kód odpovědi HTTP. | 200 |
Pokud byl odeslán. |
network.protocol.version |
string | Verze protokolu zadaného v network.protocol.name . |
3.1.1 |
Always |
url.scheme |
string | Komponenta schématu identifikátoru URI identifikující použitý protokol. | http ; https |
Always |
aspnetcore.request.is_unhandled |
Logická hodnota | Hodnota True, pokud kanál aplikace nezpracoval požadavek. | true |
Pokud byl požadavek neošetřený. |
Čas použitý ke zpracování příchozího požadavku HTTP měřený na hostitelské vrstvě ASP.NET Core. Časové měření začíná, jakmile má podkladový webový hostitel:
- Dostatečně parsovali hlavičky požadavku HTTP v příchozím síťovém streamu, aby bylo možné identifikovat nový požadavek.
- Inicializovali kontextové datové struktury, jako je například HttpContext.
Čas končí v následujících případech:
- Spuštění kanálu obslužné rutiny ASP.NET Core.
- Všechna data odpovědi byla odeslána.
- Zlikvidují se kontextové datové struktury požadavku.
Při použití OpenTelemetry jsou výchozí kontejnery pro tuto metriku nastaveny na [ 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 ].
Dostupné od: .NET 8.0.
Metrika: http.server.active_requests
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
http.server.active_requests |
UpDownCounter | {request} |
Měří počet souběžných požadavků HTTP, které jsou aktuálně v testovací verzi. |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
http.request.method |
string | Metoda požadavku HTTP. [1] | GET ; POST ; HEAD |
Always |
url.scheme |
string | Komponenta schématu identifikátoru URI identifikující použitý protokol. | http ; https |
Always |
Dostupné od: .NET 8.0.
Microsoft.AspNetCore.Routing
Sestava Microsoft.AspNetCore.Routing
metrik o směrování požadavků HTTP na koncové body ASP.NET Core:
Metrika: aspnetcore.routing.match_attempts
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
aspnetcore.routing.match_attempts |
Čítač | {match_attempt} |
Počet žádostí, které se pokusily spárovat s koncovým bodem |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
aspnetcore.routing.match_status |
string | Výsledek shody | success ; failure |
Always |
aspnetcore.routing.is_fallback_route |
boolean | Hodnota, která označuje, jestli je spárovaná trasa náhradní trasou. | True |
Pokud se trasa úspěšně shodovala. |
http.route |
string | Odpovídající trasa | {controller}/{action}/{id?} |
Pokud se trasa úspěšně shodovala. |
Dostupné od: .NET 8.0.
Microsoft.AspNetCore.Diagnostics
Informace Microsoft.AspNetCore.Diagnostics
o diagnostice metriky ze ASP.NET middlewaru pro zpracování chyb core:
Metrika: aspnetcore.diagnostics.exceptions
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
aspnetcore.diagnostics.exceptions |
Čítač | {exception} |
Počet výjimek zachycených middlewarem zpracování výjimek |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
aspnetcore.diagnostics.exception.result |
string | výsledek zpracování middlewaru výjimky ASP.NET Core | handled ; unhandled |
Always |
aspnetcore.diagnostics.handler.type |
string | Úplný název IExceptionHandler typu implementace, která zpracovala výjimku. |
Contoso.MyHandler |
Pokud byla výjimka zpracována touto obslužnou rutinou. |
exception.type |
string | Úplný název typu výjimky. | System.OperationCanceledException ; Contoso.MyException |
Always |
Dostupné od: .NET 8.0.
Microsoft.AspNetCore.RateLimiting
Informace Microsoft.AspNetCore.RateLimiting
o omezování rychlosti sestavy metrik z ASP.NET middlewaru s omezením rychlosti jádra:
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
Metrika: aspnetcore.rate_limiting.active_request_leases
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
aspnetcore.rate_limiting.active_request_leases |
UpDownCounter | {request} |
Počet požadavků, které jsou aktuálně aktivní na serveru, které obsahují zapůjčení s omezením rychlosti |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
aspnetcore.rate_limiting.policy |
string | Název zásady omezování rychlosti | fixed ; sliding ; token |
Pokud měl odpovídající koncový bod pro požadavek zásadu omezování rychlosti. |
Dostupné od: .NET 8.0.
Metrika: aspnetcore.rate_limiting.request_lease.duration
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
aspnetcore.rate_limiting.request_lease.duration |
Histogram | s |
Doba trvání zapůjčení omezování rychlosti uchovávané požadavky na serveru. |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
aspnetcore.rate_limiting.policy |
string | Název zásady omezování rychlosti | fixed ; sliding ; token |
Pokud měl odpovídající koncový bod pro požadavek zásadu omezování rychlosti. |
Dostupné od: .NET 8.0.
Metrika: aspnetcore.rate_limiting.queued_requests
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
aspnetcore.rate_limiting.queued_requests |
UpDownCounter | {request} |
Počet požadavků, které jsou aktuálně zařazeny do fronty čekající na získání zapůjčení omezování rychlosti |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
aspnetcore.rate_limiting.policy |
string | Název zásady omezování rychlosti | fixed ; sliding ; token |
Pokud měl odpovídající koncový bod pro požadavek zásadu omezování rychlosti. |
Dostupné od: .NET 8.0.
Metrika: aspnetcore.rate_limiting.request.time_in_queue
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
aspnetcore.rate_limiting.request.time_in_queue |
Histogram | s |
Čas strávený žádostí ve frontě čekající na získání zapůjčení omezování rychlosti. |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
aspnetcore.rate_limiting.policy |
string | Název zásady omezování rychlosti | fixed ; sliding ; token |
Pokud měl odpovídající koncový bod pro požadavek zásadu omezování rychlosti. |
aspnetcore.rate_limiting.result |
string | Výsledek omezování rychlosti ukazuje, jestli bylo zapůjčení získáno nebo obsahuje důvod zamítnutí. | acquired ; request_canceled |
Always |
Dostupné od: .NET 8.0.
Metrika: aspnetcore.rate_limiting.requests
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
aspnetcore.rate_limiting.requests |
Čítač | {request} |
Počet žádostí, které se pokusily získat zapůjčení omezování rychlosti |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
aspnetcore.rate_limiting.policy |
string | Název zásady omezování rychlosti | fixed ; sliding ; token |
Pokud měl odpovídající koncový bod pro požadavek zásadu omezování rychlosti. |
aspnetcore.rate_limiting.result |
string | Výsledek omezování rychlosti ukazuje, jestli bylo zapůjčení získáno nebo obsahuje důvod zamítnutí. | acquired ; request_canceled |
Always |
Dostupné od: .NET 8.0.
Microsoft.AspNetCore.HeaderParsing
Informace Microsoft.AspNetCore.HeaderParsing
o analýze hlaviček ASP.NET Core v sestavě metrik:
Metrika: aspnetcore.header_parsing.parse_errors
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
aspnetcore.header_parsing.parse_errors |
Čítač | {parse_error} |
Počet chyb, ke kterým došlo při analýze hlaviček požadavků HTTP |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
aspnetcore.header_parsing.header.name |
string | Název záhlaví. | Content-Type |
Always |
error.type |
string | Chybová zpráva | Unable to parse media type value. |
Always |
Dostupné od: .NET 8.0.
Metrika: aspnetcore.header_parsing.cache_accesses
Metrika se vygeneruje jenom pro analyzátory hlaviček požadavků HTTP, které podporují ukládání do mezipaměti.
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
aspnetcore.header_parsing.cache_accesses |
Čítač | {cache_access} |
Počet přístupů k mezipaměti, do které se ukládají analyzované hodnoty hlaviček |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
aspnetcore.header_parsing.header.name |
string | Název záhlaví. | Content-Type |
Always |
aspnetcore.header_parsing.cache_access.type |
string | Hodnota označující, zda byla hodnota hlavičky nalezena v mezipaměti, nebo ne. | Hit ; Miss |
Always |
Dostupné od: .NET 8.0.
Microsoft.AspNetCore.Server.Kestrel
Metriky Microsoft.AspNetCore.Server.Kestrel
hlásí informace o připojení HTTP z webového serveru ASP.NET Core Kestrel:
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
Metrika: kestrel.active_connections
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
kestrel.active_connections |
UpDownCounter | {connection} |
Počet připojení, která jsou aktuálně aktivní na serveru |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
network.transport |
string | Přenosová vrstva OSI nebo metoda komunikace mezi procesy | tcp ; unix |
Always |
network.type |
string | Síťová vrstva OSI nebo jiná než OSI ekvivalentní. | ipv4 ; ipv6 |
Je-li přeprava tcp nebo udp . |
server.address |
string | Název domény adresy serveru, pokud je k dispozici bez zpětného vyhledávání DNS; jinak, IP adresa nebo název soketu domény unix. | example.com |
Always |
server.port |
int | Číslo portu serveru | 80 ; 8080 ; 443 |
Je-li přeprava tcp nebo udp . |
Dostupné od: .NET 8.0.
Metrika: kestrel.connection.duration
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
kestrel.connection.duration |
Histogram | s |
Doba trvání připojení na serveru. |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
error.type |
string | Úplný název typu výjimky. | System.OperationCanceledException ; Contoso.MyException |
Pokud byla vyvolán výjimka. |
network.protocol.name |
string | Aplikační vrstva OSI nebo jiná než OSI ekvivalentní. | http ; web_sockets |
Always |
network.protocol.version |
string | Verze protokolu zadaného v network.protocol.name . |
1.1 ; 2 |
Always |
network.transport |
string | Přenosová vrstva OSI nebo metoda komunikace mezi procesy | tcp ; unix |
Always |
network.type |
string | Síťová vrstva OSI nebo jiná než OSI ekvivalentní. | ipv4 ; ipv6 |
Je-li přeprava tcp nebo udp . |
server.address |
string | Název domény adresy serveru, pokud je k dispozici bez zpětného vyhledávání DNS; jinak, IP adresa nebo název soketu domény unix. | example.com |
Always |
server.port |
int | Číslo portu serveru | 80 ; 8080 ; 443 |
Je-li přeprava tcp nebo udp . |
tls.protocol.version |
string | Verze protokolu TLS. | 1.2 ; 1.3 |
Pokud je připojení zabezpečené pomocí protokolu TLS. |
Vzhledem k tomu, že tato metrika sleduje dobu trvání připojení a v ideálním případě se připojení HTTP používají pro více požadavků, měly by být kontejnery delší než ty, které se používají pro dobu trvání požadavků. Například použití [ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300] poskytuje horní kbelík s 5 minutami.
Dostupné od: .NET 8.0.
Metrika: kestrel.rejected_connections
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
kestrel.rejected_connections |
Čítač | {connection} |
Počet připojení odmítnutých serverem |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
network.transport |
string | Přenosová vrstva OSI nebo metoda komunikace mezi procesy | tcp ; unix |
Always |
network.type |
string | Síťová vrstva OSI nebo jiná než OSI ekvivalentní. | ipv4 ; ipv6 |
Je-li přeprava tcp nebo udp . |
server.address |
string | Název domény adresy serveru, pokud je k dispozici bez zpětného vyhledávání DNS; jinak, IP adresa nebo název soketu domény unix. | example.com |
Always |
server.port |
int | Číslo portu serveru | 80 ; 8080 ; 443 |
Je-li přeprava tcp nebo udp . |
Připojení iony jsou odmítnuty, pokud aktuálně aktivní počet překračuje hodnotu nakonfigurovanou MaxConcurrentConnections
.
Dostupné od: .NET 8.0.
Metrika: kestrel.queued_connections
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
kestrel.queued_connections |
UpDownCounter | {connection} |
Počet připojení, která jsou aktuálně zařazená do fronty a čekají na spuštění |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
network.transport |
string | Přenosová vrstva OSI nebo metoda komunikace mezi procesy | tcp ; unix |
Always |
network.transport |
string | Síťová vrstva OSI nebo jiná než OSI ekvivalentní. | ipv4 ; ipv6 |
Je-li přeprava tcp nebo udp . |
server.address |
string | Název domény adresy serveru, pokud je k dispozici bez zpětného vyhledávání DNS; jinak, IP adresa nebo název soketu domény unix. | example.com |
Always |
server.port |
int | Číslo portu serveru | 80 ; 8080 ; 443 |
Je-li přeprava tcp nebo udp . |
Dostupné od: .NET 8.0.
Metrika: kestrel.queued_requests
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
kestrel.queued_requests |
UpDownCounter | {request} |
Počet požadavků HTTP na multiplexovaná připojení (HTTP/2 a HTTP/3), které jsou aktuálně zařazeny do fronty a čekají na spuštění. |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
network.protocol.name |
string | Aplikační vrstva OSI nebo jiná než OSI ekvivalentní. | http ; web_sockets |
Always |
network.protocol.version |
string | Verze protokolu zadaného v network.protocol.name . |
1.1 ; 2 |
Always |
network.transport |
string | Přenosová vrstva OSI nebo metoda komunikace mezi procesy | tcp ; unix |
Always |
network.transport |
string | Síťová vrstva OSI nebo jiná než OSI ekvivalentní. | ipv4 ; ipv6 |
Je-li přeprava tcp nebo udp . |
server.address |
string | Název domény adresy serveru, pokud je k dispozici bez zpětného vyhledávání DNS; jinak, IP adresa nebo název soketu domény unix. | example.com |
Always |
server.port |
int | Číslo portu serveru | 80 ; 8080 ; 443 |
Je-li přeprava tcp nebo udp . |
Dostupné od: .NET 8.0.
Metrika: kestrel.upgraded_connections
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
kestrel.upgraded_connections |
UpDownCounter | {connection} |
Počet aktuálně upgradovaných připojení (WebSockets). |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
network.transport |
string | Přenosová vrstva OSI nebo metoda komunikace mezi procesy | tcp ; unix |
Always |
network.transport |
string | Síťová vrstva OSI nebo jiná než OSI ekvivalentní. | ipv4 ; ipv6 |
Je-li přeprava tcp nebo udp . |
server.address |
string | Název domény adresy serveru, pokud je k dispozici bez zpětného vyhledávání DNS; jinak, IP adresa nebo název soketu domény unix. | example.com |
Always |
server.port |
int | Číslo portu serveru | 80 ; 8080 ; 443 |
Je-li přeprava tcp nebo udp . |
Čítač sleduje pouze připojení HTTP/1.1.
Dostupné od: .NET 8.0.
Metrika: kestrel.tls_handshake.duration
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
kestrel.tls_handshake.duration |
Histogram | s |
Doba trvání handshakes protokolu TLS na serveru. |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
error.type |
string | Úplný název typu výjimky. | System.OperationCanceledException ; Contoso.MyException |
Pokud byla vyvolán výjimka. |
network.transport |
string | Přenosová vrstva OSI nebo metoda komunikace mezi procesy | tcp ; unix |
Always |
network.transport |
string | Síťová vrstva OSI nebo jiná než OSI ekvivalentní. | ipv4 ; ipv6 |
Je-li přeprava tcp nebo udp . |
server.address |
string | Název domény adresy serveru, pokud je k dispozici bez zpětného vyhledávání DNS; jinak, IP adresa nebo název soketu domény unix. | example.com |
Always |
server.port |
int | Číslo portu serveru | 80 ; 8080 ; 443 |
Je-li přeprava tcp nebo udp . |
tls.protocol.version |
string | Verze protokolu TLS. | 1.2 ; 1.3 |
Pokud je připojení zabezpečené pomocí protokolu TLS. |
Při použití OpenTelemetry jsou výchozí kontejnery pro tuto metickou hodnotu nastaveny na [ 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 ].
Dostupné od: .NET 8.0.
Metrika: kestrel.active_tls_handshakes
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
kestrel.active_tls_handshakes |
UpDownCounter | {handshake} |
Počet metod handshake protokolu TLS, které aktuálně probíhají na serveru |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
network.transport |
string | Přenosová vrstva OSI nebo metoda komunikace mezi procesy | tcp ; unix |
Always |
network.transport |
string | Síťová vrstva OSI nebo jiná než OSI ekvivalentní. | ipv4 ; ipv6 |
Je-li přeprava tcp nebo udp . |
server.address |
string | Název domény adresy serveru, pokud je k dispozici bez zpětného vyhledávání DNS; jinak, IP adresa nebo název soketu domény unix. | example.com |
Always |
server.port |
int | Číslo portu serveru | 80 ; 8080 ; 443 |
Je-li přeprava tcp nebo udp . |
Dostupné od: .NET 8.0.
Microsoft.AspNetCore.Http.Connections
Metriky Microsoft.AspNetCore.Http.Connections
hlásí informace o připojení z ASP.NET Core SignalR:
Metrika: signalr.server.connection.duration
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
signalr.server.connection.duration |
Histogram | s |
Doba trvání připojení na serveru. |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
signalr.connection.status |
string | Stav uzavření připojení HTTP služby SignalR. | app_shutdown ; timeout |
Always |
signalr.transport |
string | Typ přenosu signalR | web_sockets ; long_polling |
Always |
Dostupné od: .NET 8.0.
Hodnota | Popis |
---|---|
normal_closure |
Připojení bylo normálně uzavřeno. |
timeout |
Připojení bylo uzavřeno kvůli vypršení časového limitu. |
app_shutdown |
Připojení se ukončilo, protože aplikace se vypíná. |
signalr.transport
je jedna z následujících možností:
Hodnota | Protokol |
---|---|
server_sent_events |
události odeslané serverem |
long_polling |
Dlouhé dotazování |
web_sockets |
WebSocket |
Vzhledem k tomu, že tato metrika sleduje dobu trvání připojení a v ideálním případě jsou připojení SignalR odolná, měly by být kontejnery delší než ty, které se používají pro dobu trvání požadavků. Například použití [0, 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300] poskytuje horní kbelík s 5 minutami.
Dostupné od: .NET 8.0.
Metrika: signalr.server.active_connections
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
signalr.server.active_connections |
UpDownCounter | {connection} |
Počet připojení, která jsou aktuálně aktivní na serveru |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
signalr.connection.status |
string | Stav uzavření připojení HTTP služby SignalR. | app_shutdown ; timeout |
Always |
signalr.transport |
string | Typ přenosu signalR | web_sockets ; long_polling |
Always |
Dostupné od: .NET 8.0.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro