A standalone Go binary that analyzes StackRox Sensor Prometheus metrics using declarative TOML rule files.
- 🎮 Interactive TUI: Beautiful terminal UI with keyboard navigation (powered by Bubble Tea)
- 📊 Load-Aware Analysis: Automatically detects cluster load level (low/medium/high) and adjusts thresholds accordingly
- 🔗 Correlation Rules: Rules can reference other metrics for intelligent status evaluation
- 🏷️ ACS Versioning: Rules specify supported ACS versions and are filtered automatically
- 📝 Template-Based Reports: Markdown reports generated from templates
- 🖥️ Console Output: Default colorful console output with tables
make build
⚠️ Note: Flags must come BEFORE the metrics file!
# Launch interactive terminal UI
./bin/metrics-analyzer analyze --format tui --rules ./automated-rules metrics.txtTUI Features:
- Navigate results with
↑/↓orj/kkeys - Press
Enterto view detailed information - Filter by status with
1-4keys (All/Red/Yellow/Green) - Search with
/key - Press
?for help
# Analyze metrics (console output - default)
./bin/metrics-analyzer analyze metrics.txt
# Analyze with custom rules directory
./bin/metrics-analyzer analyze --rules ./automated-rules metrics.txt
# Generate markdown report
./bin/metrics-analyzer analyze --format markdown --output report.md metrics.txt
# Override load level
./bin/metrics-analyzer analyze --load-level high metrics.txt
# Specify ACS version
./bin/metrics-analyzer analyze --acs-version 4.8 metrics.txt# Validate rules (defaults to current directory)
./bin/metrics-analyzer validate
# Validate rules in specific directory
./bin/metrics-analyzer validate ./automated-rules
# List all rules
./bin/metrics-analyzer list-rules| Key | Action |
|---|---|
↑/k, ↓/j |
Navigate up/down |
Enter/→ |
View details |
←/Esc |
Go back |
g/Home |
Go to top |
G/End |
Go to bottom |
PgUp/PgDn |
Page up/down |
/ |
Search/filter |
1-4 |
Filter by status (All/Red/Yellow/Green) |
? |
Toggle help |
q |
Quit |
sensor-metrics-analyzer-go/
├── cmd/metrics-analyzer/ # CLI entry point
├── internal/
│ ├── parser/ # Prometheus metrics parser
│ ├── rules/ # TOML rule loader and validator
│ ├── loadlevel/ # Load level detection engine
│ ├── evaluator/ # Rule evaluation logic
│ ├── reporter/ # Report generation (markdown/console)
│ └── tui/ # Interactive terminal UI (Bubble Tea)
├── automated-rules/ # TOML rule definitions
└── templates/ # Report templates
# Unit tests
make test
# Integration test (compare with Python output)
python3 analyze_metrics_full.py metrics.txt > /tmp/python-output.txt
./bin/metrics-analyzer analyze --format markdown --output /tmp/go-report.md metrics.txt
go run testdata/compare_outputs.go /tmp/python-output.txt /tmp/go-report.mdThis project uses VHS for recording terminal demos.
See the demo/ folder for scripts and instructions.
# Install VHS
brew install vhs
# Record demos
cd demo
vhs demo.tape # Full TUI demo
vhs demo-cli.tape # CLI mode demo
# Publish to charm servers
vhs publish demo.gifBuilt with:
- Bubble Tea - TUI framework
- Lip Gloss - Style definitions
- Bubbles - TUI components
- go-pretty - Table formatting
Apache 2.0 - See LICENSE for details.

