Dela via


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:

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