Integración del código fuente de Datadog

Información general

La integración del código fuente de Datadog te permite conectar tu telemetría con tus repositorios Git. Permite depurar las stack traces, los perfiles lentos y otros problemas accediendo a las líneas pertinentes de tu código fuente.

Fragmento de código en línea de una clase RuntimeException de Java, con un botón para visualizar el código en GitHub

Configuración

Se requiere el Datadog Agent v7.35.0 o posterior.

Si ya tienes APM configurado, ve a Integrations > Link Source Code y configura la integración del código fuente para tus servicios de backend.

Etiquetado de tu telemetría con información Git

Tu telemetría debe estar etiquetada con información Git que vincule la versión de la aplicación en ejecución con un repositorio y una confirmación concretos.

Para los lenguajes compatibles, Datadog recomienda integrar información Git en los artefactos desplegados, que luego es extraída por las bibliotecas de rastreo de Datadog automáticamente.

Para otros lenguajes y configuraciones, puedes configurar el etiquetado de la telemetría tú mismo.

Integrar información Git en tus artefactos de compilación

Puedes integrar la URL del repositorio y el hash de confirmación en tu artefacto de compilación. Las bibliotecas de rastreo de Datadog utilizan esta información para añadir automáticamente las etiquetas (tags) correctas a la telemetría de tu servicio APM.

Selecciona uno de los siguientes lenguajes que sea compatible con la integración de información Git:

Se requiere la biblioteca del cliente Go versión 1.48.0 o posterior.

Contenedores

Si utilizas contenedores Docker, tienes tres opciones: utilizar Docker, utilizar la biblioteca de rastreo de Datadog o configurar tu aplicación con variables de entorno DD_GIT_*.

Opción 1: Docker
  1. Add the following lines to your application’s Dockerfile:

    ARG DD_GIT_REPOSITORY_URL
    ARG DD_GIT_COMMIT_SHA
    ENV DD_GIT_REPOSITORY_URL=${DD_GIT_REPOSITORY_URL} 
    ENV DD_GIT_COMMIT_SHA=${DD_GIT_COMMIT_SHA}
    
  2. Add the following arguments to your Docker build command:

    docker build . \
     -t my-application \
     --build-arg DD_GIT_REPOSITORY_URL=<git-provider.example/me/my-repo> \
     --build-arg DD_GIT_COMMIT_SHA=$(git rev-parse HEAD)
    
Opción 2: Biblioteca de rastreo de Datadog

Go embeds version control information in binaries since version 1.18. The Datadog tracing library uses this information to tag your telemetry with the latest commit SHA and repository URL.

Ensure your service meets the following requirements to use this approach:

  • Go version is 1.18 or later.
  • The service is built as a go module and the module path is your code’s repository URL.
Opción 3: Variables de entorno DD_GIT_*

Configure your application with the DD_GIT_* environment variables:

export DD_GIT_COMMIT_SHA="<commitSha>"
export DD_GIT_REPOSITORY_URL="<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Serverless

Si utilizas la opción serverless, tienes tres opciones en función de la configuración de tu aplicación serverless.

Opción 1: Herramientas de Datadog
Datadog CLI tool
Use the datadog-ci client version 2.10.0 or later. You must run the CLI tool in the same directory as the code repository.
Datadog Serverless Plugin
Use the plugin version 5.60.0 or later.
Datadog CDK Construct
Use the datadog-cdk-constructs version 0.8.5 or later for AWS CDK v1.
Use the datadog-cdk-constructs version 1.4.0 or later for AWS CDK v2.
Opción 2: Biblioteca de rastreo de Datadog

Go embeds version control information in binaries since version 1.18. The Datadog tracing library uses this information to tag your telemetry with the latest commit SHA and repository URL.

Ensure your service meets the following requirements to use this approach:

  • Go version is 1.18 or later.
  • The service is built as a go module and the module path is your code’s repository URL.
Opción 3: Variables de entorno DD_GIT_*

Configure your application with the DD_GIT_* environment variables:

export DD_GIT_COMMIT_SHA="<commitSha>"
export DD_GIT_REPOSITORY_URL="<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Host

