Compartir a través de


Actividades integradas en .NET

Se trata de una referencia para las actividades de seguimiento distribuido emitidas de forma nativa por . Instancias de ActivitySource integradas de NET.

actividades de System.Net

Propina

Para obtener una guía completa sobre la recopilación y generación de informes de seguimientos de System.Net, consulte Seguimientos distribuidos de redes en .NET.

Solicitud de cliente HTTP

SocketsHttpHandler y HttpClientHandler notifican la actividad de solicitud de cliente HTTP siguiendo las recomendaciones definidas en OpenTelemetry convenciones semántica de cliente HTTP. Describe la solicitud HTTP enviada por HttpClientsobrecargas de envío durante el intervalo de tiempo que el controlador subyacente completa la solicitud. Completar la solicitud incluye el tiempo de lectura de los encabezados de respuesta de la secuencia de red. No incluye el tiempo dedicado a leer el cuerpo de la respuesta. SocketsHttpHandler puede reintentar solicitudes, por ejemplo, en errores de conexión o degradación de la versión HTTP. Los reintentos no se notifican como actividades independientes solicitud de cliente HTTP.

Disponibilidad nombre de ActivitySource OperationName DisplayName
.NET 9+ System.Net.Http System.Net.Http.HttpRequestOut {HTTP method}

Nota

La actividad de System.Net.Http.HttpRequestOut está disponible en versiones anteriores de .NET, pero sus Status, DisplayNamey atributos (etiquetas) solo se rellenan a partir de .NET 9. En versiones anteriores, se recomienda el paquete OpenTelemetry.Instrumentation.Http para rellenar los huecos de la instrumentación integrada.

Atributos (etiquetas)

Atributo Tipo Descripción Ejemplos Presencia
http.request.method string Método de solicitud HTTP. [1] GET; POST; HEAD; _OTHER Siempre
server.address string Identificador de host del "origen del URI" solicitud HTTP se envía a. example.com; 10.1.2.80 Siempre
server.port int Identificador de puerto del "origen del URI" solicitud HTTP se envía a. 80; 8080; 443 Siempre
url.full string Dirección URL absoluta que describe un recurso de red según RFC3986 [2] https://www.foo.bar/search?q=* Siempre
error.type string Motivo del error de solicitud: uno de los errores de solicitud HTTP en snake_case, o un tipo de excepción completo o un código de estado HTTP 4xx/5xx. System.OperationCanceledException; name_resolution_error; secure_connection_error ; 404 Si se ha producido un error en la solicitud.
http.request.method_original string Método HTTP original enviado por el cliente en la línea de solicitud. ACL; foo Si http.request.method no es un método conocido.
http.response.status_code int código de estado de respuesta HTTP. 200 Si se recibió la respuesta.
network.protocol.version string Versión del protocolo HTTP usado. 1.1; 2 Si se recibió la respuesta.

[1] http.request.method: El valor contiene el nombre del método, si el método es uno de los métodos conocidos enumerados en RFC9110; de lo contrario, el valor es _OTHER. Los nombres de método proporcionados por el usuario se asignan a nombres conocidos de manera que no distinguen mayúsculas de minúsculas. Por ejemplo, si el usuario proporciona el nombre GeT, se asignará a GETy http.request.method_original no se rellenará.

[2] url.full: Para evitar la pérdida de secretos, el valor se redacta de forma predeterminada: se reemplaza toda la consulta por un carácter de * y se quita la información del usuario & fragmento. Para obtener más información y desactivar modificadores, consulte los documentos de cambio importante de URI de .

Solicitud de cliente HTTP: espere a la conexión (experimental)

