metriky System.Net
Tento článek popisuje integrované síťové metriky pro System.Net vytváření pomocí System.Diagnostics.Metrics rozhraní API. Seznam metrik založených na alternativním rozhraní API EventCounters naleznete v tématu Známé eventCounters v .NET.
Tip
Další informace o shromažďování, vytváření sestav, rozšiřování a testování metrik System.Net naleznete v tématu Metriky sítě v .NET.
System.Net.NameResolution
Překlad System.Net.NameResolution
názvů DNS sestavy metrik z Dns:
Metrika: dns.lookup.duration
Název | Typ přístroje | Unit | Popis |
---|---|---|---|
dns.lookup.duration |
Histogram | s |
Měří čas potřebný k provedení vyhledávání DNS. |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
dns.question.name |
string | Název, na který se dotazuje. | www.example.com ; dot.net |
Always |
error.type |
string | Známý řetězec chyby nebo úplný název typu výjimky, ke které došlo. | host_not_found ; System.Net.Sockets.SocketException |
Pokud došlo k chybě |
Tato metrika měří čas, který trvá, než se budou provádět požadavky DNS. K těmto požadavkům může dojít voláním metod Dns v rozhraních API vyšší úrovně nebo nepřímo na typech, jako HttpClientje .
Většina chyb při vyhledávání DNS vyvolá SocketExceptionchybu . Pro lepší nejednoznačnost běžných případů chyb jsou výjimky soketů s konkrétními SocketErrorCode názvy chyb uvedeny explicitně v error.type
:
SocketErrorCode | error.type |
---|---|
HostNotFound | host_not_found |
TryAgain | try_again |
AddressFamilyNotSupported | address_family_not_supported |
NoRecovery | no_recovery |
Výjimky soketů s jakoukoli jinou SocketError
hodnotou jsou hlášeny jako System.Net.Sockets.SocketException
.
Při použití OpenTelemetry jsou výchozí kontejnery pro tuto metriku nastaveny na [ 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 ].
Dostupné od: .NET 8
System.Net.Http
Metriky System.Net.Http
hlásí požadavek HTTP a informace o připojení z 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
Metrika: http.client.open_connections
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
http.client.open_connections |
UpDownCounter | {connection} |
Počet odchozích připojení HTTP, která jsou aktuálně aktivní nebo nečinná v klientovi |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
http.connection.state |
string | Stav připojení HTTP ve fondu připojení HTTP | active ; idle |
Always |
network.protocol.version |
string | Verze použitého protokolu aplikační vrstvy | 1.1 ; 2 |
Always |
server.address |
string | Identifikátor hostitele požadavku HTTP "původu identifikátoru URI" se odešle na adresu. | example.com |
Always |
server.port |
int | Odešle se identifikátor portu požadavku HTTP "původu identifikátoru URI" . | 80 ; 8080 ; 443 |
Pokud není výchozí (80 pro http schéma, 443 pro https ) |
network.peer.address |
string | IP adresa partnerského vztahu připojení soketu. | 10.5.3.2 |
Always |
url.scheme |
string | Komponenta schématu identifikátoru URI identifikující použitý protokol. | http ; https ; ftp |
Always |
HttpClient, pokud je nakonfigurováno tak, aby používalo výchozí SocketsHttpHandler, udržuje fond síťových připojení uložený v mezipaměti pro odesílání zpráv HTTP. Tato metrika počítá, kolik připojení je aktuálně ve fondu. Aktivní připojení zpracovávají aktivní požadavky. Aktivní připojení může přenášet data nebo čekat na klienta nebo server. Nečinná připojení nezpracují žádné požadavky, ale zůstanou otevřená, aby se budoucí žádosti mohly zpracovávat rychleji.
Dostupné od: .NET 8
Metrika: http.client.connection.duration
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
http.client.connection.duration |
Histogram | s |
Doba trvání úspěšně navazovaných odchozích připojení HTTP. |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
network.protocol.version |
string | Verze použitého protokolu aplikační vrstvy | 1.1 ; 2 |
Always |
server.address |
string | Identifikátor hostitele požadavku HTTP "původu identifikátoru URI" se odešle na adresu. | example.com |
Always |
server.port |
int | Odešle se identifikátor portu požadavku HTTP "původu identifikátoru URI" . | 80 ; 8080 ; 443 |
Pokud není výchozí (80 pro http schéma, 443 pro https ) |
network.peer.address |
string | IP adresa připojení soketu. | 10.5.3.2 |
Always |
url.scheme |
string | Komponenta schématu identifikátoru URI identifikující použitý protokol. | http ; https ; ftp |
Always |
Tato metrika se zaznamenává pouze v případě, že HttpClient je nakonfigurovaná tak, aby používala výchozí SocketsHttpHandlerhodnotu .
Vzhledem k tomu, že tato metrika sleduje dobu trvání připojení a v ideálním případě se připojení HTTP používají pro více požadavků, měly by být kontejnery delší než ty, které se používají pro dobu trvání požadavků. Například použití [ 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 30, 60, 120, 300 ] poskytuje horní kbelík s 5 minutami.
Dostupné od: .NET 8
Metrika: http.client.request.duration
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
http.client.request.duration |
Histogram | s |
Doba trvání odchozích požadavků HTTP. |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
error.type |
string | Důvod selhání požadavku: jedna z chyb požadavku HTTP nebo úplný typ výjimky nebo stavový kód HTTP 4xx/5xx. | System.Threading.Tasks.TaskCanceledException ; name_resolution_error ; secure_connection_error ; 404 |
Pokud se požadavek nepovedl. |
http.request.method |
string | Metoda požadavku HTTP. | GET ; POST ; HEAD |
Always |
http.response.status_code |
int | Stavový kód odpovědi HTTP. | 200 |
Pokud byl přijat. |
network.protocol.version |
string | Verze použitého protokolu aplikační vrstvy | 1.1 ; 2 |
Byla-li přijata odpověď. |
server.address |
string | Identifikátor hostitele požadavku HTTP "původu identifikátoru URI" se odešle na adresu. | example.com |
Always |
server.port |
int | Odešle se identifikátor portu požadavku HTTP "původu identifikátoru URI" . | 80 ; 8080 ; 443 |
Pokud není výchozí (80 pro http schéma, 443 pro https ) |
url.scheme |
string | Komponenta schématu identifikátoru URI identifikující použitý protokol. | http ; https ; ftp |
Always |
Doba trvání požadavku klienta HTTP měří dobu, po kterou podkladová obslužná rutina klienta trvá dokončení požadavku. Dokončení požadavku zahrnuje čas až do čtení hlaviček odpovědi ze síťového streamu. Nezahrnuje čas strávený čtením textu odpovědi.
Při použití OpenTelemetry jsou výchozí kontejnery pro tuto metriku nastaveny na [ 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 ].
Dostupné od: .NET 8
Metrika: http.client.request.time_in_queue
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
http.client.request.time_in_queue |
Histogram | s |
Doba strávená požadavky na frontu čekající na dostupné připojení. |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
http.request.method |
string | Metoda požadavku HTTP. | GET ; POST ; HEAD |
Always |
network.protocol.version |
string | Verze použitého protokolu aplikační vrstvy | 1.1 ; 2 |
Always |
server.address |
string | Identifikátor hostitele požadavku HTTP "původu identifikátoru URI" se odešle na adresu. | example.com |
Always |
server.port |
int | Odešle se identifikátor portu požadavku HTTP "původu identifikátoru URI" . | 80 ; 8080 ; 443 |
Pokud není výchozí (80 pro http schéma, 443 pro https ) |
url.scheme |
string | Komponenta schématu identifikátoru URI identifikující použitý protokol. | http ; https ; ftp |
Always |
HttpClient, pokud je nakonfigurováno pro použití výchozího SocketsHttpHandlernastavení , odešle požadavky HTTP pomocí fondu síťových připojení. Pokud jsou všechna připojení zaneprázdněná zpracováním jiných požadavků, nové požadavky se umístí do fronty a počká, až bude síťové připojení k dispozici pro použití. Tento nástroj měří dobu, po kterou požadavky HTTP tráví čekáním v této frontě před odesláním v síti.
Dostupné od: .NET 8
Metrika: http.client.active_requests
Název | Typ přístroje | Jednotka (UCUM) | Popis |
---|---|---|---|
http.client.active_requests |
UpDownCounter | {request} |
Počet aktivních požadavků HTTP |
Atribut | Typ | Popis | Příklady | Přítomnost |
---|---|---|---|---|
http.request.method |
string | Metoda požadavku HTTP. | GET ; POST ; HEAD |
Always |
server.address |
string | Identifikátor hostitele požadavku HTTP "původu identifikátoru URI" se odešle na adresu. | example.com |
Always |
server.port |
int | Odešle se identifikátor portu požadavku HTTP "původu identifikátoru URI" . | 80 ; 8080 ; 443 |
Pokud není výchozí (80 pro http schéma, 443 pro https ) |
url.scheme |
string | Komponenta schématu identifikátoru URI identifikující použitý protokol. | http ; https ; ftp |
Always |
Tato metrika počítá, kolik požadavků je považováno za aktivní. Požadavky jsou aktivní pro stejné časové období měřené nástrojem http.client.request.duration .
Dostupné od: .NET 8