feat(gui): Logs-feed time-range picker (#554) #609
No reviewers
Labels
No labels
area:frontend
area:gui
area:transfer
area:zenoh
breaking-change
bug
correlation
deployment
documentation
duplicate
enhancement
good first issue
help wanted
invalid
keyspace-v2
netring-0.27
netring-0.28
netring-0.29
nlink-0.24
performance
priority:p0
priority:p1
priority:p2
prototype
question
redesign
rerun
research
security
sensor:logs
sensor:netlink
sensor:netring
sensor:parallax
sensor:snmp
sensor:sysinfo
sensor:systemd
v3-roadmap
wave:0
wave:1
wave:2
wave:3
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
marcpardo/zensight!609
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "logs/554-time-range-picker"
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?
Why
Completes the Logs-feed filter surface: until now the only time bound was the
live-tail pause point (an upper bound). This adds a relative time-range
picker so operators can scope the feed — and the export — to a window.
What
A pick-list in the filter panel (All time / Last 15 min / hour / 6h / 24h /
7d). Selecting a window resolves to an absolute
frombound against now anddrives two paths:
query_log_eventsnow pushesfrom=/to=selectors, sothe sensor answers from its durable store server-side (#544/#553) instead
of only what the client already buffered. This is what turns the picker into
real history depth, not just a client-side crop.
LogBundle.fromcarries the range lower bound (thelive-tail pause point stays the upper bound), so #608's export honours it too.
The picker stores only the relative selection in
SyslogFilterState(
time_range); the update handler resolves it torange_fromvianow_ms(),keeping the view a pure function of state.
has_active_filters/clearaccountfor the new field.
Verification
cargo clippy -p zensight --all-targets -D warningsclean;cargo fmt --checkclean.cargo test -p zensight— 461 lib + 152 ui pass. New:time_range_resolves_from_bound(resolution + bundle mapping) and
test_logs_time_range_picker_renders.from=/to=and routes them to the durable store(
zensight-sensor-logs/src/query.rs).Best exercised against the
just rundemo, whose durable store is enabled (#606).🤖 Generated with Claude Code