Esta actividad es un elemento secundario de una solicitud de cliente HTTP actividad. Representa el intervalo de tiempo que la solicitud correspondiente está esperando una conexión disponible en la cola de solicitudes. Si hay una conexión gratuita disponible en el grupo cuando entra en la solicitud, no se creará ningún esperar a que se cree la actividad de conexión. Tenga en cuenta que esperar de conexión no representa el establecimiento de conexión real; modelado por la actividad configuración de la conexión HTTP. SocketsHttpHandler puede reintentar solicitudes, por ejemplo, en errores de conexión o degradación de la versión HTTP. Los reintentos no se notifican como actividades independientes solicitud de cliente HTTP; sin embargo, cada nuevo intento de conexión dará lugar a una nueva esperar a que la conexión actividad en la actividad de solicitud primaria.

Disponibilidad nombre de ActivitySource OperationName DisplayName
.NET 9+ Experimental.System.Net.Http.Connections Experimental.System.Net.Http.Connections.WaitForConnection HTTP wait_for_connection {address}:{port}

Propina

La métrica de http.client.request.time_in_queue también notifica el tiempo necesario para obtener una conexión del grupo.

Advertencia

Esta actividad es experimental. Es posible que se modifique o elimine en una versión futura.

Atributos (etiquetas)

Atributo Tipo Descripción Ejemplos Presencia
error.type string Motivo del error de conexión: uno de los errores de solicitud HTTP en snake_case o un tipo de excepción completo. System.OperationCanceledException; name_resolution_error; secure_connection_error Si se produce un error en el intento de conexión.

Configuración de la conexión HTTP (experimental)

Esta actividad describe el establecimiento de una conexión HTTP. Normalmente, esto incluye el tiempo necesario para resolver el DNS, establecer la conexión de socket y realizar el protocolo de enlace TLS.

Disponibilidad nombre de ActivitySource OperationName DisplayName
.NET 9+ Experimental.System.Net.Http.Connections Experimental.System.Net.Http.Connections.ConnectionSetup HTTP connection_setup {address}:{port}

No hay ninguna relación de elementos primarios y secundarios entre el de solicitud de cliente HTTP de y las actividades de configuración de la conexión HTTP ; este último siempre será una actividad raíz, viviendo en un seguimiento independiente. Sin embargo, si el intento de conexión representado por configuración de la conexión HTTP da como resultado una conexión HTTP correcta y esa conexión la toma una solicitud para atenderla, la instrumentación agrega un a la solicitud de cliente HTTP actividad que apunta a la actividad configuración de la conexión HTTP . Es decir, cada solicitud está vinculada a la conexión que ha servido a la solicitud.

Nota

Si se produce un error configuración de conexión HTTP, no se vinculará a ninguna solicitud de cliente HTTP .

Advertencia

Esta actividad es experimental. Es posible que se modifique o elimine en una versión futura.

Atributos (etiquetas)

Atributo Tipo Descripción Ejemplos Presencia
error.type string Motivo del error de conexión: uno de los errores de solicitud HTTP en snake_case o un tipo de excepción completo. System.Net.Sockets.SocketException; name_resolution_error; secure_connection_error Si se produce un error en el intento de conexión.
network.peer.address string Dirección IP del mismo nivel de la conexión de socket. 10.5.3.2 Si el intento de conexión se realiza correctamente.
server.address string Identificador de host del "origen del URI" se envía la solicitud HTTP inicial. example.com Siempre
server.port int Identificador de puerto del "origen del URI" se envía la solicitud HTTP inicial. Siempre
url.scheme string El esquema de URI componente que identifica el protocolo usado. http; https Siempre

Búsqueda dns (experimental)

En esta actividad se describen las búsquedas DNS realizadas a través de llamadas Dns. Corresponde a la llamada administrada y no a las búsquedas de DNS físicas realizadas por la resolución del sistema operativo subyacente. Cuando se notifica la actividad de búsqueda DNS de junto con una actividad de configuración de conexión HTTP , búsqueda de DNS se convierte en un elemento secundario de configuración de la conexión HTTP.

