分散トレーシング、今は共通規格として OpenTelemetry というのがあるやつです。
まじめに導入すると結構大変なんですよね。という話。
共通で使うための各種実装が用意されているんですが、一般的な用途のためのものなので、カスタマイズしていこうとするとなんだかんだ苦労します。
- health check は 分散トレーシング取得の対象外にしたい。
- 時間あたりX個までは確定で取得するけど、それを超えたら任意のレートで取得するか取得しないか選択したい。
- アトリビュートをどんどん追加していきたい。
みたいなことになると、使うだけじゃなくて実装していく必要があります。
OpenTelemetry ライブラリ直接利用していこうとすると、そもそもこの規格、いつまで持つんだろう? 抽象化して、分散トレーシングライブラリ変更したくなったら変更できるようにしたい。
とか、どっと考えることが増えていきます。
とても大変です。
なんだか楽する方法はないものでしょうか。