El generador de perfiles se incluye en las bibliotecas de rastreo de Datadog. Si ya estás utilizando APM para recopilar trazas (traces) para tu aplicación, puedes omitir la instalación de biblioteca e ir directamente a habilitar el generador de perfiles.
Datadog Profiler requiere Ruby 2.5+. JRuby y TruffleRuby no son compatibles.
Se admiten los siguientes sistemas operativos y arquitecturas:
Linux (GNU libc) x86-64, aarch64
Alpine Linux (musl libc) x86-64, aarch64
También necesitas tener instalada la utilidad de sistema pkg-config o pkgconf.
Esta utilidad está disponible en los repositorios de software de la mayoría de las distribuciones de Linux. Por ejemplo:
El paquete pkg-config está disponible para Homebrew, y Debian- y Linux basado en Ubuntu
El paquete pkgconf está disponible para Linux basado en Arch y Linux basado en Alpine.
El paquete pkgconf-pkg-config está disponible para Linux basados en Fedora- y Red-Hat-.
Continuous Profiler no es compatible con las plataformas serverless, como AWS Lambda.
La instrumentación de un solo paso no es compatible con hosts de Linux, máquinas virtuales, o Docker.
La instrumentación de un solo paso es compatible con Kubernetes (usando el Datadog Helm chart), pero necesitas configurar manualmente la variable de entorno DD_PROFILING_ENABLED=true para habilitar la generación de perfiles.
Nota: Para aplicaciones Rails, crea un archivo config/initializers/datadog.rb con la configuración de código anterior.
Añade el comando ddprofrb exec al comando de inicio de tu aplicación Ruby:
bundle exec ddprofrb exec ruby myapp.rb
Ejemplo de Rails:
bundle exec ddprofrb exec bin/rails s
Si utilizas una versión de ddtrace anterior a la 1.21.0, sustituye ddprofrb exec por ddtracerb exec.
Nota
Si iniciar la aplicación con ddprofrb exec no es una opción (por ejemplo, cuando se utiliza el servidor web Phusion Passenger), puedes iniciar alternativamente el generador de perfiles añadiendo lo siguiente al punto de entrada de tu aplicación (como config.ru, para una aplicación web):
La guía Empezando con el generador de perfiles toma un ejemplo de servicio con un problema de rendimiento y te muestra cómo utilizar Continuous Profiler para comprender y solucionar el problema.