Megosztás a következőn keresztül:


alapvető metrikák ASP.NET

Ez a cikk az API használatával létrehozott ASP.NET Core beépített metrikáit System.Diagnostics.Metrics ismerteti. A régebbi EventCounters API-n alapuló metrikák listáját itt találja.

Tipp.

Az ASP.NET Core-metrikák gyűjtéséről, jelentéséről, bővítéséről és teszteléséről további információt a ASP.NET Core-metrikák használata című témakörben talál.

Microsoft.AspNetCore.Hosting

A Microsoft.AspNetCore.Hosting metrikák magas szintű információkat jelentenek az ASP.NET Core által fogadott HTTP-kérelmekről:

Metrikus: http.server.request.duration
Név Műszer típusa Egység (UCUM) Leírás
http.server.request.duration Hisztogram s A bejövő HTTP-kérések időtartamát méri.
Attribútum Típus Leírás Példák Jelenlét
http.route húr A egyeztetett útvonal. {controller}/{action}/{id?} Ha elérhető.
error.type húr Egy hibaosztályt ír le, amellyel a művelet befejeződött. timeout; name_resolution_error; 500 Ha a kérés hiba miatt véget ért.
http.request.method húr HTTP-kérési módszer. GET; POST; HEAD Mindig
http.response.status_code egész HTTP-válasz állapotkódja. 200 Ha valaki el lett küldve.
network.protocol.version húr A megadott protokoll network.protocol.nameverziója. 3.1.1 Mindig
url.scheme húr A használt protokollt azonosító URI-sémaösszetevő . http; https Mindig
aspnetcore.request.is_unhandled Logikai Igaz, ha a kérést nem az alkalmazásfolyamat kezelte. true Ha a kérés kezeletlen volt.

A bejövő HTTP-kérések kezelésére használt idő a ASP.NET Core üzemeltetési rétegében mért módon. Az időmérés akkor indul el, amikor a mögöttes webgazda a következőt nyitja meg:

  • Megfelelően elemezte a HTTP-kérés fejléceit a bejövő hálózati adatfolyamon az új kérés azonosításához.
  • Inicializálta a környezeti adatstruktúrát, például a HttpContext.

Az idő a következő időpontban ér véget:

  • A ASP.NET Core kezelőfolyamat végrehajtása befejeződött.
  • Minden válaszadat elküldve.
  • A kérelem környezeti adatstruktúráinak megsemmisítése folyamatban van.

OpenTelemetria használatakor a metrika alapértelmezett gyűjtői a következők: [ 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 ].

A következőtől kezdve érhető el: .NET 8.0.

Metrikus: http.server.active_requests
Név Műszer típusa Egység (UCUM) Leírás
http.server.active_requests UpDownCounter {request} A jelenleg futó egyidejű HTTP-kérések számát méri.
Attribútum Típus Leírás Példák Jelenlét
http.request.method húr HTTP-kérési módszer. [1] GET; POST; HEAD Mindig
url.scheme húr A használt protokollt azonosító URI-sémaösszetevő . http; https Mindig

A következőtől kezdve érhető el: .NET 8.0.

Microsoft.AspNetCore.Routing

A Microsoft.AspNetCore.Routing metrikák a HTTP-kérések ASP.NET Core-végpontokra való átirányításával kapcsolatos információkat jelentik:

Metrikus: aspnetcore.routing.match_attempts
Név Műszer típusa Egység (UCUM) Leírás
aspnetcore.routing.match_attempts Számláló {match_attempt} Azoknak a kéréseknek a száma, amelyeket egy végponthoz próbáltak egyeztetni.
Attribútum Típus Leírás Példák Jelenlét
aspnetcore.routing.match_status húr Találat egyeztetése success; failure Mindig
aspnetcore.routing.is_fallback_route Logikai Egy érték, amely jelzi, hogy a megfeleltetett útvonal tartalék útvonal-e. True Ha egy útvonal sikeresen megfelelt.
http.route húr A egyeztetett útvonal {controller}/{action}/{id?} Ha egy útvonal sikeresen megfelelt.

A következőtől kezdve érhető el: .NET 8.0.

Microsoft.AspNetCore.Diagnostics

A Microsoft.AspNetCore.Diagnostics metrikák diagnosztikai információkat jelentenek ASP.NET Core hibakezelési köztes szoftverből:

