Sdílet prostřednictvím


Předdefinované aktivity v .NET

Toto je referenční informace pro distribuované aktivity trasování nativně generované . Integrovaná instance ActivitySource rozhraní NET.

aktivity System.Net

Požadavek klienta HTTP

SocketsHttpHandler a HttpClientHandler hlásit aktivitu požadavku klienta HTTP podle doporučení definovaných v OpenTelemetry sémantické konvence klienta HTTP. Popisuje požadavek HTTP odeslaný HttpClientpřetížení odesílání během časového intervalu, který podkladová obslužná rutina dokončí požadavek. 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. SocketsHttpHandler může opakovat požadavky, například při selhání připojení nebo downgradech verze HTTP. Opakování se neoznamuje jako samostatné aktivity požadavků klienta HTTP.

Dostupnost název ActivitySource OperationName DisplayName
.NET 9 nebo novější System.Net.Http System.Net.Http.HttpRequestOut {HTTP method}

Poznámka

Aktivita System.Net.Http.HttpRequestOut je ve skutečnosti k dispozici ve starších verzích .NET, ale její Status, DisplayNamea atributy (značky) se naplní pouze od .NET 9. U starších verzí se doporučuje balíček OpenTelemetry.Instrumentation.Http vyplnit mezery integrované instrumentace.

Atributy (značky)

Atribut Typ Popis Příklady Přítomnost
http.request.method string Metoda požadavku HTTP. [1] GET; POST; HEAD; _OTHER Vždy
server.address string Identifikátor hostitele "URI origin" požadavek HTTP se odešle. example.com; 10.1.2.80 Vždy
server.port int Identifikátor portu "původu identifikátoru URI" požadavek HTTP se odešle. 80; 8080; 443 Vždy
url.full string Absolutní adresa URL popisující síťový prostředek podle RFC3986 [2] https://www.foo.bar/search?q=* Vždy
error.type string Důvod selhání požadavku: jedna z chyb požadavků HTTP v snake_case nebo úplný typ výjimky nebo stavový kód HTTP 4xx/5xx. System.OperationCanceledException; name_resolution_error; secure_connection_error ; 404 Pokud se požadavek nepovedl.
http.request.method_original string Původní metoda HTTP odeslaná klientem na řádku požadavku. ACL; foo Pokud http.request.method není dobře známá metoda.
http.response.status_code int stavový kód odpovědi HTTP. 200 Byla-li přijata odpověď.
network.protocol.version string Verze použitého protokolu HTTP. 1.1; 2 Byla-li přijata odpověď.

[1] http.request.method: Hodnota obsahuje název metody, pokud je metoda jednou z dobře známých metod uvedených v RFC9110; v opačném případě je hodnota _OTHER. Názvy metod zadaných uživatelem se mapují na známé názvy bez rozlišování velkých a malých písmen. Pokud například uživatel zadá název GeT, namapuje se na GETa http.request.method_original se nenaplní.

[2] url.full: Chcete-li zabránit úniku tajných kódů, je hodnota ve výchozím nastavení upravena: celý dotaz se nahradí znakem * a odeberou se informace o uživateli & fragmentu. Další informace a přepínače pro odhlášení najdete v dokumentaci kzměn změn identifikátoru URI.

Požadavek klienta HTTP: Čekání na připojení (experimentální)

Tato aktivita je podřízená aktivitě požadavku klienta HTTP. Představuje časový interval, který odpovídající požadavek čeká na dostupné připojení ve frontě požadavků. Pokud je ve fondu k dispozici bezplatné připojení, jakmile se žádost objeví, nebudou čekat na vytvoření aktivity připojení. Upozorňujeme, že čekat na připojení nepředstavuje skutečné připojení; který je modelován aktivitou nastavení připojení HTTP. SocketsHttpHandler může opakovat požadavky, například při selhání připojení nebo downgradech verze HTTP. Opakování se neoznamuje jako samostatné aktivity požadavků klienta HTTP; Každý nový pokus o připojení ale způsobí nové čekání na aktivitu připojení v rámci aktivity nadřazeného požadavku.

Dostupnost název ActivitySource OperationName DisplayName
.NET 9 nebo novější Experimental.System.Net.Http.Connections Experimental.System.Net.Http.Connections.WaitForConnection HTTP wait_for_connection {address}:{port}

Spropitné

Metrika http.client.request.time_in_queue také hlásí dobu potřebnou k získání připojení z fondu.

Varování

Tato aktivita je experimentální. Může se změnit nebo odstranit v budoucí verzi.

Atributy (značky)

Atribut Typ Popis Příklady Přítomnost
error.type string Důvod selhání připojení: jedna z chyb požadavků HTTP v snake_case nebo úplný typ výjimky. System.OperationCanceledException; name_resolution_error; secure_connection_error Pokud pokus o připojení selže.

Nastavení připojení HTTP (experimentální)

Tato aktivita popisuje vytvoření připojení HTTP. Obvykle to zahrnuje dobu potřebnou k překladu DNS, navázání připojení soketu a provedení metody handshake protokolu TLS.

Dostupnost název ActivitySource OperationName DisplayName
.NET 9 nebo novější Experimental.System.Net.Http.Connections Experimental.System.Net.Http.Connections.ConnectionSetup HTTP connection_setup {address}:{port}

Mezi požadavku klienta HTTP a nastavením připojení HTTP neexistuje žádný vztah nadřazený-podřízený; ten bude vždy kořenovou aktivitou, která žije v samostatném trasování. Pokud ale pokus o připojení reprezentovaný nastavení připojení HTTP vede k úspěšnému připojení HTTP a toto připojení je vyzvednuto požadavkem k jeho poskytování, instrumentace přidá ActivityLink do požadavku klienta HTTP aktivitu odkazující na nastavení připojení HTTP aktivitu. To znamená, že každý požadavek je propojený s připojením, které požadavek obsluhoval.

