Activités intégrées dans .NET
Il s’agit d’une référence pour les activités de suivi distribué émises en mode natif par . Instances ActivitySource intégrées de NET.
activités de System.Net
Requête client HTTP
SocketsHttpHandler et HttpClientHandler signalez l’activité de requête du client HTTP en suivant les recommandations définies dans OpenTelemetry conventions sémantiques du client HTTP. Il décrit la requête HTTP envoyée par les surcharges d’envoi de HttpClientpendant l’intervalle de temps pendant lequel le gestionnaire sous-jacent termine la requête. La fin de la demande inclut le délai de lecture des en-têtes de réponse à partir du flux réseau. Il n’inclut pas le temps passé à lire le corps de la réponse. SocketsHttpHandler peut réessayer des requêtes, par exemple sur les échecs de connexion ou les versions HTTP rétrogrades. Les nouvelles tentatives ne sont pas signalées comme des activités de requête client HTTP distinctes.
Disponibilité | nom de ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | System.Net.Http |
System.Net.Http.HttpRequestOut |
{HTTP method} |
Note
L’activité System.Net.Http.HttpRequestOut
est en fait disponible sur les versions antérieures de .NET, mais ses Status, DisplayNameet attributs (balises) ne sont renseignés qu’à partir de .NET 9. Dans les versions antérieures, le package OpenTelemetry.Instrumentation.Http est recommandé pour combler les lacunes de l’instrumentation intégrée.
Attributs (balises)
Attribut | Type | Description | Exemples | Présence |
---|---|---|---|---|
http.request.method |
string |
Méthode de requête HTTP. [1] |
GET ; POST ; HEAD ; _OTHER |
Toujours |
server.address |
string |
L’identificateur d’hôte de la « Origine de l’URI » requête HTTP est envoyé. |
example.com ; 10.1.2.80 |
Toujours |
server.port |
int |
L’identificateur de port de la « Origine de l’URI » requête HTTP est envoyé. |
80 ; 8080 ; 443 |
Toujours |
url.full |
string |
URL absolue décrivant une ressource réseau en fonction de RFC3986 [2] | https://www.foo.bar/search?q=* |
Toujours |
error.type |
string |
Raison de l’échec de la demande : l’une des erreurs de requête HTTP dans snake_case, ou un type d’exception complet, ou un code d’état HTTP 4xx/5xx. |
System.OperationCanceledException ; name_resolution_error ; secure_connection_error ; 404 |
Si la demande a échoué. |
http.request.method_original |
string |
Méthode HTTP d’origine envoyée par le client dans la ligne de requête. |
ACL ; foo |
Si http.request.method n’est pas une méthode connue. |
http.response.status_code |
int |
code d’état de réponse HTTP. | 200 |
Si la réponse a été reçue. |
network.protocol.version |
string |
Version du protocole HTTP utilisé. |
1.1 ; 2 |
Si la réponse a été reçue. |
[1] http.request.method
: La valeur contient le nom de la méthode, si la méthode est l’une des méthodes connues répertoriées dans RFC9110; sinon, la valeur est _OTHER
. Les noms de méthode fournis par l’utilisateur sont mappés aux noms connus de manière non sensible à la casse. Par exemple, si l’utilisateur fournit le nom GeT
, il est mappé à GET
et http.request.method_original
ne sera pas renseigné.
[2] url.full
: Pour éviter la fuite des secrets, la valeur est supprimée par défaut : l’intégralité de la requête est remplacée par un caractère *
et les informations utilisateur & fragment sont supprimées. Pour plus d’informations et des commutateurs d’opt-out, consultez la documentation sur les changements cassants d’URI.
Requête du client HTTP : attendre la connexion (expérimentale)
Cette activité est un enfant d’une demande de client HTTP activité. Il représente l’intervalle de temps pendant lequel la requête correspondante attend une connexion disponible dans la file d’attente de demandes. Si une connexion gratuite est disponible dans le pool lorsque la demande est entrée, aucune attendre la création de l’activité de connexion. Notez que attendre la connexion ne représente pas l’établissement de connexion réel ; modélisé par l’activité configuration de connexion HTTP.
SocketsHttpHandler peut réessayer des requêtes, par exemple sur les échecs de connexion ou les versions HTTP rétrogrades. Les nouvelles tentatives ne sont pas signalées comme des activités de de requête client HTTP distinctes
Disponibilité | nom de ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Http.Connections |
Experimental.System.Net.Http.Connections.WaitForConnection |
HTTP wait_for_connection {address}:{port} |
Pourboire
Le temps nécessaire pour obtenir une connexion à partir du pool est également signalé par la métrique http.client.request.time_in_queue
.
Avertissement
Cette activité est expérimentale. Il peut être modifié ou supprimé dans une version ultérieure.
Attributs (balises)
Configuration de la connexion HTTP (expérimentale)
Cette activité décrit l’établissement d’une connexion HTTP. En règle générale, cela inclut le temps nécessaire pour résoudre le DNS, établir la connexion de socket et effectuer l’établissement d’une liaison TLS.
Disponibilité | nom de ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Http.Connections |
Experimental.System.Net.Http.Connections.ConnectionSetup |
HTTP connection_setup {address}:{port} |
Il n’existe aucune relation parent-enfant entre l' de requête du client HTTP
Note
Si configuration de la connexion HTTP échoue, elle ne sera liée à aucune requête du client HTTP.
Avertissement
Cette activité est expérimentale. Il peut être modifié ou supprimé dans une version ultérieure.
Attributs (balises)
Attribut | Type | Description | Exemples | Présence |
---|---|---|---|---|
error.type |
string |
Raison de l’échec de connexion : une des erreurs de requête HTTP dans snake_case ou un type d’exception complet. |
System.Net.Sockets.SocketException ; name_resolution_error ; secure_connection_error |
Si la tentative de connexion échoue. |
network.peer.address |
string |
Adresse IP homologue de la connexion de socket. | 10.5.3.2 |
Si la tentative de connexion réussit. |
server.address |
string |
Identificateur d’hôte de l'« Origine de l’URI » la requête HTTP initiale est envoyée. | example.com |
Toujours |
server.port |
int |
Identificateur de port du « Origine de l’URI » la requête HTTP initiale est envoyée. | Toujours | |
url.scheme |
string |
Le schéma d’URI composant identifiant le protocole utilisé. |
http ; https |
Toujours |
Recherche DNS (expérimentale)
Cette activité décrit les recherches DNS effectuées via des appels Dns. Il correspond à l’appel managé et non à la ou les recherches DNS physiques effectuées par le programme de résolution du système d’exploitation sous-jacent. Lorsque l’activité de recherche DNS est signalée avec une activité de configuration de connexion HTTP, recherche DNS devient un enfant de configuration de connexion HTTP.
Disponibilité | nom de ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.NameResolution |
Experimental.System.Net.NameResolution.DnsLookup |
DNS [reverse] lookup {question} |
Pourboire
La durée de recherche DNS est également signalée par la métrique dns.lookup.duration
.
Avertissement
Cette activité est expérimentale. Il peut être modifié ou supprimé dans une version ultérieure.
Attributs (balises)
Attribut | Type | Description | Exemples | Présence |
---|---|---|---|---|
error.type |
string |
Code d’erreur ou nom d’exception. [1] | host_not_found |
Si la recherche échoue. |
dns.answers |
string[] |
Liste des adresses IP résolues (pour la recherche DNS) ou un seul élément contenant le nom de domaine (pour la recherche inversée). | ["10.0.0.1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"] |
Si la recherche réussit. |
dns.question.name |
string |
Nom de domaine ou adresse IP interrogée. | example.com |
Toujours |
[1] : La valeur est une SocketError liée au DNS dans snake_case (host_not_found
, try_again
, no_recovery
, address_family_not_supported
) ou un nom d’exception complet.
Connexion de socket (expérimentale)
Cette activité décrit l’établissement d’une connexion Socket via Connect ou ConnectAsync. Lorsque l’activité de connexion au socket
Disponibilité | nom de ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Sockets |
Experimental.System.Net.Sockets.Connect |
socket connect {address}[:{port}] |
Avertissement
Cette activité est expérimentale. Il peut être modifié ou supprimé dans une version ultérieure.
Attributs (balises)
Attribut | Type | Description | Exemples | Présence |
---|---|---|---|---|
error.type |
string |
La SocketError dans snake_case. |
address_already_in_use ; connection_refused |
Si la tentative de connexion de socket échoue. |
network.peer.address |
string |
Adresse homologue de la connexion réseau : adresse IP ou nom de socket de domaine Unix. |
10.5.3.2 ; /tmp/my.sock |
Sockets IP et UDS. |
network.peer.port |
int |
Numéro de port homologue de la connexion IP. | 65123 |
Sockets IP. |
network.transport |
string |
de la couche de transport OSI ou méthode de communication interprocessus. |
tcp ; udp ; unix |
Sockets IP et UDS. |
network.type |
string |
couche réseau OSI ou équivalent non-OSI. |
ipv4 ; ipv6 |
Sockets IP. |
Liaison TLS (expérimentale)
Cette activité décrit la négociation du client ou du serveur TLS effectuée via les méthodes d’authentification de SslStream. Lorsque l’activité de négociation TLS
Disponibilité | nom de ActivitySource | OperationName | DisplayName |
---|---|---|---|
.NET 9+ | Experimental.System.Net.Security |
Experimental.System.Net.Security.TlsHandshake |
TLS client handshake {host} -ou- TLS server handshake |
Avertissement
Cette activité est expérimentale. Il peut être modifié ou supprimé dans les versions ultérieures.
Attributs (balises)
Attribut | Type | Description | Exemples | Présence |
---|---|---|---|---|
error.type |
string |
Décrit une classe d’erreur avec qui l’opération s’est terminée. |
System.Net.Security.Authentication.AuthenticationException ; System.OperationCanceledException |
Si la négociation échoue. |
server.address |
string |
L’indication de nom de serveur (SNI) utilisée dans le message « Client Hello » lors de l’établissement d’une liaison TLS. | example.com |
Lors de l’authentification en tant que client. |
tls.protocol.name |
string |
Nom de protocole minuscule normalisé analysé à partir de la chaîne d’origine de la version de protocole SSL/TLS négociée |
ssl ; tls |
Lorsque les informations de protocole sont disponibles. |
tls.protocol.version |
string |
Partie numérique de la version analysée à partir de la chaîne d’origine de la version négociée du protocole SSL/TLS |
1.2 ; 1.3 |
Lorsque les informations de protocole sont disponibles. |