計装スコープ

計装スコープは、送出されたテレメトリーを関連付けられるアプリケーションコード内の論理ユニットを表します。

開発者は、妥当な計装スコープを決定できます。 たとえば、モジュール、パッケージ、クラスを計装スコープとして選択できます。 ライブラリやフレームワークの場合、一般的なアプローチは、ライブラリやフレームワークの完全修飾名やバージョンなど、そのライブラリやフレームワークに固有の識別子をスコープとして使うことです。 ライブラリ自体にOpenTelemetryの計装が組み込まれておらず、かわりに計装ライブラリを使用する場合は、計装ライブラリの名前とバージョンを計装スコープとして使用します。

計装スコープは、トレーサー、メーター、またはロガーインスタンスがプロバイダーから取得されるとき、名前とバージョンのペアで定義されます。 インスタンスによって作成された各スパン、メトリック、またはログレコードは、提供された計装スコープに関連付けられます。

オブザーバビリティバックエンドでは、スコープによってテレメトリーデータを細かく分割できます。 たとえば、どのユーザーがどのバージョンのライブラリーを使用していて、そのライブラリのパフォーマンスはどうなのか、あるいは、アプリケーションの特定のモジュールに問題があるのかを特定するためです。

次の図は、複数の計装スコープを持つトレースを示しています。異なるスコープは異なる色で表されています。

  • 一番上の /api/placeOrder スパンは、使用するHTTPフレームワークによって生成されます。
  • 緑色のスパン(CheckoutService::placeOrderprepareOrderItemscheckout)はアプリケーションコードで、CheckoutServiceクラスでグループ化されています。
  • CartService::getCartProductService::getProduct のスパンもアプリケーションコードで、CartServiceProductServiceクラスでグループ化されています。
  • オレンジ色(Cache::find)と水色(DB::query)のスパンはライブラリコードで、ライブラリ名とバージョンでグループ化されています。
この画像は、複数の計装スコープによるトレースを示しています。