Skip to content

Dashboard

Everything under Quiote\Telemetry\Dashboard.

ClassDescription
BarsRenders a value/ceiling ratio as a fixed-width filled/empty block bar — the dashboard’s stand-in for a Gauge widget (symfony/tui has none; see Spark’s docblock for the same widget-gap note).
ChartWidgetA leaf widget that renders a numeric series as a multi-row bar chart, filling whatever height and width it is assigned at render time.
DashboardSnapshotAn immutable read of DashboardState at one point in time — everything DashboardView needs to draw one frame, with no further computation or I/O required.
DashboardStateThe rolling in-memory store fed by OtlpReceiver’s decoded batches and read by the render loop via DashboardState::snapshot().
DashboardViewPure state -> widget-tree builder for the dashboard’s live view: no I/O, no symfony/tui runtime calls (Tui::add()/requestRender() etc.) — only this class and TelemetryDashboardCommand touch Symfony\Component\Tui\* directly, containing the experimental package’s surface to two files.
HttpMessageParserMinimal, bounded HTTP/1.1 request parser for the dashboard’s OTLP receiver (see OtlpReceiver).
MalformedRequestExceptionThrown by HttpMessageParser for anything outside the narrow OTLP/HTTP shape the OTel PHP exporter sends (see that class’s docblock).
OtlpDecoderDecodes OTLP ExportTraceServiceRequest/ExportMetricsServiceRequest protobuf (or JSON) payloads — exactly what the OTel PHP OTLP/HTTP exporter sends, per telemetry.otlp.protocol — into plain ReceivedSpan/ ReceivedMetric value objects.
OtlpReceiverA minimal OTLP/HTTP receiver: binds a TCP socket and services it on the global Revolt event loop, exactly the pattern symfony/tui’s own Terminal::start() uses for STDIN (EventLoop::onReadable()) — so this runs cooperatively alongside a Tui::run() loop in the same process, no threads or second process needed.
ParsedHttpRequestThe result of HttpMessageParser::tryParse() — method, path, headers (lower-cased names), and the fully-buffered request body.
ReceivedDataPointA single data point within a ReceivedMetric.
ReceivedMetricA metric decoded from an OTLP ExportMetricsServiceRequest by OtlpDecoder.
ReceivedSpanA span decoded from an OTLP ExportTraceServiceRequest by OtlpDecoder, flattened into plain PHP values so nothing downstream (DashboardState, DashboardView, tests) needs to touch protobuf types.
RingBufferA fixed-window, per-second time series.
RouteStatsPer-route aggregates (count, avg latency, error %, cache-hit %, last seen) for the dashboard’s route table.
SparkRenders a numeric series as a Unicode block-glyph bar chart, using eighth blocks (▁▂▃▄▅▆▇█) per character row to get sub-row vertical resolution across an arbitrary number of text rows.
TextSanitizerStrips terminal-escape introducer bytes from telemetry-derived strings (span names, status messages, route labels, attribute values) before they reach a TextWidget.