Metrikus: aspnetcore.diagnostics.exceptions
Név Műszer típusa Egység (UCUM) Leírás
aspnetcore.diagnostics.exceptions Számláló {exception} A köztes szoftver kivételeinek száma.
Attribútum Típus Leírás Példák Jelenlét
aspnetcore.diagnostics.exception.result húr ASP.NET Core-kivétel köztes szoftverkezelési eredménye handled; unhandled Mindig
aspnetcore.diagnostics.handler.type húr A kivételt kezelő implementáció teljes típusa IExceptionHandler . Contoso.MyHandler Ha a kivételt ez a kezelő kezelte.
exception.type húr A kivételtípus teljes neve. System.OperationCanceledException; Contoso.MyException Mindig

A következőtől kezdve érhető el: .NET 8.0.

Microsoft.AspNetCore.RateLimiting

A Microsoft.AspNetCore.RateLimiting metrikák a sebességkorlátozó adatokat ASP.NET Core rate-limiting middleware-ből jelentik:

Metrikus: aspnetcore.rate_limiting.active_request_leases
Név Műszer típusa Egység (UCUM) Leírás
aspnetcore.rate_limiting.active_request_leases UpDownCounter {request} Azon kérések száma, amelyek jelenleg aktívak azon a kiszolgálón, amely sebességkorlátozó bérletet tárol.
Attribútum Típus Leírás Példák Jelenlét
aspnetcore.rate_limiting.policy húr Sebességkorlátozó házirend neve. fixed; sliding; token Ha a kérelem egyeztetett végpontja sebességkorlátozó szabályzattal rendelkezik.

A következőtől kezdve érhető el: .NET 8.0.

Metrikus: aspnetcore.rate_limiting.request_lease.duration
Név Műszer típusa Egység (UCUM) Leírás
aspnetcore.rate_limiting.request_lease.duration Hisztogram s A kiszolgálón lévő kérések által birtokolt díjkorlátozó bérlet időtartama.
Attribútum Típus Leírás Példák Jelenlét
aspnetcore.rate_limiting.policy húr Sebességkorlátozó házirend neve. fixed; sliding; token Ha a kérelem egyeztetett végpontja sebességkorlátozó szabályzattal rendelkezik.

A következőtől kezdve érhető el: .NET 8.0.

Metrikus: aspnetcore.rate_limiting.queued_requests
Név Műszer típusa Egység (UCUM) Leírás
aspnetcore.rate_limiting.queued_requests UpDownCounter {request} A jelenleg várólistára helyezett kérések száma, amelyek a díjkorlátozó bérlet beszerzésére várnak.
Attribútum Típus Leírás Példák Jelenlét
aspnetcore.rate_limiting.policy húr Sebességkorlátozó házirend neve. fixed; sliding; token Ha a kérelem egyeztetett végpontja sebességkorlátozó szabályzattal rendelkezik.

A következőtől kezdve érhető el: .NET 8.0.

Metrikus: aspnetcore.rate_limiting.request.time_in_queue
Név Műszer típusa Egység (UCUM) Leírás
aspnetcore.rate_limiting.request.time_in_queue Hisztogram s Az az idő, amikor egy kérés várakozással vár egy díjkorlátozó bérlet beszerzésére.
Attribútum Típus Leírás Példák Jelenlét
aspnetcore.rate_limiting.policy húr Sebességkorlátozó házirend neve. fixed; sliding; token Ha a kérelem egyeztetett végpontja sebességkorlátozó szabályzattal rendelkezik.
aspnetcore.rate_limiting.result húr A sebességkorlátozó eredmény azt jelzi, hogy a bérletet megszerezték-e, vagy elutasítási okot tartalmaz-e. acquired; request_canceled Mindig

A következőtől kezdve érhető el: .NET 8.0.

Metrikus: aspnetcore.rate_limiting.requests
Név Műszer típusa Egység (UCUM) Leírás
aspnetcore.rate_limiting.requests Számláló {request} Azoknak a kérelmeknek a száma, amelyek sebességkorlátozó bérletet próbáltak beszerezni.
Attribútum Típus Leírás Példák Jelenlét
aspnetcore.rate_limiting.policy húr Sebességkorlátozó házirend neve. fixed; sliding; token Ha a kérelem egyeztetett végpontja sebességkorlátozó szabályzattal rendelkezik.
aspnetcore.rate_limiting.result húr A sebességkorlátozó eredmény azt jelzi, hogy a bérletet megszerezték-e, vagy elutasítási okot tartalmaz-e. acquired; request_canceled Mindig

