Skip to content

feat(observability): metrics end-to-end (gateway + UI panel)#5380

Draft
Ma77Ball wants to merge 76 commits into
apache:mainfrom
Ma77Ball:obs/pr6/metrics
Draft

feat(observability): metrics end-to-end (gateway + UI panel)#5380
Ma77Ball wants to merge 76 commits into
apache:mainfrom
Ma77Ball:obs/pr6/metrics

Conversation

@Ma77Ball

@Ma77Ball Ma77Ball commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this PR?

Workflow metrics through the gateway plus an ECharts-based UI panel.
Backend:

  • Metrics query builder and parseMetrics.
  • MetricsResource serving a closed allowlist of named queries (throughput, outcome rates, and duration percentiles), enforced on both the gateway and the client.
    Frontend:
  • Metrics panel rendering each named query as a typed series with Apache ECharts. Chart data is bound as typed arrays; backend output is never interpreted as a formatter or template.

Any related issues, documentation, or discussions?

Closes: #5372
Part of #4070. Stacked on #5379.

How was this PR tested?

  • Backend specs for the metrics query builder and parser; sbt scalafmtCheckAll passes.
  • Frontend metrics-panel and service specs; prettier-eslint and eslint pass.
  • Compile and the full test suites run in this PR's CI.

Was this PR authored or co-authored using generative AI tooling?

Co-authored with Claude Opus 4.8 in compliance with ASF

Ma77Ball and others added 6 commits June 5, 2026 04:49
…, SDK bootstrap (default-off)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…s panel

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nt scope, health, routing)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ca/eBPF profiling

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…tracing primitives

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…UI metrics panel (ECharts)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added engine dependencies Pull requests that update a dependency file frontend Changes related to the frontend GUI docs Changes related to documentations dev common labels Jun 5, 2026
@codecov-commenter

codecov-commenter commented Jun 5, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 63.75610% with 743 lines in your changes missing coverage. Please review.
✅ Project coverage is 53.20%. Comparing base (7e9cabf) to head (fed8677).
⚠️ Report is 24 commits behind head on main.

Files with missing lines Patch % Lines
...observability/gateway/ObservabilityResources.scala 0.00% 192 Missing ⚠️
...nt/user/list-item/card-item/card-item.component.ts 47.23% 76 Missing and 10 partials ⚠️
...observability/logs-panel/logs-panel.component.html 56.92% 55 Missing and 1 partial ⚠️
...apache/texera/web/observability/gateway/dtos.scala 72.25% 46 Missing and 7 partials ⚠️
...ala/org/apache/texera/observability/OtelInit.scala 63.30% 43 Missing and 8 partials ⚠️
...texera/web/observability/gateway/AuditLogger.scala 0.00% 41 Missing ⚠️
.../user/list-item/card-item/card-item.component.html 56.52% 38 Missing and 2 partials ⚠️
...xera/web/observability/gateway/ScopeResolver.scala 19.44% 27 Missing and 2 partials ⚠️
...era/web/observability/gateway/GatewayContext.scala 0.00% 19 Missing ⚠️
...a/org/apache/texera/web/TexeraWebApplication.scala 0.00% 16 Missing ⚠️
... and 27 more
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #5380      +/-   ##
============================================
+ Coverage     52.87%   53.20%   +0.32%     
- Complexity     2509     2663     +154     
============================================
  Files          1073     1118      +45     
  Lines         41382    43731    +2349     
  Branches       4444     4834     +390     
============================================
+ Hits          21882    23268    +1386     
- Misses        18214    19078     +864     
- Partials       1286     1385      +99     
Flag Coverage Δ *Carryforward flag
access-control-service 70.91% <100.00%> (+6.30%) ⬆️
agent-service 34.36% <ø> (ø) Carriedforward from ffe8f80
amber 53.14% <60.64%> (-0.46%) ⬇️
computing-unit-managing-service 1.65% <ø> (ø)
config-service 56.71% <ø> (ø)
file-service 57.06% <ø> (ø)
frontend 48.65% <68.55%> (+1.35%) ⬆️
pyamber 90.73% <100.00%> (+0.01%) ⬆️ Carriedforward from ffe8f80
python 90.73% <ø> (-0.03%) ⬇️ Carriedforward from ffe8f80
workflow-compiling-service 58.69% <ø> (ø)

