
本記事はGrafana Labs blog の記事を翻訳し転載しています
Grafana Tempo 2.5 の登場です!パフォーマンスが向上し、新たなTraceQL 機能の土台となる vParquet4、追加のメトリクス機能を備えています。
TraceQLメトリックのハイライトについては、上記の動画をご覧ください。また、Tempoの最新の更新の概要については、このまま読み進めてください。より詳細な情報は、Grafana Tempo リリースノートまたはchangelogを参照してください。
その他のTraceQL メトリクス
TraceQL メトリクス は、トレースからメトリクスを動的に生成する、Grafana Tempo の実験的な機能です。当社では一般公開に向けて努力していますので、ご期待ください。
Tempo 2.4 では、基本的なrate()
メソッドを導入しました。そして、2.5では、 quantile_over_time()
と histogram_over_time()
を追加し、 すべての重要なspan期間などの数値を集約できるようになりました。
{ name = "GET /:endpoint" } | quantile_over_time(duration, .99, .9, .5)

任意の span またはリソース属性でグループ化できます。
{ name = "GET /:endpoint" } | quantile_over_time(duration, .99) by (span.http.target)

また、分位数はspan期間だけに限定されるわけではありません。spanのどのような数値属性も公平に扱われます。このレベルの柔軟性を実証するために、 span.http.status_code
の全く無意味な分位数を考えてみましょう。
{ name = "GET /:endpoint" } | quantile_over_time(span.http.status_code, .99, .9, .5)

これらは先端機能であり、最高のエクスペリエンスを得るには、常に最新バージョンのGrafanaとTempoを使用することをお勧めします。
その他のストリーミングエンドポイント
2.5では、 Tempoのクエリフロントエンドコンポーネントの大幅なリファクタリングを行いました。このリファクタリングには、いくつかのパフォーマンスの向上が含まれますが、主に ストリーミングエンド gRPC エンドポイント 全体に追加するために行いました。
現在、Grafana でサポートするのは TraceQL ストリーミング検索エンドポイントのみですが、近々、他のエンドポイントもサポートする予定です。特に、Grafanaがストリーミング メトリクス エンドポイントをサポートすることで、Tempoがデータを取得する際に、画面全体にきれいなメトリクス ラインが描かれるのを確認できるでしょう。
Grafanaはまだエンドポイントをすべてサポートしているわけではありませんが、必要に応じて構築されたgRPCクライアントを使用して呼び出すことができ、Tempo CLI ツールでもサポートされます。たとえば、次のようにストリーミング メトリクスをクエリ照会できます
./tempo-cli query api metrics localhost:3200 '{ status = error } | rate() by (name)' –use-grpc
新機能の土台となるvParquet4
vParquet4 は、最新の Parquet バージョンです。Tempo 2.5で利用可能ですが、次のリリースまでデフォルトにはなりません。vParquet4 には新しいカラムが追加され、イベント、リンク、配列などをクエリできるようになりました。これらの機能は近日中にTraceQLに追加される予定です!
vParquet4を試して新機能に備えるには、Tempoを構成してすぐに使用できます。サービスごとの span とエラー数を返すカラムとコードを検索結果に追加していただいたRed HatのAndreas Gerstmayr氏に感謝します。近日中にGrafanaのサポートを追加する予定です。
重要な変更点
Tempo 2.5で注目すべき重要な変更が2つあります。
1つめは、公式DockerイメージのTempoプロセスは、root
として実行されていました。このリリースでは、UID 10001
として実行されるように更新されました (歓迎すべきセキュリティ更新です) 。つまり、ディスク上のファイルを管理するインジェスターやメトリック ジェネレーターなどのコンポーネントを正常に起動するには、操作が必要になります。新しいユーザー10001
は、root
が作成した古いファイルにアクセスできません。アップグレードに関するヘルプはリリースノートを参照してください。
次に、オリジナルのvParquetフォーマットがTempo 2.5から削除されました。これにより、Tempo 2.1からTempo 2.5に直接アップグレードすることはできません。オペレーターは、2.5にアップグレードする前に中間バージョンにアップグレードし、古いvParquetブロックがリテンション期間を過ぎるのを待つ必要があります。
重要な変更の詳細ついては、Grafana Tempo リリースノートまたはchangelogをご覧ください。
Grafana Tempo の次の取り組み
Tempoには現在、2つの主要な取り組みがあります。1つ目はTraceQLメトリクスを一般公開(GA)することで、2つ目はTraceQL言語の拡張を継続することです。
今後のリリースでは、vParquet4が正式にコードベースに追加された今となっては、TraceQL言語拡張に詳述されている機能が着実に増えることを期待しています。
多大な努力の結果、メトリクスの RF3 トレースの重複排除では、期待するパフォーマンス目標を達成できないと判断しました。その結果、現在の可用性と耐久性を維持しながら、RF1データをオブジェクト ストレージに書き込めるようにするため、Tempoのアーキテクチャの変更について議論しています。ぜひ毎月のTempoコミュニティ コールでこの議論にご参加ください。私たちはたくさんのアイデアを交換しています。
これは、TCOの削減、TraceQLの高速化、大規模なTraceQLメトリックを実現することが期待される、運用Tempoの大きな転換です。ここで大きな変化があることを期待してください!
Grafana Tempoのニュースや検索の進捗状況について詳しく知りたい方は、Grafana Labs コミュニティの Slackチャンネル #tempo にご参加ください。もしくは、コミュニティ フォーラムに質問を投稿する、X (旧 Twitter) に連絡する、または毎月のTempo コミュニティコールに参加することもできます。そこでお会いしましょう!
もし、マジカルな現場にもっと近づきたい方は、Grafana Labsの募集職種をご覧ください。
最も簡単に Grafana Tempo を使い始める方法は Grafana Cloud を使用することです。永久無料プランには、50GBのトレース、50GBのログ、10Kシリーズのメトリクスが含まれています。 サインアップは無料です!
原文:Grafana Tempo 2.5 release: vParquet4, streaming endpoints, and more metrics