Skip to content

monitor_events.py

Purpose: Real-time TUI monitoring of detector event data

Use case: Inspecting events during measurement, visualizing hit patterns, monitoring sensor data

Features:

  • Watches a directory and auto-detects new JSONL event files
  • Event Display: latest event with detector hit pattern and BME280 sensor data
  • Statistics: total event count, hit-type breakdown, event rate
  • Event Stream: last 10 JSONL lines received
  • Keyboard shortcuts: q to quit, r to reset statistics

Usage:

# Basic usage
uv run examples/monitor_events.py ./2026-03-20/

# Watch with a custom file pattern
uv run examples/monitor_events.py ./2026-03-20/ --pattern "run_*.jsonl"

# Test without hardware: generate random events then monitor
uv run kazunoko generate random > ./2026-03-20/events.jsonl
uv run examples/monitor_events.py ./2026-03-20/ --pattern "events.jsonl"

# Replay pre-recorded events then monitor
uv run kazunoko generate data.jsonl > ./2026-03-20/events.jsonl
uv run examples/monitor_events.py ./2026-03-20/ --pattern "events.jsonl"

CLI Options:

Option Default Description
READ_FROM (required) Directory to monitor
--pattern events*.jsonl Glob pattern for event files
--poll-interval 1.0 Polling interval in seconds for file change detection
--log-level error Log level (debug/info/error)