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 GET
a 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 k
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
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
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. |