Code Origin para Tramos

Resumen

Code Origin captura las ubicaciones exactas en tu base de código donde se crean los tramos de APM. Cuando está habilitado en un servicio compatible, agrega automáticamente la ruta del archivo, el número de línea y el nombre de la función a cada tramo de entrada del servicio, facilitando así:

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

En Trace Explorer, selecciona un tramo de un servicio habilitado para ver los detalles de Code Origin en la pestaña Resumen:

Detalles de Code Origin

Introducción

Requisitos previos

Requisitos de compatibilidad

Versión del SDKFrameworks
1.47.0+Spring Boot/Data, servidores gRPC, Micronaut 4, consumidores de Kafka

Limitación: En JDK 18 y versiones anteriores, las clases compiladas con la -parameters bandera pueden no ser compatibles. Spring 6+, Spring Boot 3+ y Scala utilizan esta bandera por defecto.

Versión del SDKFrameworks
2.15.0+Django, Flask, Starlette y derivados
Versión del SDKFrameworks
4.49.0+Fastify
5.54.0+Express

Nota: NestJS no es compatible, aunque el marco subyacente sea Express o Fastify.

Versión del SDKFrameworks
3.15.0+ASP.NET, ASP.NET Core
Versión del SDKFrameworks
1.11.0+Todos los frameworks web compatibles

Habilitar origen de código

Ejecute su servicio con la siguiente variable de entorno:

export DD_CODE_ORIGIN_FOR_SPANS_ENABLED=true
Para aplicaciones de Node.js transpileadas (por ejemplo, TypeScript), asegúrese de generar y publicar mapas del código fuente con la aplicación desplegada, ejecute Node.js con el --enable-source-mapsla bandera, y use la versión 5.59.0 o más reciente del rastreador de Node.js. De lo contrario, las vistas previas de código no funcionan. Consulte la documentación de Integración de Código Fuente de Node.js para más detalles.

Usando el Origen de Código

En el Explorador de Trazas

  1. Navegue hasta el Explorador de Trazas.

  2. Busque “Service Entry Spans” de sus servicios habilitados para Origen de Código.

    Origen de Código - Buscar Service Entry Spans
  3. Haga clic en un tramo para ver sus detalles.

  4. En el panel lateral de detalles de la traza, busque la sección “Origen de Código”.

    Detalles del Origen de Código en el Explorador de Trazas
  5. Desde la sección de Origen de Código:

    • Inicie una sesión de Depurador en Vivo en el servicio en ejecución haciendo clic en “Iniciar Sesión de Depuración” para capturar registros en la ubicación del método de Origen de Código. O, seleccione un punto de interrupción en el margen de la vista previa de código para capturar registros en la línea de código seleccionada.

      Origen de Código - Iniciar Sesión de Depurador en Vivo
    • Click on source code variables to add them as attributes to future spans with Dynamic Instrumentation.

      Origen de Código - Agregar etiqueta de tramo con Instrumentación Dinámica

En su IDE

  1. Configura tu Integración de IDE de Datadog.

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

    Detalles de Origen del Código en IDE

Solución de problemas

Falta la sección de Origen del Código

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

  • Asegúrate de que se cumplan todos los requisitos de configuración de Integración de Código Fuente, incluyendo que tus DD_GIT_* variables de entorno estén configuradas con los valores correctos.
  • Para aplicaciones de Node.js transpileadas (por ejemplo, TypeScript), asegúrate de generar y publicar mapas del código fuente con la aplicación desplegada, ejecuta Node.js con la bandera --enable-source-maps y utiliza la versión 5.59.0 o más reciente del tracer de Node.js. De lo contrario, las vistas previas del código no funcionarán. Consulta la documentación de Integración de Código Fuente de Node.js para más detalles.
  • El Origen del Código está diseñado para referenciar solo el código del usuario, pero en algunos casos, las referencias de código de terceros pueden pasar desapercibidas. Puedes reportar estos casos a soporte de Datadog y ayudar a mejorar estas referencias.

Lectura Adicional