Trazado de aplicaciones .NET Framework
Requisitos de compatibilidad
Runtimes de .NET Framework soportados
El trazador .NET soporta instrumentación en .NET Framework >= 4.6.1.
Para una lista completa de la biblioteca de .NET Framework de Datadog y el soporte de arquitectura de procesador (incluyendo versiones heredadas y de mantenimiento), consulta Requisitos de Compatibilidad.
Instalación y primeros pasos
Para configurar Datadog APM en entornos Serverless, como AWS Lambda o Azure Functions, consulte
Serverless.
Nota: La instrumentación automática de Datadog se basa en la API de perfilado de .NET CLR. Esta API permite solo un suscriptor (por ejemplo, Datadog APM). Para garantizar la máxima visibilidad, ejecute solo una solución APM en su entorno de aplicación.
Instalación
Antes de comenzar, asegúrese de haber instalado y configurado el Agente.
- Instale el SDK.
- Habilite el SDK para su servicio.
- Vea sus datos en vivo.
Instale el SDK
Después de instalar y configurar su Agente de Datadog, el siguiente paso es agregar el SDK directamente en la aplicación para instrumentarla. Lea más sobre información de compatibilidad.
Instale el trazador de Datadog .NET a nivel de máquina para que todos los servicios en la máquina estén instrumentados o a nivel de aplicación, para que los desarrolladores puedan gestionar la instrumentación a través de las dependencias de la aplicación. Para ver las instrucciones de instalación a nivel de máquina, haga clic en la pestaña de Windows. Para ver las instrucciones de instalación por aplicación, haga clic en la pestaña de NuGet.
Para instalar el trazador .NET a nivel de máquina:
Descargue el .NET Tracer MSI installer. Utilice el instalador MSI x64 si está ejecutando Windows de 64 bits; esto puede instrumentar tanto aplicaciones de 64 bits como de 32 bits. Solo elige el instalador x86 si estás ejecutando Windows de 32 bits. A partir de la versión 3.0.0, solo se proporciona el instalador x64, ya que no soportamos sistemas operativos de 32 bits.
Ejecuta el instalador MSI de .NET Tracer con privilegios de administrador.
También puedes automatizar la configuración de MSI ejecutando lo siguiente en PowerShell: Start-Process -Wait msiexec -ArgumentList '/qn /i datadog-apm.msi'
Nota: Esta instalación no instrumenta aplicaciones que se ejecutan en IIS. Para aplicaciones que se ejecutan en IIS, sigue el proceso de instalación a nivel de máquina de Windows.
Para instalar el .NET Tracer por aplicación:
- Agrega el
Datadog.Trace.Bundle paquete de NuGet a tu aplicación.
Habilita el SDK para tu servicio
Para habilitar el .NET Tracer para tu servicio, establece las variables de entorno requeridas y reinicia la aplicación.
Para información sobre los diferentes métodos para establecer variables de entorno, consulta Configuración de variables de entorno del proceso.
El instalador MSI de .NET Tracer agrega todas las variables de entorno requeridas. No hay variables de entorno que necesites configurar.
Para instrumentar automáticamente aplicaciones alojadas en IIS, detén y reinicia IIS completamente ejecutando los siguientes comandos como administrador:
net stop /y was
net start w3svc
# Also, start any other services that were stopped when WAS was shut down.
Nota: Siempre utiliza los comandos anteriores para detener y reiniciar completamente IIS para habilitar el SDK. Evita usar la aplicación GUI del Administrador de IIS o iisreset.exe.
Servicios fuera de IIS
Nota: El runtime de .NET intenta cargar la biblioteca de .NET en cualquier proceso de .NET que se inicie con estas variables de entorno configuradas. Deberías limitar la instrumentación solo a las aplicaciones que necesitan ser instrumentadas. No configures estas variables de entorno globalmente, ya que esto causa que todos los procesos de .NET en el servidor sean instrumentados.
Configura las siguientes variables de entorno requeridas para que la instrumentación automática se adjunte a tu aplicación:
Para aplicaciones independientes y servicios de Windows, reinicia manualmente la aplicación.
Ve tus datos en vivo
Después de habilitar el .NET Tracer para tu servicio:
Reinicia tu servicio.
Crea carga de aplicación.
En Datadog, navega a APM > Trazas de APM.
Configuración
Si es necesario, configura el SDK para enviar datos de telemetría de rendimiento de la aplicación, incluyendo la configuración de Unified Service Tagging. Lee Configuración de la Biblioteca para más detalles.
Instrumentación personalizada
La instrumentación personalizada depende de su instrumentación automática e incluye pasos adicionales según el método:
Nota: A partir de la versión 3.0.0, la instrumentación personalizada requiere que también utilice la instrumentación automática. Debería esforzarse por mantener sincronizadas las versiones de los paquetes de instrumentación automática y personalizada (por ejemplo: MSI y NuGet), y asegurarse de no mezclar versiones principales de los paquetes.
Para utilizar la instrumentación personalizada en su aplicación .NET:
- Instrumente su aplicación utilizando la instrumentación automática.
- Agregue el
Datadog.Trace paquete de NuGet a su aplicación. - En el código de su aplicación, acceda al rastreador global a través de la propiedad
Datadog.Trace.Tracer.Instance para crear nuevos tramos.
Para utilizar la instrumentación personalizada en su aplicación .NET:
- En el código de su aplicación, acceda al rastreador global a través de la propiedad
Datadog.Trace.Tracer.Instance para crear nuevos tramos.
Para obtener más información sobre cómo agregar tramos y etiquetas para la instrumentación personalizada, consulte la .NET Documentación de Instrumentación Personalizada.
Configurando variables de entorno del proceso
Para adjuntar la instrumentación automática a su servicio, establezca las variables de entorno requeridas antes de iniciar la aplicación. Consulte la sección Habilitar el SDK para su servicio para identificar qué variables de entorno establecer según su método de instalación del Tracer .NET y siga los ejemplos a continuación para configurar correctamente las variables de entorno según el entorno de su servicio instrumentado.
Nota: El runtime de .NET intenta cargar la biblioteca de .NET en cualquier proceso de .NET que se inicie con estas variables de entorno configuradas. Deberías limitar la instrumentación solo a las aplicaciones que necesitan ser instrumentadas. No configures estas variables de entorno globalmente, ya que esto causa que todos los procesos de .NET en el host sean instrumentados.
Servicios de Windows
En el Editor del Registro, cree un valor de cadena múltiple llamado Environment en la clave HKLM\System\CurrentControlSet\Services\<SERVICE NAME> y establezca los datos del valor en:
Set-ItemProperty HKLM:SYSTEM\CurrentControlSet\Services\<SERVICE NAME> -Name Environment -Value 'COR_ENABLE_PROFILING=1'
IIS
Después de instalar el MSI, no se necesita configuración adicional para instrumentar automáticamente sus sitios de IIS. Para establecer variables de entorno adicionales que son heredadas por todos los sitios de IIS, realice los siguientes pasos:
- Abra el Editor del Registro, busque el valor de cadena múltiple llamado
Environment en la clave HKLM\System\CurrentControlSet\Services\WAS, y agregue las variables de entorno, una por línea. Por ejemplo, para agregar inyección de registros y métricas de tiempo de ejecución, agregue las siguientes líneas a los datos del valor:DD_LOGS_INJECTION=true
DD_RUNTIME_METRICS_ENABLED=true
- Ejecute los siguientes comandos para reiniciar IIS:
net stop /y was
net start w3svc
# Also, start any other services that were stopped when WAS was shut down.
Aplicaciones de consola
Para instrumentar automáticamente una aplicación de consola, establezca las variables de entorno desde un archivo por lotes antes de iniciar su aplicación:
rem Set required environment variables
SET COR_ENABLE_PROFILING=1
rem (Optionally) Set additional Datadog environment variables, for example:
SET DD_LOGS_INJECTION=true
SET DD_RUNTIME_METRICS_ENABLED=true
rem Start application
dotnet.exe example.dll
Lectura adicional
Más enlaces, artículos y documentación útiles: