リソース
はじめに
リソースは、リソース属性としてテレメトリーを生成するエンティティを表します。 たとえば、Kubernetes上のコンテナで実行されているテレメトリーを生成するプロセスは、プロセス名、ポッド名、ネームスペース、および場合によってはデプロイメント名を持ちます。 これらの4つの属性すべてをリソースに含まれることができます。
オブザーバビリティバックエンドでは、リソース情報を使用して興味深い動作をより詳細に調査できます。 たとえば、トレースまたはメトリクスデータがシステムのレイテンシーを示している場合、それを特定のコンテナ、ポッド、またはKubernetesデプロイメントに絞り込むことができます。
オブザーバビリティバックエンドにJaegerを使用している場合、リソース属性はProcessタブの下にグループ化されます。

リソースは TracerProvider
または MetricProvider
の初期化時に追加されます。
この関連付けは後で変更することはできません。
リソースが追加されると、そのプロバイダーに紐づいた Tracer
または Meter
から生成されるすべてのスパンとメトリクスに、そのリソースが関連付けられます。
SDKが提供するデフォルト値を持つセマンティック属性
OpenTelemetry SDK が提供する属性があります。
そのうちの1つが service.name
で、これはサービスの論理名を表します。
デフォルトでは、SDKはこの値に unknown_service
を代入するので、コードの中で明示的に設定するか、環境変数 OTEL_SERVICE_NAME
を設定することを推奨します。
さらに、SDKは自身を識別するために、telemetry.sdk.name
、telemetry.sdk.language
、telemetry.sdk.version
といったリソース属性も提供します。
リソース検出器
ほとんどの言語固有のSDKは、環境からリソース情報を自動的に検出できるリソース検出器のセットを提供しています。 一般的なリソース検出器には次のようなものがあります。
カスタムリソース
独自のリソース属性を指定することもできます。
リソース属性はコードで指定することも、環境変数 OTEL_RESOURCE_ATTRIBUTES
に設定することもできます。
該当する場合は、リソース属性のセマンティック規約 を使用してください。
たとえば、deployment.environment.name
を使用して、デプロイ環境 の名前を指定できます。
env OTEL_RESOURCE_ATTRIBUTES=deployment.environment.name=production yourApp
フィードバック
このページは役に立ちましたか?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!