OSS探訪GitHubでログイン

object storage中心で大規模traceを保持しTraceQLで探索するdistributed tracing backend

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
5,507
主要言語
Go
ライセンス
AGPL-3.0
リポジトリ最終更新
2026/10/04
ページ内ナビ

概要

Grafana Tempoは分散traceを高volumeで保持・検索するbackendです。durable storageをS3・GCS・Azure Blobなどのobject storageへ寄せ、OpenTelemetry等から受け取ったtraceをTraceQLやGrafanaのUIから調査できる構成を取ります。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

trace保存をobject storage中心にしてbackend dependencyを抑える

Tempoはtraceのdurable storageにobject storageを利用する設計で、READMEではcost-efficientでminimal dependencyなdistributed tracing backendとして説明されています。

出典:[1]

TraceQLでtrace属性・構造を検索しmetricsへ集約する

TraceQLはtrace向けquery languageで、spanやresource attributeを条件に絞り込みできます。TraceQL metricsではquery結果へaggregationを適用し、trace dataからad hoc metricsを計算できます。

出典:[1][2]

OpenTelemetry・Jaeger・Zipkin等のtrace formatと連携する

TempoはOpenTelemetryを基盤にreceiver・wire format・storage formatを構成し、JaegerやZipkin、Kafkaとの互換・連携経路も持ちます。Grafana、Prometheus、Lokiと組み合わせたobservability stackにも統合できます。

出典:[1]

向いている用途

microservicesのlatency・error・request pathをtrace単位で追いたい場合に向く

service間をまたぐrequestのbottleneckやerror箇所を調べる用途に適します。Grafana Traces Drilldownを使えばTraceQLを直接書かずにtrace傾向を探索するworkflowも取れます。

出典:[1]

導入前の確認

3.1.0では新規blockのdefault formatがvParquet5になる

v3.1.0は新しく書くblockでvParquet5をdefaultにしつつ、既存のvParquet4・vParquet3 blockは引き続きreadできます。upgrade時はstorage formatとcomponent compatibilityを確認してください。

出典:[2]

source buildはGo 1.27.1を前提としlicenseはAGPL系で確認が必要

v3.1.0のgo.modはGo 1.27.1を指定しています。READMEはTempo本体をAGPL-3.0-onlyとしており、Apache-2.0 exceptionはLICENSING.mdで別途示されるため、配布・改変条件を導入前に確認してください。

出典:[3][4][1]

参考にした公式資料

  1. [1]Grafana Tempo v3.1.0 README(2026-10-04)
  2. [2]Grafana Tempo v3.1.0 release(2026-10-04)
  3. [3]Grafana Tempo v3.1.0 go.mod(2026-10-04)
  4. [4]Grafana Tempo v3.1.0 licensing(2026-10-04)
編集部からの補足

Tempoはtrace保存・検索に特化します。productionではobject storage、retention、tenant分離、ingestion/query capacityをobservability stack全体で設計してください。

3ステップで試す

  1. 1

    Grafana Tempo v3.1.0 sourceを取得する

    stable release tagへ固定します。source buildにはgo.mod記載のGo 1.27.1を使用します。

    git clone --depth 1 --branch v3.1.0 https://github.com/grafana/tempo.git tempo-3.1.0
  2. 2

    Tempo binaryをrepository内へbuildする

    system installせずlocal binaryをbuildします。初回はGo module dependencyの取得が発生します。

    cd tempo-3.1.0 && mkdir -p bin && go build -ldflags '-X main.Version=3.1.0' -o bin/tempo ./cmd/tempo
  3. 3

    serverを起動せずversionだけ確認する

    configやobject storageへ接続せずCLIのversion pathだけを確認します。production導入ではstorage、retention、tenant設定を別途設計してください。

    cd tempo-3.1.0 && ./bin/tempo -version
公式READMEで確認

成長

成長の推移 · 直近30日

5,507 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
86
Open PR
114

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • distributed-tracing
  • grafana
  • tempo
  • traces
Stars
5,507
Forks
765
Watchers
173
Open Issues
84
Contributors
305
所有者種別
Organization
主要言語
Go
ライセンス
AGPL-3.0
リポジトリ最終更新
2026/10/04

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?