Dashboard
Everything under Quiote\Telemetry\Dashboard.
Classes
Section titled “Classes”| Class | Description |
|---|---|
Bars | Renders 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). |
ChartWidget | A leaf widget that renders a numeric series as a multi-row bar chart, filling whatever height and width it is assigned at render time. |
DashboardSnapshot | An immutable read of DashboardState at one point in time — everything DashboardView needs to draw one frame, with no further computation or I/O required. |
DashboardState | The rolling in-memory store fed by OtlpReceiver’s decoded batches and read by the render loop via DashboardState::snapshot(). |
DashboardView | Pure 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. |
HttpMessageParser | Minimal, bounded HTTP/1.1 request parser for the dashboard’s OTLP receiver (see OtlpReceiver). |
MalformedRequestException | Thrown by HttpMessageParser for anything outside the narrow OTLP/HTTP shape the OTel PHP exporter sends (see that class’s docblock). |
OtlpDecoder | Decodes 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. |
OtlpReceiver | A 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. |
ParsedHttpRequest | The result of HttpMessageParser::tryParse() — method, path, headers (lower-cased names), and the fully-buffered request body. |
ReceivedDataPoint | A single data point within a ReceivedMetric. |
ReceivedMetric | A metric decoded from an OTLP ExportMetricsServiceRequest by OtlpDecoder. |
ReceivedSpan | A span decoded from an OTLP ExportTraceServiceRequest by OtlpDecoder, flattened into plain PHP values so nothing downstream (DashboardState, DashboardView, tests) needs to touch protobuf types. |
RingBuffer | A fixed-window, per-second time series. |
RouteStats | Per-route aggregates (count, avg latency, error %, cache-hit %, last seen) for the dashboard’s route table. |
Spark | Renders 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. |
TextSanitizer | Strips terminal-escape introducer bytes from telemetry-derived strings (span names, status messages, route labels, attribute values) before they reach a TextWidget. |