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.

