Skip to content

docs: add example Grafana dashboard for GenAI metrics - #2374

Open
baiyutang wants to merge 5 commits into
envoyproxy:mainfrom
baiyutang:grafana-dashboard-example
Open

docs: add example Grafana dashboard for GenAI metrics#2374
baiyutang wants to merge 5 commits into
envoyproxy:mainfrom
baiyutang:grafana-dashboard-example

Conversation

@baiyutang

@baiyutang baiyutang commented Jul 16, 2026

Copy link
Copy Markdown

Description

Adds an importable dashboard covering gen_ai_* metrics: total requests and tokens, TTFT and request duration (as quick-glance stats and as percentile trends), token usage by type, original-vs-response model mismatches, request throughput (QPS), token consumption rate by type, overall error rate, and success rate by model. Also adds a README section explaining how to import the dashboard and validate it locally with aigw run.

The success rate query uses an or fallback so models with a 100% failure rate (no matching series in the failure-count vector) still show up in the table instead of being silently dropped.

Related Issues/PRs (if applicable)

Special notes for reviewers (if applicable)

Screenshot
Screenshot From 2026-07-21 23-09-27
Screenshot From 2026-07-21 23-09-36

@baiyutang
baiyutang requested a review from a team as a code owner July 16, 2026 02:37
@dosubot dosubot Bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Jul 16, 2026
@baiyutang
baiyutang force-pushed the grafana-dashboard-example branch 2 times, most recently from 27c17cb to 8d25da2 Compare July 16, 2026 04:47
Adds an importable dashboard covering gen_ai_* metrics: total requests
and tokens, TTFT and request duration (as quick-glance stats and as
percentile trends), token usage by type, original-vs-response model
mismatches, request throughput (QPS), token consumption rate by type,
overall error rate, and success rate by model. Also adds a README
section explaining how to import the dashboard and validate it locally
with aigw run.

The success rate query uses an `or` fallback so models with a 100%
failure rate (no matching series in the failure-count vector) still
show up in the table instead of being silently dropped.

Suggested in the 2026-07-13 community meeting; unclaimed until now.

Signed-off-by: baiyutang <irichardwang@gmail.com>
@baiyutang
baiyutang force-pushed the grafana-dashboard-example branch from 8d25da2 to f8249e6 Compare July 16, 2026 04:50
@nacx

nacx commented Jul 20, 2026

Copy link
Copy Markdown
Member

Thanks! For the requests by model and errors by model, can we represent the table differently, or at least remove the timestamp? That timestamp in the table doesn't seem meaningful?

The instant queries backing the two table panels (requests by model,
success rate by model) always surface a Time column with the query
timestamp repeated on every row. Add an Organize-fields transformation
to drop it and rename the Value column to something readable.

Addresses review feedback from @nacx.

Signed-off-by: baiyutang <irichardwang@gmail.com>
@nacx

nacx commented Jul 21, 2026

Copy link
Copy Markdown
Member

Can you reshare a screenshot with the update?

@missBerg missBerg added documentation Improvements or additions to documentation area/observability Metrics, tracing, logging, GenAI observability labels Jul 21, 2026
@baiyutang

Copy link
Copy Markdown
Author

Can you reshare a screenshot with the update?

done

@nacx nacx left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

THanks! LGTM

@nacx
nacx enabled auto-merge (squash) July 22, 2026 00:22
@codecov-commenter

codecov-commenter commented Jul 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.03%. Comparing base (b80bc3e) to head (07782b9).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2374   +/-   ##
=======================================
  Coverage   85.03%   85.03%           
=======================================
  Files         159      159           
  Lines       22634    22634           
=======================================
  Hits        19247    19247           
  Misses       2219     2219           
  Partials     1168     1168           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/observability Metrics, tracing, logging, GenAI observability documentation Improvements or additions to documentation size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants