You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@texera.apache.org by GitBox <gi...@apache.org> on 2026/10/10 07:20:41 UTC
[GH] (texera/obs/pr4/gateway-core): Workflow run "Required Checks" is working again!
The GitHub Actions job "Required Checks" on texera.git/obs/pr4/gateway-core has succeeded.
Run started by GitHub user Ma77Ball (triggered by Ma77Ball).
Head commit for run:
681c046b9fa02c4445fe81cc364f088a3006de24 / Matthew Ball <mg...@uci.edu>
feat(observability): query gateway core + dashboard shell
Add the tenant-scoped read path the dashboard queries, plus the Angular
shell that hosts the per-signal panels. This is the first user-visible
observability surface: it enforces tenancy and rate limiting on every
query and gates each panel on signal reachability. This is PR 4 of the
observability stack.
Query gateway (amber, org.apache.texera.web.observability.gateway):
- BackendClient issues the read-only HTTP queries to the telemetry
backends (VictoriaLogs, VictoriaMetrics, Jaeger).
- ScopeResolver derives the caller's tenant scope and constrains every
query to it, so a user never reads another tenant's telemetry.
- RateLimiter, AuditLogger, and GatewayContext add per-request rate
limiting, audit logging, and the shared request context.
- dtos.scala and builders.scala define the typed request objects and
their validators (time window, page size, free text, service name).
- ObservabilityResources exposes /observability/health and is
registered in TexeraWebApplication.
- RequestContextMdcFilter and UserContextMdcFilter inject the request
and user context into the logging MDC.
- ObservabilityGatewayConfig plus observability-gateway.conf hold the
gateway settings.
Dashboard shell (frontend):
- Admin-only Observability page, route, and navigation entry, plus the
observability service, its types, and the traces-pivot service.
- Each tab is guarded by the per-signal reachability check: an
unreachable signal renders an explicit state rather than a broken
panel. The signal panels themselves follow in later PRs of the stack.
Tests: backend specs for the gateway core, DTO validation, scope
resolver, rate limiter, and the MDC filters, plus frontend component and
service specs. sbt scalafmtCheckAll is clean.
Stacked on PR 3 (obs/pr3/deployment).
Co-Authored-By: Claude Opus 4.8 <no...@anthropic.com>
Report URL: https://github.com/apache/texera/actions/runs/38032817113
With regards,
GitHub Actions via GitBox