Si utilizas un host, tienes dos opciones.

Opción 1: Biblioteca de rastreo de Datadog

Go embeds version control information in binaries since version 1.18. The Datadog tracing library uses this information to tag your telemetry with the latest commit SHA and repository URL.

Ensure your service meets the following requirements to use this approach:

  • Go version is 1.18 or later.
  • The service is built as a go module and the module path is your code’s repository URL.
Opción 2: Variables de entorno DD_GIT_*

Configure your application with the DD_GIT_* environment variables:

export DD_GIT_COMMIT_SHA="<commitSha>"
export DD_GIT_REPOSITORY_URL="<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Se requiere la biblioteca del cliente Python versión 1.12.0 o posterior.

Contenedores

Si utilizas contenedores Docker, tienes tres opciones: utilizar Docker, utilizar la biblioteca de rastreo de Datadog o configurar tu aplicación con variables de entorno DD_GIT_*.

Opción 1: Docker
  1. Add the following lines to your application’s Dockerfile:

    ARG DD_GIT_REPOSITORY_URL
    ARG DD_GIT_COMMIT_SHA
    ENV DD_GIT_REPOSITORY_URL=${DD_GIT_REPOSITORY_URL} 
    ENV DD_GIT_COMMIT_SHA=${DD_GIT_COMMIT_SHA}
    
  2. Add the following arguments to your Docker build command:

    docker build . \
     -t my-application \
     --build-arg DD_GIT_REPOSITORY_URL=<git-provider.example/me/my-repo> \
     --build-arg DD_GIT_COMMIT_SHA=$(git rev-parse HEAD)
    
Opción 2: Herramientas de configuración o archivo de parámetros unificados del proyecto Python

If your application is packaged with setuptools:

  1. Install the dd-trace package.
  2. Add import ddtrace.sourcecode.setuptools_auto as the first import to the setup.py file.
  3. Set the DD_MAIN_PACKAGE environment variable as the name of the primary Python package.

If your application is using a unified Python project settings file:

  1. Install the hatch-datadog-build-metadata plugin and configure it to embed git metadata. If a project already has URLs, reconfigure them as dynamic and move them to another configuration section. For more information, see the plugin source code.
  2. Set the DD_MAIN_PACKAGE environment variable as the name of the primary Python package.
Opción 3: Variables de entorno DD_GIT_*

Configure your application with the DD_GIT_* environment variables:

export DD_GIT_COMMIT_SHA="<commitSha>"
export DD_GIT_REPOSITORY_URL="<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Serverless

Si utilizas la opción serverless, tienes tres opciones en función de la configuración de tu aplicación serverless.

Opción 1: Herramientas de Datadog
Datadog CLI tool
Use the datadog-ci client version 2.10.0 or later. You must run the CLI tool in the same directory as the code repository.
Datadog Serverless Plugin
Use the plugin version 5.60.0 or later.
Datadog CDK Construct
Use the datadog-cdk-constructs version 0.8.5 or later for AWS CDK v1.
Use the datadog-cdk-constructs version 1.4.0 or later for AWS CDK v2.
Opción 2: Herramientas de configuración o archivo de parámetros unificados del proyecto Python

If your application is packaged with setuptools:

  1. Install the dd-trace package.
  2. Add import ddtrace.sourcecode.setuptools_auto as the first import to the setup.py file.
  3. Set the DD_MAIN_PACKAGE environment variable as the name of the primary Python package.

If your application is using a unified Python project settings file:

  1. Install the hatch-datadog-build-metadata plugin and configure it to embed git metadata. If a project already has URLs, reconfigure them as dynamic and move them to another configuration section. For more information, see the plugin source code.
  2. Set the DD_MAIN_PACKAGE environment variable as the name of the primary Python package.
Opción 3: Variables de entorno DD_GIT_*

Configure your application with the DD_GIT_* environment variables:

export DD_GIT_COMMIT_SHA="<commitSha>"
export DD_GIT_REPOSITORY_URL="<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Host

Si utilizas un host, tienes dos opciones.

