You want to extend the ddtrace library’s functionality.
You need finer control over instrumenting your applications.
The ddtrace library provides several techniques to help you achieve these goals. The following sections demonstrate how to use the OpenTelemetry API for custom instrumentation to use with Datadog.
La propiedad dd.tags permite establecer etiquetas en todos los tramos generados para una aplicación. Esto puede ser útil para agrupar las estadísticas de las aplicaciones, los centros de datos o cualquier otra etiqueta que desees ver en la interfaz de usuario de Datadog.
Si no estás usando una instrumentación de marco compatible, o te gustaría conocer más sobre las trazas de tu aplicación, puede que quieras añadir instrumentación personalizada a tu código para obtener gráficas de llamas completas o para medir los tiempos de ejecución de fragmentos de código.
Si no es posible modificar el código de la aplicación, utiliza la variable de entorno dd.trace.methods para detallar estos métodos.
Si ya dispones de @Trace o anotaciones similares, o prefieres utilizar anotaciones para completar cualquier traza incompleta dentro de Datadog, utiliza anotaciones de traza.
Las trazas también pueden crearse mediante la anotación de OpenTelemetry @WithSpan, como se describe en anotaciones de traza.
Añade @WithSpan a los métodos para que sean rastreados cuando se ejecuta OpenTelemetry y el dd-java-agent.jar. Si el Agent no está adjunto, esta anotación no tiene ningún efecto en tu aplicación.
La anotación @WithSpan de OpenTelemetry es proporcionada por la dependencia opentelemetry-instrumentation-annotations.
importio.opentelemetry.instrumentation.annotations.WithSpan;publicclassSessionManager{@WithSpanpublicstaticvoidsaveSession(){// tu método de implementación aquí}}
Tanto el cliente de rastreo como el Datadog Agent ofrecen opciones adicionales de configuración para la propagación de contexto. También puedes excluir recursos específicos del envío de trazas a Datadog si no deseas que esas trazas se incluyan en métricas calculadas, como trazas relacionadas con los checks de estado.
Puedes configurar la propagación de contexto para trazas distribuidas al inyectar y extraer encabezados. Consulta Propagación de contexto de traza para obtener información.
Las trazas se pueden excluir en función de su nombre de recurso, para eliminar el tráfico Synthetic, como los checks de estado, de la notificación de trazas a Datadog. Esta y otras configuraciones de seguridad y ajuste se pueden encontrar en la página de Seguridad o en Ignorar recursos no deseados.