Observability

Golangのzero-code auto instrumentation 2種食べ比べ

Posted 16. December 2024

Observability #Go #OpenTelemetry

これは、OpenTelemetry Advent Calendar 2024 16日目の記事です。

Table of Contents

はじめに

これまでGoで書かれたアプリケーションをOpenTelemetryで計装するには、net/httpredigodatabase/sqlなど各ライブラリ毎に対応する計装ライブラリを導入し差し替える必要がありました。これは、JavaやNodeJS、PHPといったzero-code計装が可能な言語に比べると導入ハードルが高くなる要因になり得ます。 ...


READ MORE

Time to read 8 min

NginxでOpenTelemetry(旧バージョンを含む)

Posted 26. March 2023

Observability #OpenTelemetry #Go #nginx

NginxでOpenTelemetryを使ってみたかったので色々調べてみました(仕事でも一部Nginxを置いているサーバーがあるというのもあり)。

instrumentationできることはもちろんですが、アクセスログの末尾にtrace idやspan idを渡せれば既存のアクセスログの出力方法はそのままで、DatadogのようなSaaS側でログとトレーシングを紐付けることが可能になるのでよりシームレスに移行することが可能になるかと思います。 ...


READ MORE

Time to read 6 min

OpenTelemetryとOpencensusを共存させる

Posted 12. February 2023

Observability #OpenTelemetry #OpenCensus #Tracing #APM #Go

最近Spanner周りのレイテンシーが気にあることがあり、とりあえずgRPCのTracerを入れてみたはいいものの、イマイチしっくり来る情報が取れませんでした。

もともとSpanner clientにはOpenCensusによるトレーシングがすでに実装されていますが、アプリのトレーシングで使用しているFWがOpenTelemetryだったので仕方なくotelgrpcを使用してお茶を濁していたのですが、特にSpanner固有のイベント(トランザクションのリトライとか)を確認できればもう少し深い洞察ができそうだなと思い、共存する方法を調査しました。 ...


READ MORE

Time to read 2 min