Opción 1: Herramientas de configuración o archivo de parámetros unificados del proyecto Python

If your application is packaged with setuptools:

  1. Install the dd-trace package.
  2. Add import ddtrace.sourcecode.setuptools_auto as the first import to the setup.py file.
  3. Set the DD_MAIN_PACKAGE environment variable as the name of the primary Python package.

If your application is using a unified Python project settings file:

  1. Install the hatch-datadog-build-metadata plugin and configure it to embed git metadata. If a project already has URLs, reconfigure them as dynamic and move them to another configuration section. For more information, see the plugin source code.
  2. Set the DD_MAIN_PACKAGE environment variable as the name of the primary Python package.
Opción 2: Variables de entorno DD_GIT_*

Configure your application with the DD_GIT_* environment variables:

export DD_GIT_COMMIT_SHA="<commitSha>"
export DD_GIT_REPOSITORY_URL="<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Se requiere la biblioteca del cliente .NET versión 2.24.1 o posterior.

Como primer paso, asegúrate de que los archivos .pdb se despliegan junto con los ensamblados .NET (.dll o .exe) en la misma carpeta. Luego, sigue el resto de las instrucciones según tu modelo de despliegue específico:

Contenedores

Si utilizas contenedores Docker, tienes tres opciones: utilizar Docker, utilizar la biblioteca de rastreo de Datadog o configurar tu aplicación con variables de entorno DD_GIT_*.

Opción 1: Docker
  1. Add the following lines to your application’s Dockerfile:

    ARG DD_GIT_REPOSITORY_URL
    ARG DD_GIT_COMMIT_SHA
    ENV DD_GIT_REPOSITORY_URL=${DD_GIT_REPOSITORY_URL} 
    ENV DD_GIT_COMMIT_SHA=${DD_GIT_COMMIT_SHA}
    
  2. Add the following arguments to your Docker build command:

    docker build . \
     -t my-application \
     --build-arg DD_GIT_REPOSITORY_URL=<git-provider.example/me/my-repo> \
     --build-arg DD_GIT_COMMIT_SHA=$(git rev-parse HEAD)
    

If you are using Microsoft SourceLink, Datadog can extract the git commit SHA and repository URL from your .NET assembly.

  1. Open your project’s file (.csproj) in an IDE and add a reference to one of the following NuGet packages, depending on where your git repository is hosted:
    ProviderMicrosoft SourceLink
    GitHubMicrosoft.SourceLink.GitHub
    BitbucketMicrosoft.SourceLink.Bitbucket
    GitLabMicrosoft.SourceLink.GitLab
    Azure DevOpsMicrosoft.SourceLink.AzureRepos.Git
    Azure DevOps ServerMicrosoft.SourceLink.AzureDevOpsServer.Git
Opción 3: Variables de entorno DD_GIT_*

Configure your application with the DD_GIT_* environment variables:

export DD_GIT_COMMIT_SHA="<commitSha>"
export DD_GIT_REPOSITORY_URL="<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Serverless

Si utilizas la opción serverless, tienes tres opciones en función de la configuración de tu aplicación serverless.

Opción 1: Herramientas de Datadog
Datadog CLI tool
Use the datadog-ci client version 2.10.0 or later. You must run the CLI tool in the same directory as the code repository.
Datadog Serverless Plugin
Use the plugin version 5.60.0 or later.
Datadog CDK Construct
Use the datadog-cdk-constructs version 0.8.5 or later for AWS CDK v1.
Use the datadog-cdk-constructs version 1.4.0 or later for AWS CDK v2.

If you are using Microsoft SourceLink, Datadog can extract the git commit SHA and repository URL from your .NET assembly.

  1. Open your project’s file (.csproj) in an IDE and add a reference to one of the following NuGet packages, depending on where your git repository is hosted:
    ProviderMicrosoft SourceLink
    GitHubMicrosoft.SourceLink.GitHub
    BitbucketMicrosoft.SourceLink.Bitbucket
    GitLabMicrosoft.SourceLink.GitLab
    Azure DevOpsMicrosoft.SourceLink.AzureRepos.Git
    Azure DevOps ServerMicrosoft.SourceLink.AzureDevOpsServer.Git
