Activación de Ruby Profiler
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.
Requisitos
Para obtener un resumen de las versiones mínimas y recomendadas del tiempo de ejecución y del rastreador en todos los lenguajes, consulta Versiones de lenguaje y rastreadores compatibles.
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.
Instalación
Para empezar a crear perfiles de aplicaciones:
Asegúrate de que Datadog Agent v6+ está instalado y en funcionamiento. Datadog recomienda utilizar Datadog Agent v7+.
Añada el gem datadog
a tu archivo Gemfile
o gems.rb
:
Instala los gems con bundle install
.
Activa el generador de perfiles:
export DD_PROFILING_ENABLED=true
export DD_ENV=prod
export DD_SERVICE=my-web-app
export DD_VERSION=1.0.3
Datadog.configure do |c|
c.profiling.enabled = true
c.env = 'prod'
c.service = 'my-web-app'
c.version = '1.0.3'
end
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):
require 'datadog/profiling/preload'
Opcional: configura la integración de código fuente para conectar tus datos de perfiles con tus repositorios Git.
Uno o dos minutos después de iniciar tu aplicación de Ruby, tus perfiles aparecerán en la página Datadog APM > Generador de perfiles.
¿No sabes qué hacer a continuación?
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.
Referencias adicionales
Más enlaces, artículos y documentación útiles: