Task: Add plotting of session data

Table of Contents

This page documents a task in the Session telemetry and plotting story. It captures the goal, current status, acceptance, and any notes or results.

Goal

Sample RTT + bytes per session into a TimescaleDB hypertable and plot the history in My Sessions.

Status

Field Value
State DONE
Parent story Session telemetry and plotting
Now Completed 2026-02-22.
Waiting on None.
Next None.
Last touched 2026-02-22

Acceptance

  • bytes_sent + bytes_received synced from live connection before logout.
  • Client pings carry previous-heartbeat RTT (latency_ms).
  • Server records session_sample rows at each heartbeat; persists batch into ores_iam_session_samples_tbl (TimescaleDB hypertable).
  • Protocol: get_session_samples_request / _response (0x2072 / 0x2073).
  • Status-bar plug icon: dynamic tooltip with live address, bytes, RTT.
  • Interactive QChartView/QLineSeries panel plots bytes_sent + bytes_received over time.
  • qt6-charts vcpkg dep added.
  • TimescaleDB skill doc gets a hypertable / chunk-interval / compression section.

Plan

Captured during execution; cleared into the parent story on close.

Notes

First real consumer of the TimescaleDB telemetry infrastructure landed in earlier sprints.

Result

Session history visualised end-to-end.

Emacs 29.1 (Org mode 9.6.6)