• /
  • EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

Delayed::Job Instrumentation

Ruby エージェントには、 Delayed::Jobライブラリ用のインストルメンテーションが組み込まれています。追加の機器は必要ありません。

バックグラウンドタスクの表示

Delayed::Jobワーカーが開始する前に New Relic Ruby エージェントの gem またはプラグインがロードされている限り、すべてのタスクはコントローラー アクションと同じ詳細レベルで監視されます。アクション自体を表示するには:

  1. one.newrelic.com > All capabilities > APM & services > (select an app) > Monitor > Transactions

    に移動します。

  2. APM

    Transactions

    ページから、

    Other transactions

    を選択します。

カスタム属性の追加

Delayed::Jobトランザクションにカスタム属性を追加する場合は、ライフサイクル フックを介してDelayed::Jobプラグインを作成し、実行されたジョブごとにそれらの属性をトランザクションに追加できます。

  1. 以下のような構造のプラグインを作成します。

    module NewRelicInstrumenter
    class DelayedJobPlugin < Delayed::Plugin
    callbacks do |lifecycle|
    lifecycle.around(:invoke_job) do |job, *args, &block|
    # Forward the call to the next callback in the callback chain
    ::NewRelic::Agent.add_custom_attributes(
    {
    # Any custom attributes go here -- from here you can access info
    # about the job like run_at, created_at, etc
    my_custom_attribute: "my_custom_attribute_value"
    }
    )
    block.call(job, *args)
    end
    end
    end
    end
  2. config/initializers/delayed_job.rbファイルの初期化子でDelayed::Jobにプラグインを追加します。

    require "new_relic_instrumenter"
    Delayed::Worker.plugins << NewRelicInstrumenter::DelayedJobPlugin

トラブルシューティング

Ruby エージェントは、インストルメンテーションを正しくセットアップするために、 Delayed::Jobで実行されていることを識別できることに依存しています。これを行うために、スクリプト名 (Ruby では$0変数) を調べて、それがdelayed_jobで終わっているかどうかを確認します。

delayed_jobワーカーの起動に使用するスクリプトの名前を別の名前に変更した場合、または別の名前のカスタム スクリプトがある場合は、 Delayed::Jobを使用していることをエージェントに明示的に伝える必要があります。 NEW_RELIC_DISPATCHER環境変数をDelayed::Jobワーカーの開始時にdelayed_jobに設定します。例えば:

bash
$
NEW_RELIC_DISPATCHER=delayed_job bundle exec ./script/my_custom_script

ジョブが監視されていないように見える場合は、ワーカーの起動時に生成されたnewrelic_agent.logファイルを確認してください。 エージェントがDelayedを検出し、サーバーと通信するかどうかを示す必要があります。 ログが見つからない場合、またはジョブが表示されない理由をまだ特定できない場合は、 support.newrelic.comでサポートを受けてください。

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.