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:
Introducción
Requisitos previos
Requisitos de compatibilidad
| Versión del SDK | Frameworks |
|---|
| 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 SDK | Frameworks |
|---|
| 2.15.0+ | Django, Flask, Starlette y derivados |
| Versión del SDK | Frameworks |
|---|
| 4.49.0+ | Fastify |
| 5.54.0+ | Express |
Nota: NestJS no es compatible, aunque el marco subyacente sea Express o Fastify.
| Versión del SDK | Frameworks |
|---|
| 3.15.0+ | ASP.NET, ASP.NET Core |
| Versión del SDK | Frameworks |
|---|
| 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
Navegue hasta el Explorador de Trazas.
Busque “Service Entry Spans” de sus servicios habilitados para Origen de Código.
Haga clic en un tramo para ver sus detalles.
En el panel lateral de detalles de la traza, busque la sección “Origen de Código”.
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.
Click on source code variables to add them as attributes to future spans with Dynamic Instrumentation.
En su IDE
Configura tu Integración de IDE de Datadog.
- IDEs soportados: IntelliJ, VS Code
- Lenguajes soportados: Java, Python
Visualiza métricas RED (Solicitudes, Errores y Duración) como anotaciones en línea sobre tus métodos de endpoint.
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
Más enlaces, artículos y documentación útiles: