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


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:

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 (80séma eseténhttp) 443https
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 (80séma eseténhttp) 443https
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 (80séma eseténhttp) 443https
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

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 (80séma eseténhttp) 443https
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 (80séma eseténhttp) 443https
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