A következőtől kezdve érhető el: .NET 8.0.

Microsoft.AspNetCore.HeaderParsing

A Microsoft.AspNetCore.HeaderParsing metrikák a ASP.NET Core-fejléc elemzésével kapcsolatos információkat jelentik:

Metrikus: aspnetcore.header_parsing.parse_errors
Név Műszer típusa Egység (UCUM) Leírás
aspnetcore.header_parsing.parse_errors Számláló {parse_error} A HTTP-kérelemfejlécek elemzésekor előforduló hibák száma.
Attribútum Típus Leírás Példák Jelenlét
aspnetcore.header_parsing.header.name húr A fejléc neve. Content-Type Mindig
error.type húr A hibaüzenet. Unable to parse media type value. Mindig

A következőtől kezdve érhető el: .NET 8.0.

Metrikus: aspnetcore.header_parsing.cache_accesses

A metrika csak a gyorsítótárazást támogató HTTP-kérésfejléc-elemzők esetében lesz kibocsátva.

Név Műszer típusa Egység (UCUM) Leírás
aspnetcore.header_parsing.cache_accesses Számláló {cache_access} Hányszor fért hozzá a gyorsítótár az elemzett fejlécértékeket tartalmazó gyorsítótárhoz.
Attribútum Típus Leírás Példák Jelenlét
aspnetcore.header_parsing.header.name húr A fejléc neve. Content-Type Mindig
aspnetcore.header_parsing.cache_access.type húr Egy érték, amely azt jelzi, hogy a fejléc értéke megtalálható-e a gyorsítótárban. Hit; Miss Mindig

A következőtől kezdve érhető el: .NET 8.0.

Microsoft.AspNetCore.Server.Kestrel

A Microsoft.AspNetCore.Server.Kestrel metrikák http-kapcsolati információkat jelentenek ASP.NET Core Kestrel-webkiszolgálóról:

Metrikus: kestrel.active_connections
Név Műszer típusa Egység (UCUM) Leírás
kestrel.active_connections UpDownCounter {connection} A kiszolgálón jelenleg aktív kapcsolatok száma.
Attribútum Típus Leírás Példák Jelenlét
network.transport húr OSI átviteli réteg vagy folyamatközi kommunikációs módszer. tcp; unix Mindig
network.type húr OSI hálózati réteg vagy nem OSI-egyenértékű. ipv4; ipv6 Ha a szállítás vagy tcpudp.
server.address húr Kiszolgálócím tartományneve, ha fordított DNS-keresés nélkül érhető el; ellenkező esetben AZ IP-cím vagy a Unix-tartomány szoftvercsatorna neve. example.com Mindig
server.port egész Kiszolgálóport száma 80; 8080; 443 Ha a szállítás vagy tcpudp.

A következőtől kezdve érhető el: .NET 8.0.

Metrikus: kestrel.connection.duration
Név Műszer típusa Egység (UCUM) Leírás
kestrel.connection.duration Hisztogram s A kiszolgálón lévő kapcsolatok időtartama.
Attribútum Típus Leírás Példák Jelenlét
error.type húr A kivételtípus teljes neve. System.OperationCanceledException; Contoso.MyException Ha kivétel történt.
network.protocol.name húr OSI-alkalmazásréteg vagy nem OSI-egyenértékű. http; web_sockets Mindig
network.protocol.version húr A megadott protokoll network.protocol.nameverziója. 1.1; 2 Mindig
network.transport húr OSI átviteli réteg vagy folyamatközi kommunikációs módszer. tcp; unix Mindig
network.type húr OSI hálózati réteg vagy nem OSI-egyenértékű. ipv4; ipv6 Ha a szállítás vagy tcpudp.
server.address húr Kiszolgálócím tartományneve, ha fordított DNS-keresés nélkül érhető el; ellenkező esetben AZ IP-cím vagy a Unix-tartomány szoftvercsatorna neve. example.com Mindig
server.port egész Kiszolgálóport száma 80; 8080; 443 Ha a szállítás vagy tcpudp.
tls.protocol.version húr TLS protokoll verziója. 1.2; 1.3 Ha a kapcsolatot TLS védi.

Mivel ez a metrika nyomon követi a kapcsolat időtartamát, és ideális esetben http-kapcsolatokat használ több kéréshez, a gyűjtőknek hosszabbnak kell lenniük, mint a kérések időtartamához. A [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300] használatával például 5 perces felső gyűjtőt biztosít.

