System.Net metrikák
Ez a cikk az API használatával System.NetSystem.Diagnostics.Metrics létrehozott beépített hálózati metrikákat ismerteti. Az alternatív EventCounters API-n alapuló metrikák listáját a .NET jól ismert EventCounters szolgáltatásában talál.
Tipp.
Az System.Net 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 .NET hálózatkezelési metrikáiban talál.
System.Net.NameResolution
A System.Net.NameResolution
metrikák a DNS-névfeloldásról számolnak be Dns:
Metrikus: dns.lookup.duration
Név | Műszer típusa | Unit (Egység) | Leírás |
---|---|---|---|
dns.lookup.duration |
Hisztogram | s |
A DNS-keresés végrehajtásához szükséges időt méri. |
Attribútum | Típus | Leírás | Példák | Jelenlét |
---|---|---|---|---|
dns.question.name |
húr | A lekérdezett név. | www.example.com ; dot.net |
Mindig |
error.type |
húr | Egy jól ismert hibasztring vagy egy kivétel teljes típusának neve. | host_not_found ; System.Net.Sockets.SocketException |
Hiba esetén |
Ez a metrika azt méri, hogy mennyi ideig tart a DNS-kérések végrehajtása. Ezek a kérések úgy fordulhatnak elő, hogy metódusokat Dns hívnak meg vagy közvetve magasabb szintű API-kon belül, például HttpClient.
A DNS-keresés során felmerülő legtöbb hiba egy SocketException. A gyakori hibaesetek egyértelműsítése érdekében az adott SocketErrorCode szoftvercsatornák kivételei explicit hibaneveket kapnak a következőben error.type
:
SocketErrorCode | error.type |
---|---|
HostNotFound | host_not_found |
TryAgain | try_again |
AddressFamilyNotSupported | address_family_not_supported |
NoRecovery | no_recovery |
A szoftvercsatornák kivételei bármely más SocketError
értékkel együtt a következőképpen jelennek meg System.Net.Sockets.SocketException
: .
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
System.Net.Http
A System.Net.Http
metrikák HTTP-kérést és kapcsolati adatokat jelentenek a következőről System.Net.Http:
http.client.open_connections
http.client.connection.duration
http.client.request.duration
http.client.request.time_in_queue
http.client.active_requests
Metrikus: http.client.open_connections
Név | Műszer típusa | Egység (UCUM) | Leírás |
---|---|---|---|
http.client.open_connections |
UpDownCounter | {connection} |
Az ügyfélen jelenleg aktív vagy tétlen kimenő HTTP-kapcsolatok száma |
Attribútum | Típus | Leírás | Példák | Jelenlét |
---|---|---|---|---|
http.connection.state |
húr | A HTTP-kapcsolat állapota a HTTP-kapcsolatkészletben. | active ; idle |
Mindig |
network.protocol.version |
húr | Az alkalmazásréteg protokolljának verziója. | 1.1 ; 2 |
Mindig |
server.address |
húr | A rendszer elküldi az "URI-forrás" HTTP-kérés állomásazonosítóját. | example.com |
Mindig |
server.port |
egész | A rendszer elküldi az "URI-forrás" HTTP-kérés portazonosítóját. | 80 ; 8080 ; 443 |
Ha nem alapértelmezett (80 séma eseténhttp ) 443 https |
network.peer.address |
húr | A szoftvercsatorna-kapcsolat társ IP-címe. | 10.5.3.2 |
Mindig |
url.scheme |
húr | A használt protokollt azonosító URI-sémaösszetevő . | http ; https ; ftp |
Mindig |
HttpClientha az alapértelmezett SocketsHttpHandlerhasználatára van konfigurálva, a HTTP-üzenetek küldéséhez gyorsítótárazott hálózati kapcsolatkészletet tart fenn. Ez a metrika megszámolja, hogy jelenleg hány kapcsolat található a készletben. Az aktív kapcsolatok aktív kéréseket kezelnek. Az aktív csatlakozások adatokat továbbíthatnak, vagy az ügyfélre vagy kiszolgálóra várhatnak. Az inaktív kapcsolatok nem kezelik a kéréseket, de nyitva maradnak, hogy a jövőbeli kérések gyorsabban kezelhetők legyenek.
A következőtől kezdve érhető el: .NET 8
Metrikus: http.client.connection.duration
Név | Műszer típusa | Egység (UCUM) | Leírás |
---|---|---|---|
http.client.connection.duration |
Hisztogram | s |
A sikeresen létrehozott kimenő HTTP-kapcsolatok időtartama. |
Attribútum | Típus | Leírás | Példák | Jelenlét |
---|---|---|---|---|
network.protocol.version |
húr | Az alkalmazásréteg protokolljának verziója. | 1.1 ; 2 |
Mindig |
server.address |
húr | A rendszer elküldi az "URI-forrás" HTTP-kérés állomásazonosítóját. | example.com |
Mindig |
server.port |
egész | A rendszer elküldi az "URI-forrás" HTTP-kérés portazonosítóját. | 80 ; 8080 ; 443 |
Ha nem alapértelmezett (80 séma eseténhttp ) 443 https |
network.peer.address |
húr | A szoftvercsatorna-kapcsolat IP-címe. | 10.5.3.2 |
Mindig |
url.scheme |
húr | A használt protokollt azonosító URI-sémaösszetevő . | http ; https ; ftp |
Mindig |
Ez a metrika csak akkor lesz rögzítve, ha HttpClient az alapértelmezett SocketsHttpHandlerhasználatára van konfigurálva.
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. Ha például a [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300] függvényt használja, akkor az 5 perces felső gyűjtőt adja meg.
A következőtől kezdve érhető el: .NET 8
Metrikus: http.client.request.duration
Név | Műszer típusa | Egység (UCUM) | Leírás |
---|---|---|---|
http.client.request.duration |
Hisztogram | s |
A kimenő HTTP-kérések időtartama. |
Attribútum | Típus | Leírás | Példák | Jelenlét |
---|---|---|---|---|
error.type |
húr | A kérés sikertelenségének oka: az egyik HTTP-kérési hiba vagy egy teljes kivételtípus, vagy egy HTTP 4xx/5xx állapotkód. | System.Threading.Tasks.TaskCanceledException ; name_resolution_error ; secure_connection_error ; 404 |
Ha a kérés sikertelen volt. |
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 kapott egyet. |
network.protocol.version |
húr | Az alkalmazásréteg protokolljának verziója. | 1.1 ; 2 |
Ha válasz érkezett. |
server.address |
húr | A rendszer elküldi az "URI-forrás" HTTP-kérés állomásazonosítóját. | example.com |
Mindig |
server.port |
egész | A rendszer elküldi az "URI-forrás" HTTP-kérés portazonosítóját. | 80 ; 8080 ; 443 |
Ha nem alapértelmezett (80 séma eseténhttp ) 443 https |
url.scheme |
húr | A használt protokollt azonosító URI-sémaösszetevő . | http ; https ; ftp |
Mindig |
A HTTP-ügyfélkérés időtartama azt méri, hogy az alapul szolgáló ügyfélkezelő mennyi időt vesz igénybe a kérés teljesítéséhez. A kérés végrehajtása magában foglalja a válaszfejlécek hálózati streamből való olvasásának idejét. Nem tartalmazza a válasz törzsének olvasásával töltött időt.
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
Tipp.
Metrikus: http.client.request.time_in_queue
Név | Műszer típusa | Egység (UCUM) | Leírás |
---|---|---|---|
http.client.request.time_in_queue |
Hisztogram | s |
Az üzenetsoron az elérhető kapcsolatra váró kérelmek száma. |
Attribútum | Típus | Leírás | Példák | Jelenlét |
---|---|---|---|---|
http.request.method |
húr | HTTP-kérési módszer. | GET ; POST ; HEAD |
Mindig |
network.protocol.version |
húr | Az alkalmazásréteg protokolljának verziója. | 1.1 ; 2 |
Mindig |
server.address |
húr | A rendszer elküldi az "URI-forrás" HTTP-kérés állomásazonosítóját. | example.com |
Mindig |
server.port |
egész | A rendszer elküldi az "URI-forrás" HTTP-kérés portazonosítóját. | 80 ; 8080 ; 443 |
Ha nem alapértelmezett (80 séma eseténhttp ) 443 https |
url.scheme |
húr | A használt protokollt azonosító URI-sémaösszetevő . | http ; https ; ftp |
Mindig |
HttpClient, ha az alapértelmezett SocketsHttpHandlerhasználatára van konfigurálva, http-kéréseket küld egy hálózati kapcsolatkészlet használatával. Ha az összes kapcsolat más kérések kezelésével van elfoglalva, az új kérések várólistába kerülnek, és megvárják, amíg a hálózati kapcsolat elérhető lesz. Ez az eszköz azt méri, hogy a HTTP-kérések mennyi időt töltenek a várakozási sorban, mielőtt bármit elküldenek a hálózaton keresztül.
A következőtől kezdve érhető el: .NET 8
Metrikus: http.client.active_requests
Név | Műszer típusa | Egység (UCUM) | Leírás |
---|---|---|---|
http.client.active_requests |
UpDownCounter | {request} |
Aktív HTTP-kérések száma. |
Attribútum | Típus | Leírás | Példák | Jelenlét |
---|---|---|---|---|
http.request.method |
húr | HTTP-kérési módszer. | GET ; POST ; HEAD |
Mindig |
server.address |
húr | A rendszer elküldi az "URI-forrás" HTTP-kérés állomásazonosítóját. | example.com |
Mindig |
server.port |
egész | A rendszer elküldi az "URI-forrás" HTTP-kérés portazonosítóját. | 80 ; 8080 ; 443 |
Ha nem alapértelmezett (80 séma eseténhttp ) 443 https |
url.scheme |
húr | A használt protokollt azonosító URI-sémaösszetevő . | http ; https ; ftp |
Mindig |
Ez a metrika megszámolja, hogy hány kérelem tekinthető aktívnak. A kérelmek ugyanabban az időszakban aktívak, amelyet a http.client.request.duration eszköz mér.
A következőtől kezdve érhető el: .NET 8