-
Notifications
You must be signed in to change notification settings - Fork 0
Tag Status Table
A live table of every tag in the project's TagRegistry, with status, last-updated wall-clock time, activity flag, event count, and label filter chips. Opened from the main Companion toolbar's Tags button as a detached classical-figure window.
The table refreshes regardless of whether the Companion is in Live mode — see Refresh paths below.
| Column | Source |
|---|---|
| Key | tag.Key |
| Name | tag.Name |
| Type | one of Sensor / Monitor / Composite / State / Derived |
| Criticality |
tag.Criticality (Low / Medium / High / Safety) |
| Units | tag.Units |
| Latest | last Y value, formatted by magnitude or state label |
| Status | smart per-type (Monitor → OK/ALARM, State → state label, others → —) |
| Last updated | wall-clock time of X(end) formatted via formatLastUpdated_
|
| Activity |
Live if X(end) is within 5 min of now, else Inactive
|
| Events | integer count from EventStore.getEventsForTag(key)
|
| Samples | numel(X) |
| Labels |
tag.Labels joined by comma |
The header strip carries three chip groups and a free-text search field:
- Type chips — Sensor / Monitor / Composite / State / Derived
- Criticality chips — Low / Medium / High / Safety
- Activity chips — Live / Inactive
- Search box — case-insensitive substring across Key, Name, Units, Labels
Chip behaviour: multi-toggle, AND across chip groups, OR within a group. With every chip on (the default) every tag is visible; toggling a chip off subtracts that category.
Two parallel refresh paths keep the table in sync:
-
Push-on-write — the Companion's
scanLiveTagUpdates_callsmarkTagsDirty(keys)whenever pipeline sample counts grow. Zero cost when the window is closed. -
Window-owned timer — a 1 s
fixedSpacingtimer ticks every second so Activity and Last updated stay correct even when the Companion is not in Live mode (e.g. you only want to monitor activity without running the full live pipeline).
The window-owned timer is unique to this surface and was added in quick task 260519-bs4 as a deviation from the original "push-on-write only" design.
The Pause polling button in the top-right freezes both refresh paths without closing the window. While paused:
-
markTagsDirtybecomes a no-op (push-on-write writes are dropped) - The window-owned timer keeps ticking but skips the re-query body
- The "Last refreshed" header reads
HH:MM:SS (paused)
Click again to Resume polling. Useful when you want a stable snapshot of the table to read or screenshot.
FastPlot Wiki
API Reference
Guides
Use Cases
Internals
Resources