Opción 3: Variables de entorno DD_GIT_*

Configure your application with the DD_GIT_* environment variables:

export DD_GIT_COMMIT_SHA="<commitSha>"
export DD_GIT_REPOSITORY_URL="<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Host

Si utilizas un host, tienes dos opciones: utilizar Microsoft SourceLink o configurar tu aplicación con variables de entorno DD_GIT_*.

If you are using Microsoft SourceLink, Datadog can extract the git commit SHA and repository URL from your .NET assembly.

  1. Open your project’s file (.csproj) in an IDE and add a reference to one of the following NuGet packages, depending on where your git repository is hosted:
    ProviderMicrosoft SourceLink
    GitHubMicrosoft.SourceLink.GitHub
    BitbucketMicrosoft.SourceLink.Bitbucket
    GitLabMicrosoft.SourceLink.GitLab
    Azure DevOpsMicrosoft.SourceLink.AzureRepos.Git
    Azure DevOps ServerMicrosoft.SourceLink.AzureDevOpsServer.Git
Opción 2: Variables de entorno DD_GIT_*

Configure your application with the DD_GIT_* environment variables:

export DD_GIT_COMMIT_SHA="<commitSha>"
export DD_GIT_REPOSITORY_URL="<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Se requiere la biblioteca del cliente Node.js versión 3.21.0 o posterior.

Contenedores

Si utilizas contenedores Docker, tienes dos opciones: utilizar Docker o configurar tu aplicación con variables de entorno DD_GIT_*.

Opción 1: Docker
  1. Add the following lines to your application’s Dockerfile:

    ARG DD_GIT_REPOSITORY_URL
    ARG DD_GIT_COMMIT_SHA
    ENV DD_GIT_REPOSITORY_URL=${DD_GIT_REPOSITORY_URL} 
    ENV DD_GIT_COMMIT_SHA=${DD_GIT_COMMIT_SHA}
    
  2. Add the following arguments to your Docker build command:

    docker build . \
     -t my-application \
     --build-arg DD_GIT_REPOSITORY_URL=<git-provider.example/me/my-repo> \
     --build-arg DD_GIT_COMMIT_SHA=$(git rev-parse HEAD)
    
Opción 2: Variables de entorno DD_GIT_*

Configure your application with the DD_GIT_* environment variables:

export DD_GIT_COMMIT_SHA="<commitSha>"
export DD_GIT_REPOSITORY_URL="<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Serverless

Si utilizas la opción serverless, tienes dos opciones en función de la configuración de tu aplicación serverless.

Opción 1: Herramientas de Datadog
Datadog CLI tool
Use the datadog-ci client version 2.10.0 or later. You must run the CLI tool in the same directory as the code repository.
Datadog Serverless Plugin
Use the plugin version 5.60.0 or later.
Datadog CDK Construct
Use the datadog-cdk-constructs version 0.8.5 or later for AWS CDK v1.
Use the datadog-cdk-constructs version 1.4.0 or later for AWS CDK v2.
Opción 2: Variables de entorno DD_GIT_*

Configure your application with the DD_GIT_* environment variables:

export DD_GIT_COMMIT_SHA="<commitSha>"
export DD_GIT_REPOSITORY_URL="<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Host

Si utilizas un host, configura tu aplicación con variables de entorno DD_GIT_*.

Configure your application with the DD_GIT_* environment variables:

export DD_GIT_COMMIT_SHA="<commitSha>"
export DD_GIT_REPOSITORY_URL="<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Se requiere la biblioteca del cliente Ruby versión 1.6.0 o posterior.

Contenedores

Si utilizas contenedores Docker, tienes dos opciones: utilizar Docker o configurar tu aplicación con la variable de entorno DD_TAGS.

