EMRY-022: Derived state (EMA / throughput / ETA) in the dashboard #64
No reviewers
Labels
No labels
blocked
bug
compat
docs
documentation
duplicate
emry-cli
emry-core
emry-engine
emry-ingest
emry-py
emry-store
emry-tui
emry-web
enhancement
good first issue
gpu-compute
help wanted
hpc
infra
integrations
invalid
needs-design
P0-blocker
P1-core
P2-enhanced
P3-future
performance
pull-request
python
pytorch
question
rust
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
femboy/emry!64
Loading…
Reference in a new issue
No description provided.
Delete branch "emry-022-derived-state"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes EMRY-022 (#17). Branched off
main.What
The engine session now runs derived-metric processors and surfaces them live:
Emaper metric ({name}_ema) whenRunConfig.smoothingis set.Throughputprocessor (steps_per_sec, pluseta_secswhentotal_stepsis known) whentrack_throughputis on.Outputs are published to the bus as synthetic
MetricsBatchevents, so the TUI shows them as live series. Both options default on; the demo pre-registers the derived names so the dashboard labels them.Design decision
Derived metrics go to the bus only — not
events.jsonl/metrics.jsonl— because they're recomputable from the raw logs. This keeps the audit trail and the export rows clean. The fastemit()path is unchanged (still lock-free); the processors + registry lock run only on the worker thread.Verification
./scripts/pre-commit-rust.shgreen: clippy-D warnings, 45 engine tests, session.rs 96.8% lines, total 96.70%Review
Architecture verified (no feedback loop, hot path untouched, derived not persisted, raw-then-derived ordering). Fixed the one actionable finding: the disabled-derived test had a non-catching assertion (now checks derived ids absent). Documented that derived bus events are indistinguishable from raw (safe — only live display consumes the bus).