Code Origins para tramos (spans)

Join the Preview!

Code Origins está actualmente en Vista previa. Para unirte a la vista previa, sigue las siguientes instrucciones para activar la función en tus servicios compatibles. Para enviar preguntas, comentarios o solicitudes relacionadas con Code Origins, rellena este formulario con tus datos.

Información general

Code Origins detecta las localizaciones exactas en tu código base donde se crean tramos APM. Cuando se activa en un servicio compatible, añade automáticamente la ruta del archivo, el número de la línea y el nombre de la función a cada tramo de entrada de servicios, lo que facilita:

  • Depurar problemas de rendimiento
  • Entender el flujo de ejecución del código
  • Identificar cuellos de botella en el rendimiento

En el Explorador de trazas, selecciona un tramo de un servicio habilitado para ver detalles de Code Origins en la pestaña Información general:

Detalles de Code Origins

Empezando

Requisitos previos

Requisitos de compatibilidad

Lenguaje en tiempo de ejecuciónVersión de biblioteca de rastreoMarcos
Java1.47.0 o posteriorSpring Boot/Data, servidores gRPC, Micronaut 4, consumidores Kafka
Python2.15.0+Django, Flask, Starlette y derivados
Node.js4.49.0 o posteriorFastify
.NET3.15.0 o posteriorASP.NET, ASP.NET Core

Activar Code Origins

Ejecuta tu servicio con la siguiente variable de entorno:

export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
En aplicaciones Node.js transpiladas (por ejemplo, TypeScript), asegúrate de generar y publicar mapas de fuentes con la aplicación desplegada y de ejecutar Node.js con el marcador --enable-source-maps. De lo contrario, las vistas previas del código no funcionarán. Para ver más detalles, consulta la documentación de la integración del código fuente de Node.js.

Uso de Code Origins

En el Explorador de trazas

  1. Ve al Explorador de trazas.

  2. Busca “tramos de entrada de servicios” desde tus servicios habilitados para Code Origins.

    Code Origins - Buscar tramos de entrada de servicios
  3. Haz clic en un tramo para ver los detalles.

  4. En el panel lateral de detalles de la traza, busca la sección “Code Origins”.

    Detalles de Code Origins en el Explorador de trazas
  5. De la sección Code Origins:

    • Inicia una sesión de Live Debugger en el servicio en ejecución haciendo clic en “Start Debug Session” (Empezar la sesión de depuración), para capturar logs en la localización del método de Code Origins. O bien, selecciona un punto de interrupción en el gutter de la vista previa del código, para capturar logs en la línea de código seleccionada.

      Code Origins - Iniciar sesión de Live Debugger
    • Haz clic en las variables del código fuente para añadirlas como atributos a tramos futuros con Dynamic Instrumentation.

      Code Origins - Añadir etiquetas de tramo con Dynamic Instrumentation

En tu IDE

  1. Configura tu integración Datadog IDE.

    • IDE compatibles: IntelliJ, VS Code
    • Lenguajes admitidos: Java, Python
  2. Visualiza las métricas RED (Solicitudes, Errores y Duración) como anotaciones en línea de tus métodos de endpoint.

    Detalles de Code Origins en IDE

Solucionar problemas

Falta sección Code Origins

  • Verifica que Code Origins está habilitado en la configuración de tu biblioteca de rastreo.

  • Confirma que tu servicio cumple todos los requisitos de compatibilidad (es decir, lenguaje del servicio, marcos compatibles y versión mínima del rastreador).

  • En la mayoría de los servicios, los datos de Code Origins se capturan sólo para tramos de entrada de servicios. Puedes filtrar por “tramos de entrada de servicios” en el Explorador de trazas APM.

    Code Origins - Buscar tramos de entrada de servicios
  • Para buscar todos los tramos que incluyan Code Origins, utiliza la consulta @_dd.code_origin.type:* en el Explorador de trazas APM.

La vista previa del código no es visible o no se encuentra el archivo

  • Asegúrate de que se cumplen todos los requisitos de configuración de la integración del código fuente y de que tus variables de entorno de DD_GIT_* están configuradas con los valores correctos.
  • En aplicaciones Node.js transpiladas (por ejemplo, TypeScript), asegúrate de generar y publicar mapas de fuentes con la aplicación desplegada y de ejecutar Node.js con el marcador --enable-source-maps. De lo contrario, las vistas previas del código no funcionarán. Para ver más detalles, consulta la documentación de la integración del código fuente de Node.js.
  • Code Origins está diseñado para referenciar únicamente códigos de usuario, pero en algunos casos pueden colarse referencias a códigos de terceros. Puedes informar de estos casos al servicio de asistencia de Datadog y ayudar a mejorar estas referencias.

Referencias adicionales