分散トレーシングの導入はそこそこ大変

分散トレーシング、今は共通規格として OpenTelemetry というのがあるやつです。

まじめに導入すると結構大変なんですよね。という話。

共通で使うための各種実装が用意されているんですが、一般的な用途のためのものなので、カスタマイズしていこうとするとなんだかんだ苦労します。

  • health check は 分散トレーシング取得の対象外にしたい。
  • 時間あたりX個までは確定で取得するけど、それを超えたら任意のレートで取得するか取得しないか選択したい。
  • アトリビュートをどんどん追加していきたい。

みたいなことになると、使うだけじゃなくて実装していく必要があります。

OpenTelemetry ライブラリ直接利用していこうとすると、そもそもこの規格、いつまで持つんだろう? 抽象化して、分散トレーシングライブラリ変更したくなったら変更できるようにしたい。

とか、どっと考えることが増えていきます。

とても大変です。

なんだか楽する方法はないものでしょうか。