Grafana Labsのデベロッパーアドボケイト山口能迪氏が、Go Conference 2026での登壇内容を基にまとめたZenn本です。eBPF(カーネル内で安全にプログラムを実行できる技術)を使ってGoバイナリを「ゼロコード計装」(コード変更なしでのオブザーバビリティ計装)する際の技術的難所を、CPU・メモリの基礎から段階的に解説しています。
関数レベル計装には4つの難所があると指摘されています。関数終了時に実行されるuretprobeが使えないこと、レジスタベースの呼び出し規約、バージョン依存のフィールドオフセット、プロセス間のコンテキスト伝搬です。全16章・約12万字が無料で公開されています。
出典が伝えている要点
- 著者は山口能迪(Yoshi Yamaguchi)氏で、Grafana Labsのデベロッパーアドボケイトである。
- 本書はGo Conference 2026での登壇内容を元にしている。
- 本書のテーマはeBPFとOpenTelemetryを用いたGoバイナリの計装(instrumentation)である。
- 本書はeBPFによる「ゼロコード計装」がGoバイナリに対して直面する課題を扱っている。
- 本書はCPUとメモリの基礎、コンピュータの動作原理、バイナリ生成、Goランタイムの特性を段階的に解説する構成になっている。
- 本書は、Goへの関数レベル計装には4つの技術的難所があると主張している。
- 難所の1つ目は、uretprobe(関数終了時のプローブ)が使えないことである。
- 難所の2つ目は、レジスタベースの呼び出し規約である。
- 難所の3つ目は、バージョン依存のフィールドオフセットである。
- 難所の4つ目は、プロセス間のコンテキスト伝搬である。
- 本書は全16章構成で、約121,643字である。
- 本書は無料で公開されている。