プロファイラーは、Datadog トレースライブラリ内で送信されます。アプリケーションですでに APM を使用してトレースを収集している場合は、ライブラリのインストールをスキップして、プロファイラーの有効化に直接進むことができます。
要件
Datadog プロファイラーには Ruby 2.3+ が必要です (JRuby と TruffleRuby はサポートされていません)。
以下の OS、アーキテクチャに対応しています。
- Linux (GNU libc) x86-64、aarch64
- Alpine Linux (musl libc) x86-64、aarch64
また、pkg-config
または pkgconf
Linux システムユーティリティのいずれかがインストールされている必要があります。
このユーティリティは、ほとんどの Linux ディストリビューションのソフトウェアリポジトリで入手できます。例:
Continuous Profiler は、AWS Lambda などのサーバーレスプラットフォームには対応していません。
インストール
アプリケーションのプロファイリングを開始するには
すでに Datadog を使用している場合は、Agent をバージョン 7.20.2 以降または 6.20.2 以降にアップグレードしてください。
ddtrace
および google-protobuf
gem を Gemfile
または gems.rb
ファイルに追加します。
gem 'ddtrace', '~> 1.0'
gem 'google-protobuf', '~> 3.0'
bundle install
で gem をインストールします。
プロファイラーを有効にします。
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
ファイルを作成します。
Ruby アプリケーションの起動コマンドに ddtracerb exec
コマンドを追加します。
bundle exec ddtracerb exec ruby myapp.rb
Rails の例:
bundle exec ddtracerb exec bin/rails s
注
アプリケーションを ddtracerb exec
で起動する選択肢がない (Phusion Passenger ウェブサーバーを使用している) 場合、Web アプリケーションの config.ru
などのアプリケーションエントリポイントに以下を追加してプロファイラーを起動することも可能です。
require 'datadog/profiling/preload'
Ruby アプリケーションの起動 1〜2 分後、Datadog APM > Profiler ページにプロファイルが表示されます。
次のステップ
プロファイラーの概要ガイドでは、パフォーマンスの問題があるサンプルサービスを例に、Continuous Profiler を使用して問題を理解し修正する方法を確認します。
その他の参考資料