# 計装スコープ

LLMS index: [llms.txt](/llms.txt)

---

[計装スコープ](/docs/specs/otel/common/instrumentation-scope/)は、送出されたテレメトリーを関連付けられるアプリケーションコード内の論理ユニットを表します。

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

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

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

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

- 一番上の `/api/placeOrder` スパンは、使用するHTTPフレームワークによって生成されます。
- 緑色のスパン（`CheckoutService::placeOrder`、`prepareOrderItems`、`checkout`）はアプリケーションコードで、`CheckoutService`クラスでグループ化されています。
- `CartService::getCart` と `ProductService::getProduct` のスパンもアプリケーションコードで、`CartService`と`ProductService`クラスでグループ化されています。
- オレンジ色（`Cache::find`）と水色（`DB::query`）のスパンはライブラリコードで、ライブラリ名とバージョンでグループ化されています。

![この画像は、複数の計装スコープによるトレースを示しています。](spans-with-instrumentation-scope.svg)
