Rubyエージェントは、 Rack ミドルウェアを自動的に計測します。Rackミドルウェアの基本に慣れていない場合は、Rails on Rackガイド からリンクされている のリソースを参照してください。また、RubyエージェントはRackミドルウェアを介していくつかの機能を提供します。
の自動インストゥルメンテーション
New Relic は、Rails と Sinatra 用のこれらのミドルウェアを自動的にインストールします。
ラックの計測器
Rack ミドルウェアを設定する最も一般的な 2 つの方法は、Rack::Builder
API (ほとんどの場合、config.ru から) と Rails のミドルウェア スタック設定です。
ミドルウェアデータの閲覧
ミドルウェアのデータをAPMで見ることができます。
ラックインストルメントの無効化
Rack ミドルウェアを計測したくない場合は、 disable_middleware_instrumentation
設定で Rack ミドルウェアの計測を無効にすることができます。特定のトランザクションを無視することもできます。
Rubyエージェント・ミドルウェアの手動インストール
New Relic のクロス アプリケーション トレース機能の Ruby エージェントの実装では、Rack ミドルウェア インストルメンテーションを使用して、監視対象のアプリケーション間で情報を渡すために必要な HTTP ヘッダーを読み書きします。Sinatra を使用していて、上記のようにミドルウェア インストルメンテーションを無効にしており、クロス アプリケーション トレースを使用したい場合は、ミドルウェア スタックにNewRelic::Rack::AgentHooks
ミドルウェアを手動で追加する必要があります。
重要
バージョン8.0.0では、クロスアプリケーショントレースは廃止され、 分散型トレース が採用されています。この機能を有効にすると、ミドルウェアを追加することなく、すべてのラックベースのアプリに対して分散型トレーシングが自動的に設定されます。
クロスアプリケーショントレースを継続して使用したい場合は、 設定を更新する必要があります 。
ラックの手動計測器
Ruby エージェントの以前のバージョンでは、 NewRelic::Agent::Instrumentation::Rack
モジュールを介した Rack ミドルウェアの手動インストルメントがサポートされていました。このインストルメンテーションは削除されており、Ruby エージェント バージョン 4.0.0 以降での動作は保証されていません。この形式の手動インストルメンテーションは、自動ミドルウェア インストルメンテーションでは不要です。3.9.0 以降にアップグレードした後は、コードからこのモジュールへの参照を削除することをお勧めします。