Poznámka

Pokud nastavení připojení HTTP selže, nebude propojen s žádným požadavek klienta HTTP.

Varování

Tato aktivita je experimentální. Může se změnit nebo odstranit v budoucí verzi.

Atributy (značky)

Atribut Typ Popis Příklady Přítomnost
error.type string Důvod selhání připojení: jeden z chyb požadavku HTTP v snake_case nebo úplný typ výjimky. System.Net.Sockets.SocketException; name_resolution_error; secure_connection_error Pokud pokus o připojení selže.
network.peer.address string IP adresa partnerského vztahu připojení soketu. 10.5.3.2 Pokud pokus o připojení proběhne úspěšně.
server.address string Identifikátor hostitele "URI origin" se odešle počáteční požadavek HTTP. example.com Vždy
server.port int Identifikátor portu "původu identifikátoru URI" se odešle počáteční požadavek HTTP. Vždy
url.scheme string Schéma identifikátorů URI komponentu identifikující použitý protokol. http; https Vždy

Vyhledávání DNS (experimentální)

Tato aktivita popisuje vyhledávání DNS prováděné prostřednictvím Dns volání. Odpovídá spravovanému volání, nikoli fyzickým vyhledáváním DNS provedeným podkladovým překladačem operačního systému. Když se aktivita vyhledávání DNS hlásí spolu s aktivitou nastavení připojení HTTP, vyhledávání DNS se stane podřízeným nastavení připojení HTTP.

Dostupnost název ActivitySource OperationName DisplayName
.NET 9 nebo novější Experimental.System.Net.NameResolution Experimental.System.Net.NameResolution.DnsLookup DNS [reverse] lookup {question}

Spropitné

Dobu trvání vyhledávání DNS také hlásí metrika dns.lookup.duration.

Varování

Tato aktivita je experimentální. Může se změnit nebo odstranit v budoucí verzi.

Atributy (značky)

Atribut Typ Popis Příklady Přítomnost
error.type string Kód chyby nebo název výjimky. [1] host_not_found Pokud vyhledávání selže.
dns.answers string[] Seznam přeložených IP adres (pro vyhledávání DNS) nebo jednoho elementu obsahujícího název domény (pro reverzní vyhledávání). ["10.0.0.1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"] Pokud vyhledávání proběhne úspěšně.
dns.question.name string Název domény nebo IP adresa, na kterou se dotazuje. example.com Vždy

[1]: Hodnota je SocketError související s DNS v snake_case (host_not_found, try_again, no_recovery, address_family_not_supported) nebo úplný název výjimky.

Připojení soketů (experimentální)

Tato činnost popisuje vytvoření Socket spojení prostřednictvím Connect nebo ConnectAsync. Když je hlášena aktivita připojení soketu spolu s aktivitou nastavení připojení HTTP , soket připojení se stane podřízeným nastavení připojení HTTP.

Dostupnost název ActivitySource OperationName DisplayName
.NET 9 nebo novější Experimental.System.Net.Sockets Experimental.System.Net.Sockets.Connect socket connect {address}[:{port}]

Varování

Tato aktivita je experimentální. Může se změnit nebo odstranit v budoucí verzi.

Atributy (značky)

Atribut Typ Popis Příklady Přítomnost
error.type string SocketError v snake_case. address_already_in_use; connection_refused Pokud pokus o připojení soketu selže.
network.peer.address string Adresa partnerského vztahu síťového připojení – IP adresa nebo název soketu domény unix. 10.5.3.2; /tmp/my.sock Sokety IP a UDS.
network.peer.port int Číslo portu partnerského uzlu připojení IP. 65123 Sokety IP.
network.transport string přenosové vrstvy OSI nebo metodu komunikace mezi procesy. tcp; udp; unix Sokety IP a UDS.
network.type string síťové vrstvy OSI nebo jiné než OSI ekvivalentní. ipv4; ipv6 Sokety IP.

Handshake protokolu TLS (experimentální)

Tato aktivita popisuje metodu ověřování klienta TLS nebo metody handshake serveru prováděné prostřednictvím metod ověřování SslStream. Když se aktivita handshake protokolu TLS zobrazí pro ověřování na straně klienta spolu s nastavením připojení HTTP aktivitou, metodou handsha ke protokolu TLS se stane podřízeným nastavení připojení HTTP.

Dostupnost název ActivitySource OperationName DisplayName
.NET 9 nebo novější Experimental.System.Net.Security Experimental.System.Net.Security.TlsHandshake TLS client handshake {host} nebo TLS server handshake

Varování

Tato aktivita je experimentální. Může se změnit nebo odstranit v budoucích verzích.

Atributy (značky)

Atribut Typ Popis Příklady Přítomnost
error.type string Popisuje třídu chyby, na které operace skončila. System.Net.Security.Authentication.AuthenticationException; System.OperationCanceledException Pokud handshake selže.
server.address string Indikace názvu serveru (SNI) použitá ve zprávě "Klient Hello" během handshake protokolu TLS. example.com Při ověřování jako klient.
tls.protocol.name string Normalizovaný název protokolu malými písmeny parsovaný z původního řetězce vyjednaného protokolu verze protokolu SSL/TLS ssl; tls Pokud jsou k dispozici informace o protokolu.
tls.protocol.version string Číselná část verze analyzované z původního řetězce vyjednané verze protokolu SSL/TLS 1.2; 1.3 Pokud jsou k dispozici informace o protokolu.