Rastreo de aplicaciones .NET Framework
Requisitos de compatibilidad
Tiempos de ejecución de .NET Framework compatibles
El rastreador de .NET es compatible con la instrumentación en .NET Framework 4.6.1 o anteriores.
Para ver una lista completa de las compatibilidades de la arquitectura de la biblioteca y del procesador de Datadog .NET Framework (incluyendo las versiones heredadas y de mantenimiento), consulta los requisitos de compatibilidad.
Para instalar y empezar a utilizar
Nota: La instrumentación automática de Datadog se basa en la API de generación de perfiles CLR de .NET. Esta API sólo permite un suscriptor (por ejemplo, Datadog APM). Para garantizar la máxima visibilidad, ejecuta sólo una solución APM en tu entorno de aplicación.
Instalación
Antes de empezar, asegúrate de haber instalado y configurado el Agent.
- Instala el rastreador.
- Activa el rastreador para tu servicio.
- Visualiza tus datos en directo.
Instalación del rastreador
Después de instalar y configurar tu Datadog Agent, el siguiente paso es añadir la biblioteca de rastreo directamente en la aplicación para instrumentarla. Consulta más bibliografía con información sobre la compatibilidad.
Instala el rastreador de .NET de Datadog en toda la máquina para que se instrumenten todos los servicios de la máquina, o puedes instalarlo aplicación por aplicación para que los desarrolladores gestionen la instrumentación a través de las dependencias de la aplicación. Para ver más instrucciones sobre la instalación en toda la máquina, haz clic en la pestaña de Windows. Para ver más instrucciones sobre la instalación aplicación por aplicación, haz clic en la pestaña de NuGet.
Para instalar el rastreador de .NET en toda la máquina:
Descarga el instalador MSI del rastreador de .NET. Selecciona el instalador MSI que corresponda a la arquitectura del sistema operativo (x64 ó x86).
Ejecuta el instalador MSI del rastreador de .NET con privilegios administrativos.
También puedes aplicar un script para la configuración del 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. En el caso de aplicaciones que se ejecutan en IIS, sigue el proceso de Windows para la instalación en toda la máquina.
Para instalar el rastreador de .NET aplicación por aplicación:
- Añade el paquete NuGet
Datadog.Trace.Bundle
a tu aplicación.
Activación del rastreador para tu servicio
Para activar el rastreador de .NET para tu servicio, configura las variables de entorno necesarias y reinicia la aplicación.
Para obtener más información sobre los diferentes métodos de configurar variables de entorno, consulta Proceso de configuración de variables de entorno.
El instalador MSI del rastreador de .NET añade todas las variables de entorno necesarias. No necesitas configurar ninguna variable de entorno.
Para instrumentar aplicaciones alojadas en IIS automáticamente, ejecuta los siguientes comandos como administrador para detener e reiniciar IIS completamente:
net stop /y was
net start w3svc
# Also, start any other services that were stopped when WAS was shut down.
Note: Always use the commands above to completely stop and restart IIS to enable the tracer. Avoid using the IIS Manager GUI application or iisreset.exe
.
Servicios que no se encuentran en IIS
Cuando inicias v2.14.0, no necesitas configurar COR_PROFILER
, si ya has instalado el rastreador utilizando el MSI.
Configura las siguientes variables de entorno, obligatorias para la instrumentación automática, a fin de adjuntarlas a tu aplicación:
COR_ENABLE_PROFILING=1
COR_PROFILER={846F5F1C-F9AE-4B07-969E-05C26BC060D8}
En el caso de aplicaciones y servicios de Windows independientes, debes reiniciar la aplicación manualmente.
Sigue las instrucciones Readme (Léeme) del paquete, también disponibles en el repositorio dd-trace-dotnet
.
En el repositorio, también hay ejemplos de Docker disponibles.
Visualización en directo de tus datos
Después de activar el rastreador de .NET para tu servicio:
Reinicia tu servicio.
Crea la carga de la aplicación.
En Datadog, ve a APM > APM Traces (APM* > **Trazas APM).
Configuración
Si es necesario, configura la biblioteca de rastreo para que envíe datos de telemetría sobre el rendimiento de la aplicación, incluida la configuración del etiquetado unificado de servicios. Para ver más detalles, consulta la configuración de bibliotecas.
Instrumentación personalizada
Tu configuración de la instrumentación personalizada depende de tu instrumentación automática e incluye pasos adicionales que dependen del método:
Nota: Si estás utilizando la instrumentación automática y la personalizada, debes mantener sincronizadas las versiones del paquete (por ejemplo: MSI y NuGet).
Para utilizar la instrumentación personalizada en tu aplicación .NET:
- Añade el paquete NuGet
Datadog.Trace
a tu aplicación. - En tu código de aplicación, accede al rastreador global a través de la propiedad de
Datadog.Trace.Tracer.Instance
para crear nuevos tramos (spans).
Para utilizar la instrumentación personalizada en tu aplicación .NET:
- En tu código de aplicación, accede al rastreador global a través de la propiedad de
Datadog.Trace.Tracer.Instance
para crear nuevos tramos.
Para obtener más información sobre cómo añadir tramos y etiquetas (tags) para la instrumentación personalizada, consulta la documentación para la instrumentación personalizada de .NET.
Configuración de variables de entorno para procesos
Para adjuntar la instrumentación automática a tu servicio, debes configurar las variables de entorno obligatorias antes de iniciar la aplicación. Consulta la sección Activar el rastreador para tu servicio para identificar las variables de entorno que debes configurar, dependiendo del método que has utilizado para instalar el rastreador de .NET y sigue los siguientes ejemplos para configurar las variables de entorno correctamente, según el entorno de tu servicio instrumentado.
Windows
Cuando inicias v2.14.0, no necesitas configurar COR_PROFILER
, si ya has instalado el rastreador utilizando el MSI.
Servicios de Windows
En el Editor de registro, crea un valor de cadena múltiple llamado Environment
en la clave HKLM\System\CurrentControlSet\Services\<SERVICE NAME>
y configura los datos de valor como:
COR_ENABLE_PROFILING=1
COR_PROFILER={846F5F1C-F9AE-4B07-969E-05C26BC060D8}
[string[]] $v = @("COR_ENABLE_PROFILING=1", "COR_PROFILER={846F5F1C-F9AE-4B07-969E-05C26BC060D8}")
Set-ItemProperty HKLM:SYSTEM\CurrentControlSet\Services\<SERVICE NAME> -Name Environment -Value $v
IIS
Una vez instalado el MSI, no es necesaria ninguna configuración adicional para instrumentar tus sitios de IIS automáticamente. Sigue los siguientes pasos para configurar variables de entorno adicionales, heredadas por todos los sitios de IIS:
- Abre el Editor de registro, busca el valor de cadena múltiple llamado
Environment
en la clave HKLM\System\CurrentControlSet\Services\WAS
y añade las variables de entorno, una por cada línea. Por ejemplo, para añadir la inyección de logs y métricas de tiempos de ejecución, añade las siguientes líneas a los datos de valor:DD_LOGS_INJECTION=true
DD_RUNTIME_METRICS_ENABLED=true
- Ejecuta los siguientes comandos para reiniciar los 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 una aplicación de consola automáticamente, antes de iniciar tu aplicación configura las variables de entorno desde un archivo de lote:
rem Configura variables de entorno
SET COR_ENABLE_PROFILING=1
rem Excepto v2.14.0 o superior y que se haya instalado el rastreador con el MSI
SET COR_PROFILER={846F5F1C-F9AE-4B07-969E-05C26BC060D8}
rem Configura variables de entorno de Datadog adicionales
SET DD_LOGS_INJECTION=true
SET DD_RUNTIME_METRICS_ENABLED=true
rem Start application
dotnet.exe example.dll
Leer más
Más enlaces, artículos y documentación útiles: