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

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

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

問題を作成する

RubyでのHTTPクライアントのトレース

Rubyエージェントは、アプリケーションやスクリプトが発信したHTTPリクエストをトレースして、以下のことを実現します。

  • HTTPリクエストの所要時間や、どのホストにヒットしているかなどのメトリクスを記録します。
  • トランザクションのトレースに、各HTTPリクエストのノードをアノテートします。
  • New Relic で計測されたアプリケーション間のリクエストに対して、 分散型トレースを提供する。

対応するHTTPクライアントライブラリ

現在、RubyエージェントがサポートしているHTTPクライアントライブラリは以下の通りです。

名前

最小限の対応バージョン

メモ

Net::HTTP

該当なし(Ruby標準ライブラリの一部)

また、 httparty など、Net::HTTP をベースにしたライブラリも含まれています。

エキソン

0.10.1

エキソンノート を参照してください。

タイフーン

0.5.3

Hydraのリクエストは、部分的な計測を得て、1.8.7の安定性。 Typhoeus のノートを参照.

HTTPClient

2.2.0

非同期のリクエストのインストゥルメンテーションはサポートされていません。

縁石

0.8.1

Curl::Multi のリクエストは部分的に計測されます。 Curb notes を参照してください。

http.rb

0.9.9

エキソンノート

Ruby エージェントは、Excon のバージョン 0.19.0 以降をサポートしています。 Excon のインスツルメンテーションは、Excon ミドルウェアを :middlewares Excon.defaults のキーに追加する機能に依存しているため、アプリケーションが Excon.defaults を変更する場合は、 :middlewares のキーの値を確実に保持する必要があります。

Typhoeusのノート

Ruby エージェントは Typhoeus のバージョン 0.5.3 以上をサポートしています

Typhoeusの Hydra メカニズムを介して行われる並列リクエストは、部分的な分散トレースしかサポートしていません。このようなリクエストの場合、Rubyエージェントはバッチ全体を表す単一のトランザクショントレースノードを記録しますが、バッチ内の個々のリクエストに関する詳細を見ることはできません。クロスアプリケーショントレースは、 Hydra メカニズムを介して行われるリクエストをサポートしません。

テストの結果、MRI 1.8.7 で Typhoeus を実行した場合、セグメンテーションに重大な問題があることがわかりました。 推奨: これらの問題を回避するには、Ruby Enterprise Edition または MRI 1.9.3 以上を使用してください。

カーブノート

[Ruby エージェントは Curb のバージョン 0.8.1 以上をサポートしています。 JRuby での Curb instrumentation は ****サポートされていません。

Curl::Multi API を介して行われたリクエストは、現在のところ部分的な分散トレースしかサポートしていません (Typhoeus Hydra API を介して行われたリクエストで提供されているものと同等です)。このようなリクエストの場合、Rubyエージェントはバッチ全体を表す単一のトランザクション・トレース・ノードを記録しますが、バッチ内の個々のリクエストに関する詳細を見ることはできません。 Curl::Multi メカニズムを介して行われたリクエストには、クロスアプリケーショントレースのサポートはありません。

Copyright © 2022 New Relic株式会社。