Ruby プロファイラーの有効化

プロファイラーは、Datadog トレースライブラリ内で送信されます。アプリケーションですでに APM を使用してトレースを収集している場合は、ライブラリのインストールをスキップして、プロファイラーの有効化に直接進むことができます。

要件

Datadog Profilerには MRI Ruby 2.1 以降が必要です。

以下の OS、アーキテクチャに対応しています。

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

Continuous Profiler は、AWS Lambda などのサーバーレスプラットフォームには対応していません。

インストール

アプリケーションのプロファイリングを開始するには

  1. すでに Datadog を使用している場合は、Agent をバージョン 7.20.2 以降または 6.20.2 以降にアップグレードしてください。

  2. ddtrace および google-protobuf gem を Gemfile または gems.rb ファイルに追加します。

    gem 'ddtrace', '~> 1.0'
    gem 'google-protobuf', '~> 3.0'
    
  3. bundle install で gem をインストールします。

  4. プロファイラーを有効にします。

    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
    

    : Rails アプリケーションの場合は、上記のコードコンフィギュレーションで config/initializers/datadog.rb ファイルを作成します。

  5. Ruby アプリケーションの起動コマンドに ddtracerb exec コマンドを追加します。

    bundle exec ddtracerb exec ruby myapp.rb
    

    Rails の例:

    bundle exec ddtracerb exec bin/rails s
    

    アプリケーションを ddtracerb exec で起動する選択肢がない(Phusion Passenger ウェブサーバーを使用している)場合、ウェブアプリケーションの config.ru などのアプリケーションエントリポイントに以下を追加してプロファイラを起動することも可能です。

    require 'datadog/profiling/preload'
    
  6. Ruby アプリケーションの起動 1〜2 分後、Datadog APM > Profiler ページにプロファイルが表示されます。

次のステップ

プロファイラーの概要ガイドでは、パフォーマンスの問題があるサンプルサービスを例に、Continuous Profiler を使用して問題を理解し修正する方法を確認します。

その他の参考資料