System.Net mått
Den här artikeln beskriver de inbyggda nätverksmåtten för System.Net produktion med hjälp av API:et System.Diagnostics.Metrics . En lista över mått baserat på det alternativa EventCounters-API : et finns i Välkända EventCounters i .NET.
Dricks
Mer information om hur du samlar in, rapporterar, berikar och testar System.Net mått finns i Nätverksmått i .NET.
System.Net.NameResolution
Måtten System.Net.NameResolution
rapporterar DNS-namnmatchning från Dns:
Metriska: dns.lookup.duration
Name | Instrumenttyp | Enhet | beskrivning |
---|---|---|---|
dns.lookup.duration |
Histogram | s |
Mäter den tid det tar att utföra en DNS-sökning. |
Attribut | Typ | Beskrivning | Exempel | Närvaro |
---|---|---|---|---|
dns.question.name |
sträng | Namnet som efterfrågas. | www.example.com ; dot.net |
Alltid |
error.type |
sträng | En välkänd felsträng eller det fullständiga typnamnet för ett undantag som inträffade. | host_not_found ; System.Net.Sockets.SocketException |
Om ett fel uppstod |
Det här måttet mäter tiden det tar att göra DNS-begäranden. Dessa begäranden kan inträffa genom att anropa metoder på Dns eller indirekt inom API:er på högre nivå på typer som HttpClient.
De flesta fel när du gör en DNS-sökning genererar en SocketException. För att bättre skilja de vanliga felfallen ges socket-undantag med specifika SocketErrorCode explicita felnamn i error.type
:
SocketErrorCode | error.type |
---|---|
HostNotFound | host_not_found |
TryAgain | try_again |
AddressFamilyNotSupported | address_family_not_supported |
NoRecovery | no_recovery |
Socket-undantag med andra SocketError
värden rapporteras som System.Net.Sockets.SocketException
.
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
System.Net.Http
Måtten System.Net.Http
rapporterar HTTP-begäran och anslutningsinformation från 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
Metriska: http.client.open_connections
Name | Instrumenttyp | Enhet (UCUM) | beskrivning |
---|---|---|---|
http.client.open_connections |
UpDownCounter | {connection} |
Antal utgående HTTP-anslutningar som för närvarande är aktiva eller inaktiva på klienten |
Attribut | Typ | Beskrivning | Exempel | Närvaro |
---|---|---|---|---|
http.connection.state |
sträng | Tillståndet för HTTP-anslutningen i HTTP-anslutningspoolen. | active ; idle |
Alltid |
network.protocol.version |
sträng | Version av det protokoll för programskikt som används. | 1.1 ; 2 |
Alltid |
server.address |
sträng | Värdidentifierare för HTTP-begäran "URI-ursprung" skickas till. | example.com |
Alltid |
server.port |
heltal | Portidentifierare för HTTP-begäran "URI-ursprung" skickas till. | 80 ; 8080 ; 443 |
Om inte standard (80 för http schema, 443 för https ) |
network.peer.address |
sträng | Peer-IP-adress för socketanslutningen. | 10.5.3.2 |
Alltid |
url.scheme |
sträng | URI-schemakomponenten som identifierar det använda protokollet. | http ; https ; ftp |
Alltid |
HttpClient, när den är konfigurerad för att använda standardinställningen SocketsHttpHandler, underhåller en cachelagrad pool med nätverksanslutningar för att skicka HTTP-meddelanden. Det här måttet räknar hur många anslutningar som för närvarande finns i poolen. Aktiva anslutningar hanterar aktiva begäranden. Aktiva anslutningar kan överföra data eller vänta på klienten eller servern. Inaktiva anslutningar hanterar inga begäranden, men lämnas öppna så att framtida begäranden kan hanteras snabbare.
Tillgänglig från och med: .NET 8
Metriska: http.client.connection.duration
Name | Instrumenttyp | Enhet (UCUM) | beskrivning |
---|---|---|---|
http.client.connection.duration |
Histogram | s |
Varaktigheten för upprättade utgående HTTP-anslutningar. |
Attribut | Typ | Beskrivning | Exempel | Närvaro |
---|---|---|---|---|
network.protocol.version |
sträng | Version av det protokoll för programskikt som används. | 1.1 ; 2 |
Alltid |
server.address |
sträng | Värdidentifierare för HTTP-begäran "URI-ursprung" skickas till. | example.com |
Alltid |
server.port |
heltal | Portidentifierare för HTTP-begäran "URI-ursprung" skickas till. | 80 ; 8080 ; 443 |
Om inte standard (80 för http schema, 443 för https ) |
network.peer.address |
sträng | IP-adressen för socketanslutningen. | 10.5.3.2 |
Alltid |
url.scheme |
sträng | URI-schemakomponenten som identifierar det använda protokollet. | http ; https ; ftp |
Alltid |
Det här måttet registreras bara när HttpClient är konfigurerat för att använda standardvärdet SocketsHttpHandler.
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.
Tillgänglig från och med: .NET 8
Metriska: http.client.request.duration
Name | Instrumenttyp | Enhet (UCUM) | beskrivning |
---|---|---|---|
http.client.request.duration |
Histogram | s |
Varaktigheten för utgående HTTP-begäranden. |
Attribut | Typ | Beskrivning | Exempel | Närvaro |
---|---|---|---|---|
error.type |
sträng | Orsak till fel vid begäran: ett av HTTP-begärandefelen , en fullständig undantagstyp eller en HTTP 4xx/5xx-statuskod. | System.Threading.Tasks.TaskCanceledException ; name_resolution_error ; secure_connection_error ; 404 |
Om begäran har misslyckats. |
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 togs emot. |
network.protocol.version |
sträng | Version av det protokoll för programskikt som används. | 1.1 ; 2 |
Om svaret togs emot. |
server.address |
sträng | Värdidentifierare för HTTP-begäran "URI-ursprung" skickas till. | example.com |
Alltid |
server.port |
heltal | Portidentifierare för HTTP-begäran "URI-ursprung" skickas till. | 80 ; 8080 ; 443 |
Om inte standard (80 för http schema, 443 för https ) |
url.scheme |
sträng | URI-schemakomponenten som identifierar det använda protokollet. | http ; https ; ftp |
Alltid |
Varaktigheten för HTTP-klientbegäran mäter den tid som den underliggande klienthanteraren tar för att slutföra begäran. När du slutför begäran kan du läsa svarshuvuden från nätverksströmmen. Det inkluderar inte den tid som ägnas åt att läsa svarstexten.
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
Dricks
Berikning är möjligt för det här måttet.
Metriska: http.client.request.time_in_queue
Name | Instrumenttyp | Enhet (UCUM) | beskrivning |
---|---|---|---|
http.client.request.time_in_queue |
Histogram | s |
Hur lång tid begäranden har lagts på en kö som väntar på en tillgänglig anslutning. |
Attribut | Typ | Beskrivning | Exempel | Närvaro |
---|---|---|---|---|
http.request.method |
sträng | HTTP-begärandemetod. | GET ; POST ; HEAD |
Alltid |
network.protocol.version |
sträng | Version av det protokoll för programskikt som används. | 1.1 ; 2 |
Alltid |
server.address |
sträng | Värdidentifierare för HTTP-begäran "URI-ursprung" skickas till. | example.com |
Alltid |
server.port |
heltal | Portidentifierare för HTTP-begäran "URI-ursprung" skickas till. | 80 ; 8080 ; 443 |
Om inte standard (80 för http schema, 443 för https ) |
url.scheme |
sträng | URI-schemakomponenten som identifierar det använda protokollet. | http ; https ; ftp |
Alltid |
HttpClient, när det är konfigurerat för att använda standardvärdet SocketsHttpHandler, skickar HTTP-begäranden med hjälp av en pool med nätverksanslutningar. Om alla anslutningar är upptagna med att hantera andra begäranden placeras nya begäranden i en kö och väntar tills en nätverksanslutning är tillgänglig för användning. Det här instrumentet mäter hur lång tid HTTP-begäranden lägger på att vänta i kön innan något skickas i nätverket.
Tillgänglig från och med: .NET 8
Metriska: http.client.active_requests
Name | Instrumenttyp | Enhet (UCUM) | beskrivning |
---|---|---|---|
http.client.active_requests |
UpDownCounter | {request} |
Antal aktiva HTTP-begäranden. |
Attribut | Typ | Beskrivning | Exempel | Närvaro |
---|---|---|---|---|
http.request.method |
sträng | HTTP-begärandemetod. | GET ; POST ; HEAD |
Alltid |
server.address |
sträng | Värdidentifierare för HTTP-begäran "URI-ursprung" skickas till. | example.com |
Alltid |
server.port |
heltal | Portidentifierare för HTTP-begäran "URI-ursprung" skickas till. | 80 ; 8080 ; 443 |
Om inte standard (80 för http schema, 443 för https ) |
url.scheme |
sträng | URI-schemakomponenten som identifierar det använda protokollet. | http ; https ; ftp |
Alltid |
Det här måttet räknar hur många begäranden som anses vara aktiva. Begäranden är aktiva under samma tidsperiod som mäts av instrumenten http.client.request.duration .
Tillgänglig från och med: .NET 8