Rake 計測

New Relic の Ruby エージェントは、Rake タスクの計測をサポートしています。 (Rake バージョン 10.0.0 以上) Rake タスクを計測するには、newrelic.ymlタスク名を指定します。

Rake 計測を行うには、Ruby エージェントのバージョン 3.13.0 以上が必須となります。

Rake サポートの有効化

アプリの Rake タスクを計測するには、newrelic.ymlrake.tasks 要素にターゲットのタスク名を追加します。Ruby エージェントは、アクティブなタスクに対して、文字列の正規表現を使って該当タスクを探します。

例: 2つの Rake タスクの計測

例えば、deploydeploy:all の Rake タスクを計測するには、newrelic.yml ファイルに以下のように追加します。

rake:
  tasks: ["deploy", "deploy:all"]

Rails を使っているが、Rails environment を Rake タスクが require していない場合は、タスクの実行前に、タスクが確実に計測される状態にするため、Rake タスクの先頭に、require 'tasks/newrelic' と追加してください。

newrelic-rake とのインタラクション

newrelic-rake はサードパーティの gem です。この gem は、Ruby エージェントのアドオンとして、Rake の計測をサポートします。エージェントが newrelic-rake を確認すると、組み込みの Rake 計測をインストールせずに、起動時に以下のようなメッセージをログに出力します。

INFO : Not installing New Relic supported Rake instrumentation because the third party newrelic-rake gem is present 

New Relic の組み込みの Rake 計測にスイッチするには、newrelic-rake gem を削除し、設定ファイルないで、計測したいタスクを指定します

上記のメッセージを見て、組み込みの計測を利用しようとして、newrelic-rake gem を削除すると、トランザクション名が変わるという副作用があります。既存のトランザクション名が保持したい場合は、ログメッセージを無視して、gem をアンインストールしないでください。

Rake ジョブの引数の記録

デフォルトで、Rake ジョブの引数は記録されません。引数を記録するには、以下のように設定を行います。

attributes.include: job.rake.*

関連情報

関連する情報は以下のとおりです。