Feature Summary
The dashboard needs a read path to query the telemetry backends that enforces tenant isolation and rate limits, plus an Angular shell to host the per-signal panels. Without it there is no safe, user-facing surface for observability data.
Proposed Solution or Design
- Backend:
BackendClient (HTTP client to the telemetry backends); ScopeResolver (derives the caller's tenant scope and constrains every query to it); RateLimiter, AuditLogger, and GatewayContext (per-request rate limiting, audit logging, and shared request context); typed request DTOs with validators (time window, page size, free text, service name); ObservabilityResources with an /observability/health endpoint registered in TexeraWebApplication; RequestContextMdcFilter and UserContextMdcFilter to inject request and user context into the logging MDC; ObservabilityGatewayConfig and its configuration file.
- Frontend: an observability dashboard page, route, and navigation entry;
observability.service, observability.types, and the traces-pivot.service; health gating so each tab is guarded by a per-signal reachability check, and an unreachable signal renders an explicit state rather than a broken panel.
- Tenancy enforcement and rate limiting are the security-critical surface here and warrant close review.
Affected Area
Workflow UI, Other
Related
Part of #4070. Depends on #5369. Signal panels tracked in #5371, #5372, #5373, and #5374.
Feature Summary
The dashboard needs a read path to query the telemetry backends that enforces tenant isolation and rate limits, plus an Angular shell to host the per-signal panels. Without it there is no safe, user-facing surface for observability data.
Proposed Solution or Design
BackendClient(HTTP client to the telemetry backends);ScopeResolver(derives the caller's tenant scope and constrains every query to it);RateLimiter,AuditLogger, andGatewayContext(per-request rate limiting, audit logging, and shared request context); typed request DTOs with validators (time window, page size, free text, service name);ObservabilityResourceswith an/observability/healthendpoint registered inTexeraWebApplication;RequestContextMdcFilterandUserContextMdcFilterto inject request and user context into the logging MDC;ObservabilityGatewayConfigand its configuration file.observability.service,observability.types, and thetraces-pivot.service; health gating so each tab is guarded by a per-signal reachability check, and an unreachable signal renders an explicit state rather than a broken panel.Affected Area
Workflow UI, Other
Related
Part of #4070. Depends on #5369. Signal panels tracked in #5371, #5372, #5373, and #5374.