Watch Mode

Monitor your FinOps findings in real-time with trend sparklines and change detection.

Usage

sofe watch                    # live refresh every 5 minutes
sofe watch --once             # show status once and exit
sofe watch --interval 30s     # refresh every 30 seconds
sofe watch --interval 1h      # refresh every hour

Output

╭─────────────────────────────────────────╮
│                                         │
│  SOFE Watch  live                       │
│                                         │
│  Findings:  48  ▅▅▅▅▅▅▅  (stable)      │
│  Last:      2026-07-10T06:00            │
│  Resources: 64                          │
│  Changes:   -2 fixed since last         │
│                                         │
│  Refreshing every 5m0s • Ctrl+C to exit │
│                                         │
╰─────────────────────────────────────────╯

Sparkline Trend

The sparkline shows findings count over the last 7 evaluations. Trends are detected automatically:

TrendMeaning
stableFindings count unchanged (±2)
improving ↓Findings decreasing (fixing issues)
degrading ↑Findings increasing (new issues appearing)

Change Detection

Watch compares the latest evaluation with the previous one and shows:

  • +N new — new findings that appeared
  • -N fixed — findings that were resolved
  • no change — same findings as before

For detailed diff, use sofe diff.

Use Cases

Dashboard display

Run on a wall monitor to show FinOps health.

sofe watch --interval 5m

Quick check

See current status without live refresh.

sofe watch --once

Post-deploy monitoring

Watch after deploying infra changes.

sofe watch --interval 30s

CI/CD gate

Use --once in scripts for status.

sofe watch --once | grep "degrading" && exit 1