A következőtől kezdve érhető el: .NET 8.0.

Metrikus: kestrel.rejected_connections
Név Műszer típusa Egység (UCUM) Leírás
kestrel.rejected_connections Számláló {connection} A kiszolgáló által elutasított kapcsolatok száma.
Attribútum Típus Leírás Példák Jelenlét
network.transport húr OSI átviteli réteg vagy folyamatközi kommunikációs módszer. tcp; unix Mindig
network.type húr OSI hálózati réteg vagy nem OSI-egyenértékű. ipv4; ipv6 Ha a szállítás vagy tcpudp.
server.address húr Kiszolgálócím tartományneve, ha fordított DNS-keresés nélkül érhető el; ellenkező esetben AZ IP-cím vagy a Unix-tartomány szoftvercsatorna neve. example.com Mindig
server.port egész Kiszolgálóport száma 80; 8080; 443 Ha a szállítás vagy tcpudp.

Csatlakozás a rendszer elutasítja, ha az aktuális aktív szám meghaladja a konfigurált MaxConcurrentConnectionsértéket.

A következőtől kezdve érhető el: .NET 8.0.

Metrikus: kestrel.queued_connections
Név Műszer típusa Egység (UCUM) Leírás
kestrel.queued_connections UpDownCounter {connection} Az aktuálisan várólistán lévő és a kezdésre váró kapcsolatok száma.
Attribútum Típus Leírás Példák Jelenlét
network.transport húr OSI átviteli réteg vagy folyamatközi kommunikációs módszer. tcp; unix Mindig
network.transport húr OSI hálózati réteg vagy nem OSI-egyenértékű. ipv4; ipv6 Ha a szállítás vagy tcpudp.
server.address húr Kiszolgálócím tartományneve, ha fordított DNS-keresés nélkül érhető el; ellenkező esetben AZ IP-cím vagy a Unix-tartomány szoftvercsatorna neve. example.com Mindig
server.port egész Kiszolgálóport száma 80; 8080; 443 Ha a szállítás vagy tcpudp.

A következőtől kezdve érhető el: .NET 8.0.

Metrikus: kestrel.queued_requests
Név Műszer típusa Egység (UCUM) Leírás
kestrel.queued_requests UpDownCounter {request} A jelenleg várólistán lévő és az indításra váró többtengelyes kapcsolatokon (HTTP/2 és HTTP/3) futó HTTP-kérések száma.
Attribútum Típus Leírás Példák Jelenlét
network.protocol.name húr OSI-alkalmazásréteg vagy nem OSI-egyenértékű. http; web_sockets Mindig
network.protocol.version húr A megadott protokoll network.protocol.nameverziója. 1.1; 2 Mindig
network.transport húr OSI átviteli réteg vagy folyamatközi kommunikációs módszer. tcp; unix Mindig
network.transport húr OSI hálózati réteg vagy nem OSI-egyenértékű. ipv4; ipv6 Ha a szállítás vagy tcpudp.
server.address húr Kiszolgálócím tartományneve, ha fordított DNS-keresés nélkül érhető el; ellenkező esetben AZ IP-cím vagy a Unix-tartomány szoftvercsatorna neve. example.com Mindig
server.port egész Kiszolgálóport száma 80; 8080; 443 Ha a szállítás vagy tcpudp.

A következőtől kezdve érhető el: .NET 8.0.

Metrikus: kestrel.upgraded_connections
Név Műszer típusa Egység (UCUM) Leírás
kestrel.upgraded_connections UpDownCounter {connection} Az aktuálisan frissített kapcsolatok száma (WebSockets).
Attribútum Típus Leírás Példák Jelenlét
network.transport húr OSI átviteli réteg vagy folyamatközi kommunikációs módszer. tcp; unix Mindig
network.transport húr OSI hálózati réteg vagy nem OSI-egyenértékű. ipv4; ipv6 Ha a szállítás vagy tcpudp.
server.address húr Kiszolgálócím tartományneve, ha fordított DNS-keresés nélkül érhető el; ellenkező esetben AZ IP-cím vagy a Unix-tartomány szoftvercsatorna neve. example.com Mindig
server.port egész Kiszolgálóport száma 80; 8080; 443 Ha a szállítás vagy tcpudp.

A számláló csak a HTTP/1.1 kapcsolatokat követi nyomon.

A következőtől kezdve érhető el: .NET 8.0.

