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 GET
y 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)
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
Nota
Si se produce un error
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
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
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
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. |