*This pull request uses carry forward flags. Click here to find out more.

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

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

github-actions Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

⚠️ Benchmark changes need a look

🟢 2 better · 🔴 5 worse · ⚪ 8 noise (<±5%) · 0 without baseline

Compared against main b8859b4 benchmarked on this same runner, so the delta is largely free of cross-runner hardware noise. The "7d avg" column still reflects the gh-pages dashboard. Treat <±5% as noise unless repeated.

Dashboard · Run

config throughput MB/s latency max Δ latest / 7d
🔴 bs=10 sw=10 sl=64 378 0.23 26,974/36,021/36,021 us 🔴 +32.5% / 🔴 +13.4%
🟢 bs=100 sw=10 sl=64 813 0.496 120,431/145,230/145,230 us 🟢 -7.8% / 🔴 -8.9%
bs=1000 sw=10 sl=64 933 0.57 1,074,293/1,111,252/1,111,252 us ⚪ within ±5% / 🔴 -10.4%
Baseline details

Latest main b8859b4 from same runner

config metric PR latest main 7d avg Δ latest Δ 7d
bs=10 sw=10 sl=64 throughput 378 tuples/sec 441 tuples/sec 410.82 tuples/sec -14.3% -8.0%
bs=10 sw=10 sl=64 MB/s 0.23 MB/s 0.269 MB/s 0.251 MB/s -14.5% -8.3%
bs=10 sw=10 sl=64 p50 26,974 us 20,357 us 23,785 us +32.5% +13.4%
bs=10 sw=10 sl=64 p95 36,021 us 32,326 us 34,980 us +11.4% +3.0%
bs=10 sw=10 sl=64 p99 36,021 us 32,326 us 34,980 us +11.4% +3.0%
bs=100 sw=10 sl=64 throughput 813 tuples/sec 823 tuples/sec 891.94 tuples/sec -1.2% -8.9%
bs=100 sw=10 sl=64 MB/s 0.496 MB/s 0.502 MB/s 0.544 MB/s -1.2% -8.9%
bs=100 sw=10 sl=64 p50 120,431 us 117,281 us 112,277 us +2.7% +7.3%
bs=100 sw=10 sl=64 p95 145,230 us 157,595 us 139,802 us -7.8% +3.9%
bs=100 sw=10 sl=64 p99 145,230 us 157,595 us 139,802 us -7.8% +3.9%
bs=1000 sw=10 sl=64 throughput 933 tuples/sec 946 tuples/sec 1,041 tuples/sec -1.4% -10.4%
bs=1000 sw=10 sl=64 MB/s 0.57 MB/s 0.577 MB/s 0.635 MB/s -1.2% -10.3%
bs=1000 sw=10 sl=64 p50 1,074,293 us 1,053,290 us 972,714 us +2.0% +10.4%
bs=1000 sw=10 sl=64 p95 1,111,252 us 1,100,641 us 1,023,057 us +1.0% +8.6%
bs=1000 sw=10 sl=64 p99 1,111,252 us 1,100,641 us 1,023,057 us +1.0% +8.6%
Raw CSV
config_idx,batch_size,schema_width,string_len,num_batches,total_ms,total_tuples,total_bytes,tuples_per_sec,mb_per_sec,lat_p50_us,lat_p95_us,lat_p99_us
0,10,10,64,20,529.78,200,128000,378,0.230,26974.38,36021.43,36021.43
1,100,10,64,20,2460.35,2000,1280000,813,0.496,120430.60,145230.19,145230.19
2,1000,10,64,20,21434.13,20000,12800000,933,0.570,1074293.48,1111251.73,1111251.73

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

Labels

common dependencies Pull requests that update a dependency file dev docs Changes related to documentations engine frontend Changes related to the frontend GUI platform Non-amber Scala service paths

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Observability] Workflow metrics: gateway endpoint and dashboard panel

2 participants