Metrikus: kestrel.tls_handshake.duration
Név Műszer típusa Egység (UCUM) Leírás
kestrel.tls_handshake.duration Hisztogram s A TLS-kézfogások időtartama a kiszolgálón.
Attribútum Típus Leírás Példák Jelenlét
error.type húr A kivételtípus teljes neve. System.OperationCanceledException; Contoso.MyException Ha kivétel történt.
network.transport húr OSI átviteli réteg vagy folyamatközi kommunikációs módszer. tcp; unix Mindig
network.transport húr OSI hálózati réteg vagy nem OSI-egyenértékű. ipv4; ipv6 Ha a szállítás vagy tcpudp.
server.address húr Kiszolgálócím tartományneve, ha fordított DNS-keresés nélkül érhető el; ellenkező esetben AZ IP-cím vagy a Unix-tartomány szoftvercsatorna neve. example.com Mindig
server.port egész Kiszolgálóport száma 80; 8080; 443 Ha a szállítás vagy tcpudp.
tls.protocol.version húr TLS protokoll verziója. 1.2; 1.3 Ha a kapcsolatot TLS védi.

Az OpenTelemetria használatakor az alapértelmezett gyűjtők a következő értékre vannak állítva: [ 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 ].

A következőtől kezdve érhető el: .NET 8.0.

Metrikus: kestrel.active_tls_handshakes
Név Műszer típusa Egység (UCUM) Leírás
kestrel.active_tls_handshakes UpDownCounter {handshake} A kiszolgálón jelenleg folyamatban lévő TLS-kézfogások száma.
Attribútum Típus Leírás Példák Jelenlét
network.transport húr OSI átviteli réteg vagy folyamatközi kommunikációs módszer. tcp; unix Mindig
network.transport húr OSI hálózati réteg vagy nem OSI-egyenértékű. ipv4; ipv6 Ha a szállítás vagy tcpudp.
server.address húr Kiszolgálócím tartományneve, ha fordított DNS-keresés nélkül érhető el; ellenkező esetben AZ IP-cím vagy a Unix-tartomány szoftvercsatorna neve. example.com Mindig
server.port egész Kiszolgálóport száma 80; 8080; 443 Ha a szállítás vagy tcpudp.

A következőtől kezdve érhető el: .NET 8.0.

Microsoft.AspNetCore.Http.Connections

A Microsoft.AspNetCore.Http.Connections metrikák a ASP.NET Core SignalR kapcsolati adatait jelentik:

Metrikus: signalr.server.connection.duration
Név Műszer típusa Egység (UCUM) Leírás
signalr.server.connection.duration Hisztogram s A kiszolgálón lévő kapcsolatok időtartama.
Attribútum Típus Leírás Példák Jelenlét
signalr.connection.status húr SignalR HTTP kapcsolatlezárási állapota. app_shutdown; timeout Mindig
signalr.transport húr SignalR átviteli típus web_sockets; long_polling Mindig

A következőtől kezdve érhető el: .NET 8.0.

Érték Leírás
normal_closure A kapcsolat normál módon lett lezárva.
timeout A kapcsolat időtúllépés miatt bezárult.
app_shutdown A kapcsolat megszakadt, mert az alkalmazás leállt.

signalr.transport az alábbiak egyike:

Érték Protokoll
server_sent_events kiszolgáló által küldött események
long_polling Hosszú lekérdezés
web_sockets WebSocket

Mivel ez a metrika nyomon követi a kapcsolat időtartamát, és ideális esetben a SignalR-kapcsolatok tartósak, a gyűjtőknek hosszabbnak kell lenniük, mint a kérések időtartamához. Ha például a (0, 0,01, 0,02, 0,05, 0,1, 0,2, 0,5, 1, 2, 5, 10, 30, 60, 120, 300] 5 perces felső gyűjtőt használ.

A következőtől kezdve érhető el: .NET 8.0.

Metrikus: signalr.server.active_connections
Név Műszer típusa Egység (UCUM) Leírás
signalr.server.active_connections UpDownCounter {connection} A kiszolgálón jelenleg aktív kapcsolatok száma.
Attribútum Típus Leírás Példák Jelenlét
signalr.connection.status húr SignalR HTTP kapcsolatlezárási állapota. app_shutdown; timeout Mindig
signalr.transport húr SignalR átviteli típus web_sockets; long_polling Mindig

A következőtől kezdve érhető el: .NET 8.0.