Opción 1: Docker
  1. Add the following lines to your application’s Dockerfile:

    ARG DD_GIT_REPOSITORY_URL
    ARG DD_GIT_COMMIT_SHA
    ENV DD_TAGS="git.repository_url:${DD_GIT_REPOSITORY_URL},git.commit.sha:${DD_GIT_COMMIT_SHA}"
    
  2. Add the following arguments to your Docker build command:

    docker build . \
     -t my-application \
     --build-arg DD_GIT_REPOSITORY_URL=<git-provider.example/me/my-repo> \
     --build-arg DD_GIT_COMMIT_SHA=$(git rev-parse HEAD)
    
Opción 2: Variable de entorno DD_TAGS

Configure your application with the DD_TAGS environment variable:

export DD_TAGS="git.commit.sha:<commitSha>,git.repository_url:<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Serverless

Si utilizas la opción serverless, tienes dos opciones en función de la configuración de tu aplicación serverless.

Opción 1: Herramientas de Datadog
Datadog CLI tool
Use the datadog-ci client version 2.10.0 or later. You must run the CLI tool in the same directory as the code repository.
Datadog Serverless Plugin
Use the plugin version 5.60.0 or later.
Datadog CDK Construct
Use the datadog-cdk-constructs version 0.8.5 or later for AWS CDK v1.
Use the datadog-cdk-constructs version 1.4.0 or later for AWS CDK v2.
Opción 2: Variable de entorno DD_TAGS

Configure your application with the DD_TAGS environment variable:

export DD_TAGS="git.commit.sha:<commitSha>,git.repository_url:<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Host

Si utilizas un host, configura tu aplicación con la variable de entorno DD_TAGS.

Configure your application with the DD_TAGS environment variable:

export DD_TAGS="git.commit.sha:<commitSha>,git.repository_url:<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Se requiere la biblioteca del cliente Java versión 1.12.0 o posterior.

Si utilizas contenedores Docker, tienes dos opciones: utilizar Docker o configurar tu aplicación con variables de entorno DD_GIT_*.

Opción 1: Docker
  1. Add the following lines to your application’s Dockerfile:

    ARG DD_GIT_REPOSITORY_URL
    ARG DD_GIT_COMMIT_SHA
    ENV DD_GIT_REPOSITORY_URL=${DD_GIT_REPOSITORY_URL} 
    ENV DD_GIT_COMMIT_SHA=${DD_GIT_COMMIT_SHA}
    
  2. Add the following arguments to your Docker build command:

    docker build . \
     -t my-application \
     --build-arg DD_GIT_REPOSITORY_URL=<git-provider.example/me/my-repo> \
     --build-arg DD_GIT_COMMIT_SHA=$(git rev-parse HEAD)
    
Opción 2: Variables de entorno DD_GIT_*

Configure your application with the DD_GIT_* environment variables:

export DD_GIT_COMMIT_SHA="<commitSha>"
export DD_GIT_REPOSITORY_URL="<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Serverless

Si utilizas la opción serverless, tienes dos opciones en función de la configuración de tu aplicación serverless.

Opción 1: Herramientas de Datadog
Datadog CLI tool
Use the datadog-ci client version 2.10.0 or later. You must run the CLI tool in the same directory as the code repository.
Datadog Serverless Plugin
Use the plugin version 5.60.0 or later.
Datadog CDK Construct
Use the datadog-cdk-constructs version 0.8.5 or later for AWS CDK v1.
Use the datadog-cdk-constructs version 1.4.0 or later for AWS CDK v2.
Opción 2: Variables de entorno DD_GIT_*

Configure your application with the DD_GIT_* environment variables:

export DD_GIT_COMMIT_SHA="<commitSha>"
export DD_GIT_REPOSITORY_URL="<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Host

Si utilizas un host, configura tu aplicación con variables de entorno DD_GIT_*.

Configure your application with the DD_GIT_* environment variables:

export DD_GIT_COMMIT_SHA="<commitSha>"
export DD_GIT_REPOSITORY_URL="<git-provider.example/me/my-repo>"

Replace <commitSha> with the commit SHA used to build your application. You can retrieve this by running git rev-parse HEAD at build time, and it needs to be passed into the runtime environment variables.

Compilación dentro de un contenedor Docker

