コンテンツにスキップ

I built a lightweight OpenTelemetry viewer for local development

チェック

  • [ ] 本文を確認した
  • [ ] 概要を確認した
  • [ ] タグを確認した
  • [ ] inbox/ 直下へ移行した

概要

ローカル開発で OpenTelemetry の計装を確認するために、Jaeger やフル構成の Collector stack を立ち上げなくても使える軽量ビューア otel-front を作ったという記事。 取得できた本文は短く、ミラー元の概要中心だったため partial として保存する。 問題意識は、OTel の instrumentation をローカルで試すたびに docker-compose、collector、port、exporter 設定を用意するのが重いこと。

本文

OpenTelemetry の導入では、アプリケーションに SDK や instrumentation を入れ、trace、metric、log が出るかを確認する必要がある。 しかし、ローカル開発で確認するだけでも、Jaeger、OpenTelemetry Collector、Grafana、Tempo などを docker-compose で立ち上げることが多い。

これは本番に近い構成としてはよいが、日常の開発では重い。 OTLP endpoint の port を合わせ、exporter 設定を書き、collector config を置き、UI を開き、複数 container の状態を見る必要がある。 他のプロジェクトで同じ port を使っていると衝突することもある。

otel-front の狙い

記事で紹介されている otel-front は、OTLP データを受け取り、その場で Web UI に表示する軽量ツール。 単一 binary として動き、Docker、外部 DB、複雑な config file を要求しない方向のツールとして説明されている。

開発者は、アプリケーションの OTLP exporter を otel-front の endpoint に向ける。 すると、送られてきた telemetry をブラウザで確認できる。

狙いは、本格的な observability stack の代替ではなく、ローカル計装確認の摩擦を下げること。

何が楽になるか

軽量ビューアがあると、次の作業が速くなる。

  • 新しく追加した span が出ているか確認する。
  • attributes の key/value が想定どおりか見る。
  • service name、resource attributes、trace id、span id が入っているか確認する。
  • エラー時の status や exception event が入るか見る。
  • ローカルの API 呼び出しで trace がどう分かれるか確認する。

本番向けの保存、検索、長期保持、アラート、ダッシュボードは目的ではない。 あくまで「今送っている OTel が見えるか」を手早く見る道具。

Jaeger や Collector stack との違い

Jaeger や Tempo、Grafana、Collector は、本番やチーム開発での可観測性基盤として強力。 しかし、初期導入や小さな修正の確認には、準備が大きいことがある。

軽量ビューアは、次のような場面に向く。

  • SDK の設定を試している。
  • middleware が span を作っているか確認したい。
  • attributes の名前や値を調整している。
  • collector config をまだ作る前に、アプリ側の出力だけ見たい。
  • 研修やデモで OTel の流れを見せたい。

一方で、長期保存、検索性能、複数サービスの大規模 trace、metrics dashboard、alerting、sampling policy の検証には、通常の observability stack が必要。

読み替え

OpenTelemetry を学ぶとき、最初から production-grade stack を立てると、アプリケーション計装以外の学習コストが大きい。 OTLP receiver と UI だけを持つ軽量ツールは、計装のフィードバックループを短くする。

特に Go や Node.js のアプリで middleware を追加した直後に、span name、attributes、status、error event がどう出るか確認する用途に向く。

要点

  • ローカルで OTel 計装を確認するだけなら、Jaeger/Collector/Grafana stack は重い場合がある。
  • otel-front は OTLP データを受け取り、Web UI で確認する軽量ビューアとして紹介されている。
  • Docker、外部 DB、複雑な設定なしで使えることが狙い。
  • 本番 observability 基盤の代替ではなく、ローカル開発のフィードバック短縮が目的。
  • 取得できた本文が短いため、具体的なインストール方法や設定例は未確認。

タグ

opentelemetry #observability #local-development #devtools #tracing