はじめに こんにちは!Google CloudでオブザーバビリティやSRE関連の担当をしているエンジニアです。この記事はGoアドベントカレンダーの22日目の記事です。 Goとオブザーバビリティ 私は業務でオブザーバビリティを中心として啓蒙活動や開発を行っているわけですが、その中で常に「改善にはまず計測が必要です」というメッセージをさまざまな方々にお伝えしています。 Goでは計測のための仕組みとして( testing.B あるいは go test -bench として知られる)ベンチマーク[1]や pprof が最初期から[2]用意されていて、パフォーマンス計測はかなり標準が充実した言語になっています。 そして近年もそれに満足せず、Goを改善するための計測の仕組みがいくつも提案されています。 たとえばruntime/metricsはdesign #37112で提案されてGo 1.16から導入