Si tu proceso de compilación se ejecuta en CI dentro de un contenedor Docker, realiza los siguientes pasos para asegurarte de que la compilación puede acceder a la información Git:

  1. Añade el siguiente texto a tu archivo .dockerignore. Esto te asegura que el proceso de compilación pueda acceder a un subconjunto de la carpeta .git, lo que le permite determinar el hash de confirmación Git y la URL del repositorio.

    !.git/HEAD
    !.git/config
    !.git/refs
    
  2. Añade la siguiente línea de código a tu Dockerfile. Asegúrate de colocarla antes de que se ejecute la compilación real.

    COPY .git ./.git
    

Configuración del etiquetado de telemetría

Para los lenguajes no compatibles, utiliza las etiquetas git.commit.sha y git.repository_url para vincular los datos a una confirmación específica. Asegúrate de que la etiqueta git.repository_url no contiene protocolos. Por ejemplo, si la URL de tu repositorio es https://github.com/example/repo, el valor de la etiqueta git.repository_url debe ser github.com/example/repo.

Sincronización de los metadatos de tu repositorio

Para vincular tu telemetría con el código fuente, los metadatos de tu repositorio deben estar sincronizados con Datadog. Datadog no almacena el contenido real de los archivos de tu repositorio, solo los objetos Git commit y tree.

Proveedores Git

La integración del código fuente admite los siguientes proveedores Git:

ProveedorCompatibilidad con enlaces contextualesCompatibilidad con fragmentos de código
SaaS GitHub (github.com)
GitHub Enterprise Server
SaaS GitLab (gitlab.com)
GitLab autogestionadoNo
BitbucketNo
Servicios Azure DevOpsNo
Azure DevOps ServerNo

Instala la integración GitHub de Datadog en el cuadro de integración GitHub para permitir que Datadog sincronice los metadatos de tu repositorio automáticamente. Cuando especifiques los permisos en el cuadro de integración, selecciona al menos permisos de Lectura para Contenidos.

Configurar la integración GitHub también te permite ver fragmentos de código en línea en Error Tracking, Continuous Profiler, Serverless Monitoring, CI Visibility y Application Security Monitoring.

Los repositorios de las instancias autogestionadas de GitLab no son compatibles con la integración del código fuente. Para habilitar esta función, ponte en contacto con el servicio de asistencia.

Para vincular la telemetría con tu código fuente, carga los metadatos de tu repositorio con el comando datadog-ci git-metadata upload.

Cuando se ejecuta datadog-ci git-metadata upload dentro de un repositorio Git, Datadog recibe la URL del repositorio, la función SHA de confirmación de la rama actual y una lista de rutas de archivos rastreados.

Ejecuta este comando para cada confirmación que necesites sincronizar con Datadog.

Si utilizas gitlab.com, esto también te permite ver fragmentos de código en línea en Error Tracking, Continuous Profiler, Serverless Monitoring, CI Visibility y Application Security Monitoring.

Validación

Para asegurarte de que los datos se están recopilando, ejecuta datadog-ci git-metadata upload en tu pipeline CI.

Puedes esperar ver el siguiente resultado:

Reporting commit 007f7f466e035b052415134600ea899693e7bb34 from repository git@my-git-server.com:my-org/my-repository.git.
180 tracked file paths will be reported.
✅  Handled in 0.077 seconds.
Los repositorios en instancias autoalojadas o URL privadas no son compatibles con la integración del código fuente. Para habilitar esta función, ponte en contacto con el servicio de asistencia.

Para vincular la telemetría con tu código fuente, carga los metadatos de tu repositorio con el comando datadog-ci git-metadata upload.

Cuando se ejecuta datadog-ci git-metadata upload dentro de un repositorio Git, Datadog recibe la URL del repositorio, la función SHA de confirmación de la rama actual y una lista de rutas de archivos rastreados.

Ejecuta este comando para cada confirmación que necesites sincronizar con Datadog.

Validación

Para asegurarte de que los datos se están recopilando, ejecuta datadog-ci git-metadata upload en tu pipeline CI.

Puedes esperar ver el siguiente resultado:

Reporting commit 007f7f466e035b052415134600ea899693e7bb34 from repository git@my-git-server.com:my-org/my-repository.git.
180 tracked file paths will be reported.
✅  Handled in 0.077 seconds.

