Le profileur est fourni dans les bibliothèques de tracing Datadog. Si vous utilisez déjà l’APM pour recueillir des traces pour votre application, vous pouvez ignorer l’installation de la bibliothèque et passer directement à l’activation du profileur.

Prérequis

Le profileur Datadog nécessite Ruby 2.3+ (JRuby et TruffleRuby ne sont pas pris en charge).

Les systèmes d’exploitation et architectures suivants sont pris en charge :

  • Linux (GNU libc) x86-64, aarch64
  • Alpine Linux (musl libc) x86-64, aarch64

Vous devez également avoir installé l’utilitaire système Linux pkg-config ou pkgconf. Cet utilitaire est disponible sur les référentiels de logiciels de la plupart des distributions Linux. Par exemple :

  • Le package pkg-config est disponible pour Homebrew ainsi que les distributions Linux basées sur Debian et Ubuntu.
  • Le package pkgconf est disponible pour les distributions Linux basées sur Arch et Alpine.
  • Le package pkgconf-pkg-config est disponible pour les distributions Linux basées sur Fedora et Red-Hat.

Le profileur en continu n’est pas pris en charge sur les plateformes sans serveur, comme AWS Lambda.

Installation

Pour commencer le profiling d’applications, procédez comme suit :

  1. Si vous utilisez déjà Datadog, installez la version 7.20.2+ ou 6.20.2+ de l’Agent.

  2. Ajoutez les gems ddtrace et google-protobuf à votre fichier Gemfile ou gems.rb :

    gem 'ddtrace', '~> 1.0'
    gem 'google-protobuf', '~> 3.0'
    
  3. Installez les gems à l’aide de la commande bundle install.

  4. Activez le profileur :

    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
    

    Remarque : pour les applications Rails, créez un fichier config/initializers/datadog.rb comprenant le code de la configuration ci-dessus.

  5. Ajoutez ddtracerb exec à la commande de lancement de votre application Ruby :

    bundle exec ddtracerb exec ruby myapp.rb
    

    Exemples pour Rails :

    bundle exec ddtracerb exec bin/rails s
    

    Remarque

    Si vous n’avez pas la possibilité de lancer l’application avec ddtracerb exec (par exemple, si vous utilisez le serveur Web Phusion Passenger), vous pouvez lancer le profileur en ajoutant ce qui suit au point d’entrée de votre application (par exemple, config.ru pour une application Web) :

    require 'datadog/profiling/preload'
    
  6. Une ou deux minutes après le lancement de votre application Ruby, vous pouvez visualiser vos profils en accédant à l’APM Datadog puis à la page Profiler.

Vous avez des doutes sur les prochaines étapes à suivre ?

Le guide Premier pas avec le profileur en continu présente un exemple de service problématique et vous explique comment utiliser le profileur en continu pour mieux comprendre le problème et le corriger.

Pour aller plus loin