OpenTelemetryではeBPFという技術を用いることで、Go言語でできたアプリケーションのコードを変更せずに観測可能にすることができます。本記事では、その手法と仕組みについて実際にコードを書きながら解説します。 こんにちは。Mackerelチームでアルバイトをしているエンジニアの id:appare45 です。本記事ではOpenTelemetryのゼロコード計装を、Go言語でできたアプリケーションに対してeBPFを用いて実現する方法について、実際に実装しながら解説していきます。 ゼロコード計装とは eBPFとは Go言語でeBPFプログラムを書く 関数の実行開始と終了を記録する uretprobeを使わずに関数の終了を知る Goroutineを追う Mackerelへトレースを投稿する 引数の値を取得する eBPFを用いたGo言語のゼロコード計装のまとめ Appendix: 環境構