Uso

Enlaces a proveedores Git

En Error Tracking, puedes ver los enlaces de los marcos de stack tecnológico hasta su repositorio de origen.

  1. Ve a APM > Error Tracking.
  2. Haz clic en un problema. El panel Issue Details aparece a la derecha.
  3. En Latest Event, haz clic en el botón View a la derecha de un marco o selecciona View file, View Git blame o View commit para regresar a tu herramienta de gestión de código fuente.
Botón de visualización de repositorio con tres opciones (ver archivo, ver blame y ver confirmación) disponibles a la derecha de una stack trace de error en Error Tracking, junto con fragmentos de código en línea en la stack trace

Si utilizas la integración GitHub o si alojas tus repositorios en la instancia SaaS de GitLab (gitlab.com), haz clic en Connect to preview, en los marcos de stack tecnológico. Puedes ver fragmentos de código en línea directamente en la stack trace.

En Continuous Profiler, puedes ver una vista previa del código fuente de los marcos de perfiles.

  1. Ve a APM > Profile Search.
  2. Pasa el cursor sobre un método en el gráfico de llamas.
  3. Si es necesario, pulsa Opt o Alt para habilitar la vista previa.
Vista previa del código fuente en Continuous Profiler

También puedes ver los enlaces de los marcos de perfiles hasta su repositorio de origen. Esto es compatible con los perfiles desglosados por línea, método o archivo.

  1. Ve a APM > Profile Search.
  2. Pasa el cursor sobre un método en el gráfico de llamas. A la derecha aparece un icono con tres puntos con la etiqueta More actions.
  3. Haz clic en More actions > View in repo para abrir la traza (trace) en su repositorio de código fuente.
Enlace a GitHub desde Continuous Profiler

En Serverless Monitoring, puedes ver los enlaces de los errores en tus stack traces, asociadas a funciones Lambda, hasta su repositorio de origen.

  1. Ve a Infrastructure > Serverless y haz clic en la pestaña AWS.
  2. Haz clic en una función Lambda y luego en el botón Open Trace para una invocación con una stack trace asociada.
  3. Haz clic en View Code para abrir el error en su repositorio de código fuente.

Si utilizas la integración GitHub, haz clic en Connect to preview en los cuadros de error. Puedes ver fragmentos de código en línea directamente en la stack trace de la función Lambda.

En Test Visibility, puedes ver los enlaces de ejecuciones de tests fallidas hasta su repositorio de origen.

  1. Ve a Software Delivery > Test Visibility > Test Runs y selecciona un test fallido.
  2. Haz clic en el botón View on GitHub para abrir el test en su repositorio de código fuente.
Enlace a GitHub desde CI Visibility Explorer

Para obtener más información, consulta Mejora de los flujos de trabajo de los desarrolladores con Datadog.

En Code Analysis, puedes ver los enlaces de los Análisis estáticos y los Análisis de composición del software fallidos hasta su repositorio de origen.

  1. Ve a Software Delivery > Code Analysis y selecciona un repositorio.
  2. En las vistas Code Vulnerabilities o Code Quality, haz clic en una vulnerabilidad o violación del código. En la sección Details, haz clic en el botón View Code para abrir el código marcado en su repositorio de código fuente.
Enlace a GitHub desde la vista Code Analysis Code Vulnerabilities

Para obtener más información, consulta la documentación de Code Analysis.

En Application Security Monitoring, puedes ver los enlaces de los errores en tus stack traces, asociadas a señales de seguridad, hasta su repositorio de origen.

  1. Ve a Security > Application Security y selecciona una señal de seguridad.
  2. Desplázate hasta la sección Traces, en la pestaña Related Signals, y haz clic en una stack trace asociada.
  3. Haz clic en View Code para abrir el error en su repositorio de código fuente.

Si utilizas la integración GitHub, haz clic en Connect to preview en los marcos de error. Puedes ver fragmentos de código en línea directamente en la stack trace de la señal de seguridad.

Enlace a GitHub desde Application Security Monitoring

Referencias adicionales