Story: Session telemetry and plotting
Table of Contents
This page documents a story in Sprint 13. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
First real consumer of the TimescaleDB telemetry infrastructure: sample RTT + bytes per session and plot the history in My Sessions.
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 13 |
| Now | Completed 2026-02-22. |
| Waiting on | None. |
| Next | None. |
| Last touched | 2026-02-22 |
Acceptance
- Byte counters synced from live connection before logout.
- RTT carried in ping payloads.
ores_iam_session_samples_tblTimescaleDB hypertable populated on logout.- Protocol pair for fetching samples.
- QChartView panel plots bytes_sent + bytes_received over time.
- TimescaleDB skill doc updated.
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Add plotting of session data | DONE | 2026-05-20 | 2026-02-22 | Sync bytes_sent/received from live connection before logout; RTT in ping payloads; server records session_sample at each heartbeat into ores_iam_session_samples_tbl (TimescaleDB hypertable); get_session_samples_request/response (0x2072/0x2073); dynamic status-bar tooltip; QChartView/QLineSeries panel via qt6-charts vcpkg dep; TimescaleDB skill doc section. |
Decisions
- qt6-charts as the chart library
- avoids hand-rolling and stays inside the Qt dependency story.
- Hypertable from day one
- query patterns are time-series; doing this without TimescaleDB would just be a slower hypertable.
Out of scope
- Aggregated cross-session analytics.
See also
None.