Disponibilidad nombre de ActivitySource OperationName DisplayName
.NET 9+ Experimental.System.Net.NameResolution Experimental.System.Net.NameResolution.DnsLookup DNS [reverse] lookup {question}

Propina

La métrica de dns.lookup.duration también notifica la duración de la búsqueda DNS.

Advertencia

Esta actividad es experimental. Es posible que se modifique o elimine en una versión futura.

Atributos (etiquetas)

Atributo Tipo Descripción Ejemplos Presencia
error.type string El código de error o el nombre de excepción. [1] host_not_found Si se produce un error en la búsqueda.
dns.answers string[] Lista de direcciones IP resueltas (para la búsqueda DNS) o un único elemento que contiene el nombre de dominio (para la búsqueda inversa). ["10.0.0.1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334"] Si la búsqueda se realiza correctamente.
dns.question.name string Nombre de dominio o dirección IP que se está consultando. example.com Siempre

[1]: El valor es un SocketError relacionado con DNS en snake_case (host_not_found, try_again, no_recovery, address_family_not_supported) o un nombre de excepción completo.

Conexión de socket (experimental)

Esta actividad describe el establecimiento de una conexión de Socket a través de Connect o ConnectAsync. Cuando se notifica la actividad de conexión de socket de socket junto con una actividad de configuración de conexión HTTP , de conexión de socket se convierte en un elemento secundario de configuración de conexión HTTP.

Disponibilidad nombre de ActivitySource OperationName DisplayName
.NET 9+ Experimental.System.Net.Sockets Experimental.System.Net.Sockets.Connect socket connect {address}[:{port}]

Advertencia

Esta actividad es experimental. Es posible que se modifique o elimine en una versión futura.

Atributos (etiquetas)

Atributo Tipo Descripción Ejemplos Presencia
error.type string El SocketError en snake_case. address_already_in_use; connection_refused Si se produce un error en el intento de conexión del socket.
network.peer.address string Dirección del mismo nivel de la conexión de red: dirección IP o nombre de socket de dominio de Unix. 10.5.3.2; /tmp/my.sock Sockets IP y UDS.
network.peer.port int Número de puerto del mismo nivel de la conexión IP. 65123 Sockets IP.
network.transport string de capa de transporte OSI o método de comunicación entre procesos. tcp; udp; unix Sockets IP y UDS.
network.type string capa de red OSI o equivalente que no sea OSI. ipv4; ipv6 Sockets IP.

Protocolo de enlace TLS (experimental)

Esta actividad describe el protocolo de enlace de servidor o cliente TLS realizado a través de los métodos de autenticación de SslStream. Cuando se notifica la actividad de protocolo de enlace TLS para la autenticación del lado cliente junto con la actividad de configuración de conexión HTTP , protocolo de enlace TLS se convierte en un elemento secundario de configuración de la conexión HTTP.

Disponibilidad nombre de ActivitySource OperationName DisplayName
.NET 9+ Experimental.System.Net.Security Experimental.System.Net.Security.TlsHandshake TLS client handshake {host} o TLS server handshake

Advertencia

Esta actividad es experimental. Es posible que se modifique o elimine en versiones futuras.

Atributos (etiquetas)

Atributo Tipo Descripción Ejemplos Presencia
error.type string Describe una clase de error con la que finalizó la operación. System.Net.Security.Authentication.AuthenticationException; System.OperationCanceledException Si se produce un error en el protocolo de enlace.
server.address string El indicación de nombre de servidor (SNI) usado en el mensaje "Client Hello" durante el protocolo de enlace TLS. example.com Al autenticarse como cliente.
tls.protocol.name string El nombre del protocolo en minúscula normalizado analizado de la cadena original de la versión negociada del protocolo SSL/TLS negociado ssl; tls Cuando la información del protocolo esté disponible.
tls.protocol.version string Parte numérica de la versión analizada de la cadena original de la versión negociada versión del protocolo SSL/TLS 1.2; 1.3 Cuando la información del protocolo esté disponible.