Attività predefinite in .NET
Si tratta di un riferimento per le attività di traccia distribuita generate in modo nativo da . Istanze di ActivitySource predefinite di NET.
attività System.Net
Richiesta client HTTP
SocketsHttpHandler e HttpClientHandler segnalare l'attività di richiesta client HTTP seguendo le raccomandazioni definite in OpenTelemetry HTTP Client Semantic Conventions. Descrive la richiesta HTTP inviata da HttpClientgli overload di invio durante l'intervallo di tempo in cui il gestore sottostante completa la richiesta. Il completamento della richiesta include il tempo necessario per leggere le intestazioni di risposta dal flusso di rete. Non include il tempo impiegato per leggere il corpo della risposta. SocketsHttpHandler possono ritentare le richieste, ad esempio in caso di errori di connessione o downgrade della versione HTTP. I tentativi non vengono segnalati come attività separate richiesta client HTTP.
Disponibilità | nome ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | System.Net.Http |
System.Net.Http.HttpRequestOut |
{HTTP method} |
Nota
L'attività System.Net.Http.HttpRequestOut
è in effetti disponibile nelle versioni precedenti di .NET, ma i relativi attributi Status, DisplayNamee (tag) vengono popolati solo a partire da .NET 9. Nelle versioni precedenti, è consigliabile pacchetto OpenTelemetry.Instrumentation.Http per colmare le lacune della strumentazione predefinita.
Attributi (tag)
Attributo | Digitare | Descrizione | Esempi | Presenza |
---|---|---|---|---|
http.request.method |
string |
Metodo di richiesta HTTP. [1] |
GET ; POST ; HEAD ; _OTHER |
Sempre |
server.address |
string |
Identificatore host dell'"origine URI" richiesta HTTP viene inviata. |
example.com ; 10.1.2.80 |
Sempre |
server.port |
int |
Identificatore di porta dell'"origine URI" richiesta HTTP viene inviata. |
80 ; 8080 ; 443 |
Sempre |
url.full |
string |
URL assoluto che descrive una risorsa di rete in base a RFC3986 [2] | https://www.foo.bar/search?q=* |
Sempre |
error.type |
string |
Motivo dell'errore della richiesta: uno degli errori di richiesta HTTP in snake_case o un tipo di eccezione completo o un codice di stato HTTP 4xx/5xx. |
System.OperationCanceledException ; name_resolution_error ; secure_connection_error ; 404 |
Se la richiesta non è riuscita. |
http.request.method_original |
string |
Metodo HTTP originale inviato dal client nella riga della richiesta. |
ACL ; foo |
Se http.request.method non è un metodo noto. |
http.response.status_code |
int |
codice di stato della risposta HTTP. | 200 |
Se la risposta è stata ricevuta. |
network.protocol.version |
string |
Versione del protocollo HTTP usata. |
1.1 ; 2 |
Se la risposta è stata ricevuta. |
[1] http.request.method
: Il valore contiene il nome del metodo, se il metodo è uno dei metodi noti elencati in RFC9110; in caso contrario, il valore è _OTHER
. I nomi dei metodi forniti dall'utente vengono mappati ai nomi noti in modo senza distinzione tra maiuscole e minuscole. Ad esempio, se l'utente fornisce il nome GeT
, verrà eseguito il mapping a GET
e http.request.method_original
non verranno popolati.
[2] url.full
: Per evitare la perdita di segreti, il valore viene modificato per impostazione predefinita: l'intera query viene sostituita con un carattere *
e le informazioni utente & frammento vengono rimosse. Per altre informazioni e opzioni di rifiuto esplicito, vedere la documentazione sulla modifica che causa un'interruzione dell'URI .
Richiesta client HTTP: attendere la connessione (sperimentale)
Questa attività è un elemento figlio di una richiesta client HTTP attività. Rappresenta l'intervallo di tempo in cui la richiesta corrispondente è in attesa di una connessione disponibile nella coda delle richieste. Se nel pool è disponibile una connessione gratuita, non verrà creata alcuna attesa di connessione'attività. Si noti che
Disponibilità | nome ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Http.Connections |
Experimental.System.Net.Http.Connections.WaitForConnection |
HTTP wait_for_connection {address}:{port} |
Mancia
Il tempo necessario per ottenere una connessione dal pool viene segnalato anche dalla metrica http.client.request.time_in_queue
.
Avvertimento
Questa attività è sperimentale. Potrebbe essere modificato o eliminato in una versione futura.
Attributi (tag)
Configurazione della connessione HTTP (sperimentale)
Questa attività descrive la creazione di una connessione HTTP. In genere, questo include il tempo necessario per risolvere il DNS, stabilire la connessione socket ed eseguire l'handshake TLS.
Disponibilità | nome ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Http.Connections |
Experimental.System.Net.Http.Connections.ConnectionSetup |
HTTP connection_setup {address}:{port} |
Non esiste alcuna relazione padre-figlio tra l' richiesta client HTTP
Nota
Se configurazione della connessione HTTP ha esito negativo, non verrà collegato ad alcuna richiesta client HTTP .
Avvertimento
Questa attività è sperimentale. Potrebbe essere modificato o eliminato in una versione futura.
Attributi (tag)
Attributo | Digitare | Descrizione | Esempi | Presenza |
---|---|---|---|---|
error.type |
string |
Motivo dell'errore di connessione: uno degli errori di richiesta HTTP in snake_case o un tipo di eccezione completo. |
System.Net.Sockets.SocketException ; name_resolution_error ; secure_connection_error |
Se il tentativo di connessione non riesce. |
network.peer.address |
string |
Indirizzo IP peer della connessione socket. | 10.5.3.2 |
Se il tentativo di connessione ha esito positivo. |
server.address |
string |
Identificatore host dell'"origine URI" la richiesta HTTP iniziale viene inviata. | example.com |
Sempre |
server.port |
int |
Identificatore di porta dell'"origine URI" la richiesta HTTP iniziale viene inviata. | Sempre | |
url.scheme |
string |
Lo schema URI componente che identifica il protocollo usato. |
http ; https |
Sempre |
Ricerca DNS (sperimentale)
Questa attività descrive le ricerche DNS eseguite tramite chiamate Dns. Corrisponde alla chiamata gestita e non alle ricerche DNS fisiche eseguite dal sistema di risoluzione del sistema operativo sottostante. Quando viene segnalata l'attività di ricerca DNS
Disponibilità | nome ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.NameResolution |
Experimental.System.Net.NameResolution.DnsLookup |
DNS [reverse] lookup {question} |
Mancia
La durata della ricerca DNS viene segnalata anche dalla metrica dns.lookup.duration
.
Avvertimento
Questa attività è sperimentale. Potrebbe essere modificato o eliminato in una versione futura.
Attributi (tag)
Attributo | Digitare | Descrizione | Esempi | Presenza |
---|---|---|---|---|
error.type |
string |
Il codice di errore o il nome dell'eccezione. [1] | host_not_found |
Se la ricerca ha esito negativo. |
dns.answers |
string[] |
Elenco di indirizzi IP risolti (per la ricerca DNS) o un singolo elemento contenente il nome di dominio (per la ricerca inversa). | ["10.0.0.1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"] |
Se la ricerca ha esito positivo. |
dns.question.name |
string |
Nome di dominio o indirizzo IP sottoposto a query. | example.com |
Sempre |
[1]: Il valore è un SocketError correlato a DNS in snake_case (host_not_found
, try_again
, no_recovery
, address_family_not_supported
) o un nome di eccezione completo.
Connessione socket (sperimentale)
Questa attività descrive la creazione di una connessione Socket tramite Connect o ConnectAsync. Quando l'attività di connessione socket
Disponibilità | nome ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Sockets |
Experimental.System.Net.Sockets.Connect |
socket connect {address}[:{port}] |
Avvertimento
Questa attività è sperimentale. Potrebbe essere modificato o eliminato in una versione futura.
Attributi (tag)
Attributo | Digitare | Descrizione | Esempi | Presenza |
---|---|---|---|---|
error.type |
string |
SocketError in snake_case. |
address_already_in_use ; connection_refused |
Se il tentativo di connessione socket non riesce. |
network.peer.address |
string |
Indirizzo peer della connessione di rete: indirizzo IP o nome socket di dominio Unix. |
10.5.3.2 ; /tmp/my.sock |
Socket IP e UDS. |
network.peer.port |
int |
Numero di porta peer della connessione IP. | 65123 |
Socket IP. |
network.transport |
string |
del livello di trasporto OSI o metodo di comunicazione tra processi. |
tcp ; udp ; unix |
Socket IP e UDS. |
network.type |
string |
livello di rete OSI o non OSI equivalenti. |
ipv4 ; ipv6 |
Socket IP. |
Handshake TLS (sperimentale)
Questa attività descrive l'handshake client o server TLS eseguito tramite i metodi di autenticazione di SslStream. Quando l'attività handshake TLS
Disponibilità | nome ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Security |
Experimental.System.Net.Security.TlsHandshake |
TLS client handshake {host} - oppure - TLS server handshake |
Avvertimento
Questa attività è sperimentale. Potrebbe essere modificato o eliminato nelle versioni future.
Attributi (tag)
Attributo | Digitare | Descrizione | Esempi | Presenza |
---|---|---|---|---|
error.type |
string |
Descrive una classe di errore con cui l'operazione è terminata. |
System.Net.Security.Authentication.AuthenticationException ; System.OperationCanceledException |
Se l'handshake ha esito negativo. |
server.address |
string |
L'indicazione del nome del server (SNI) usata nel messaggio "Client Hello" durante l'handshake TLS. | example.com |
Durante l'autenticazione come client. |
tls.protocol.name |
string |
Nome del protocollo minuscolo normalizzato analizzato dalla stringa originale della versione del protocollo SSL/TLS negoziata |
ssl ; tls |
Quando le informazioni sul protocollo sono disponibili. |
tls.protocol.version |
string |
Parte numerica della versione analizzata dalla stringa originale della versione negoziata versione del protocollo SSL/TLS |
1.2 ; 1.3 |
Quando le informazioni sul protocollo sono disponibili. |