OpenTelemetryではじめるテレメトリーサンプリング

サポートページ

補足情報

本書に掲載したOpenTelemetry Collectorの設定例やコマンドのうち、記載のままでは意図どおりに動作しないものがあります。修正済みのファイルを次のリポジトリで公開しています。

(2026年8月31日更新)

外部サイト
https://github.com/gihyo-book/otel-sampling

お詫びと訂正(正誤表)

本書の以下の部分に誤りがありました。ここに訂正するとともに、ご迷惑をおかけしたことを深くお詫び申し上げます。

(2026年8月31日最終更新)

P.viii 表0.1直下

OpenTelemetryの各SDKおよびCollectorはセマンティックバージョニングに従っており、同一メジャーバージョン内では後方互換性が維持されます。そのため、上記より新しいバージョンでも同様に動作します。
OpenTelemetryの各SDKは1.x系であり、セマンティックバージョニングに従って同一メジャーバージョン内の後方互換性が維持されます。一方、Collectorは0.x系であり、セマンティックバージョニングは0.x系に互換性を保証していません。実際にコンポーネント名や設定項目の変更が繰り返されているため、本書と同じバージョンを使うか、更新時にリリースノートを確認してください。

P.52 表3.1直下

OpenTelemetryの各SDKおよびCollectorはセマンティックバージョニングに従っており、同一メジャーバージョン内では後方互換性が維持されます。そのため、上記より新しいバージョンでも同様に動作します。
OpenTelemetryの各SDKは1.x系であり、セマンティックバージョニングに従って同一メジャーバージョン内の後方互換性が維持されます。一方、Collectorは0.x系であり、セマンティックバージョニングは0.x系に互換性を保証していません。実際にコンポーネント名や設定項目の変更が繰り返されているため、本書と同じバージョンを使うか、更新時にリリースノートを確認してください。

P.93 下から3行目

この値を超えると、古いトレースから強制的に判定が行われます。
この値を超えると、デフォルトでは最も古いトレースがサンプリング判定を受けないまま破棄されます。破棄された件数はotelcol_processor_tail_sampling_sampling_trace_dropped_too_earlyメトリクスで確認できます。

P.280 上から9行目

Grafana Tempoでは、TraceQLのメトリクスクエリ機能を使ってサンプリング済みデータから統計量を復元できます。
Grafana TempoのTraceQLメトリクスには、Tempo 2.9以降、保存済みデータの一部だけを読んで結果を外挿するクエリ時サンプリングの機能があります。これはクエリを高速化するための近似であり、インジェスト時のサンプリングで失われた分を復元するものではありません。復元するには、サンプリング率が既知であればクエリ結果を1/r倍する補正を行うか、span_metricsなどメトリクス側で補償します。

P.395 B.10見出し

問題10:SDKのサンプリング設定が環境変数で上書きされる
問題10:ゼロコード計装で環境変数のサンプリング設定が使われる

P.395 下から4行目

・環境変数OTEL_TRACES_SAMPLERやOTEL_TRACES_SAMPLER_ARGがコード内の設定を上書きしている
ゼロコード計装(Javaエージェントやopentelemetry-instrumentなど)を使っており、環境変数OTEL_TRACES_SAMPLERやOTEL_TRACES_SAMPLER_ARG`の値でSDKが構成されている

P.396 上から2行目

2. コード内の設定と環境変数の優先順位を理解する(環境変数が優先される)
2. コード内の設定と環境変数の優先順位を理解する(コードでサンプラーを明示した場合はコードの設定が優先され、環境変数は参照されない