Ruby エージェントは、アプリケーションまたはスクリプトによって行われた送信 HTTP リクエストを追跡して、次のことを行うことができます。
- HTTPリクエストの所要時間や、どのホストにヒットしているかなどのメトリクスを記録します。
- トランザクションのトレースに、各HTTPリクエストのノードをアノテートします。
- New Relic で計測されたアプリケーション間のリクエストの分散トレースを提供します。
対応するHTTPクライアントライブラリ
現在、RubyエージェントがサポートしているHTTPクライアントライブラリは以下の通りです。
名前 | 最小限の対応バージョン | メモ |
---|---|---|
0.59.0 | ||
0.9.3 | Curl::Multi のリクエストは部分的に計測されます。 Curb notes を参照してください。 | |
0.12.0 | Ethon のノートを参照してください。 | |
0.56.0 | エキソンノート を参照してください。 | |
2.8.3 | 非同期のリクエストのインストゥルメンテーションはサポートされていません。 | |
2.2.2 | ||
1.0.0 | ||
Net::HTTP | 該当なし(Ruby標準ライブラリの一部) | また、 httparty など、Net::HTTP をベースにしたライブラリも含まれています。 |
1.3.0 |
イーソンノート
Ethon を保守し、その機能を Ethon に依存している同じチームが Typhoeus も保守しています。各 HTTP リクエストの重複レポートを防ぐため、エージェントは Typhoeus を検出すると Ethon インストルメンテーションを無効にします。
エキソンノート
Rubyエージェントは、Excon バージョン 0.56.0 or higher. をサポートしています。Excon インストゥルメンテーションは、Excon ミドルウェアを Excon.defaults
の :middlewares
キーに追加する機能に依存しているため、アプリケーションが Excon.defaults
を変更する場合は、:middlewares
キーの値を保持するようにする必要があります。
カーブノート
RubyエージェントはCurbバージョン0.9.3 or higher.をサポートしていますが、JRubyでのCurbインストゥルメンテーションはサポートされていません。
Curl::Multi
API 経由で行われたリクエストは現在、部分的な分散トレースのみをサポートしています。Ruby エージェントはバッチ全体を表す単一のトランザクション トレース ノードを記録しますが、バッチ内の個々のリクエストの詳細を確認することはできません。