• ログイン無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

Rubyでのクロスアプリケーショントレース

重要

Rubyエージェントのバージョン8.0.0以降、分散トレースはデフォルトでオンになっています。分散トレースは、アプリケーション間のトレースを改善し、大規模な分散システムに推奨されます。

クロスアプリケーショントレースは非推奨になり、分散トレースが優先されます。非標準のミドルウェアフレームワークなど、アプリケーション間のトレースを引き続き使用する必要がある場合は、このドキュメントの構成情報を参照してください。

要件

次の要件に従って、Rubyエージェントでクロスアプリケーショントレースを使用します。

  1. インストルメントされるリクエストが、サポートされているHTTPクライアントライブラリを使用していることを確認してください。
  2. 最新のRubyエージェント(バージョン3.5.5.38以降)をインストールまたは更新します。
  3. ミドルウェアのインストールの要件に従います。

ミドルウェアのインストール

クロスアプリケーショントレースはRackで機能するため、Rails2.3以降または別の互換性のあるフレームワークが必要です。

  • Railsを使用する場合、Rubyエージェントはミドルウェアを自動的にインストールします。
  • 別のラックベースのフレームワークを使用している場合は、手動でNewRelic::Rack::AgentHooksミドルウェアをスタックに追加してください。

構成

クロスアプリケーショントレースは、構成フラグによって制御できます。 Rubyエージェントのバージョン8.0.0以降、指定されていない場合でも、 cross_application_tracer.enabledのデフォルトはfalseです。クロスアプリケーショントレースを有効にするには、このフラグをtrueに設定し、 distributed_tracing.enabledfalseに設定する必要があります。

cross_application_tracer:
enabled: true
distributed_tracing:
enabled: false

8.0.0未満のバージョンの場合、クロスアプリケーションは次の設定を使用して構成できます。

cross_application_tracer:
enabled: true

クロスアプリケーショントレース測定

(呼び出し元のアプリケーションからの)外部測定値は、(呼び出されたアプリケーションからの)内部測定値よりも常に大きくなります。外部測定値は、New RelicのHTTPクライアントライブラリ(Net :: HTTPなど)のインストルメンテーションによって収集されます。内部測定は、呼び出されたアプリケーションのWebフレームワーク(Railsなど)のNewRelicのインストルメンテーションによって行われます。

内部測定に含まれていない、外部測定に含まれている主要なコンポーネントのいくつかを次に示します。

これらのコンポーネントの中には、他のコンポーネントよりも制御が簡単なものがあります。たとえば、上記の受信ホストアイテムのタイミングをキャプチャするには、受信アプリケーションでリクエストキューの監視が設定されていることを確認してください。

分散トレースを取得する

Rubyエージェントのバージョン8.0.0以降、分散トレースはデフォルトでオンになっています。分散トレースは、アプリケーション間のトレースを改善したものであり、大規模な分散システムに推奨されます。

Copyright © 2022 New Relic株式会社。