Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Santana Santana Title

santana is a realtime terminal data plotter for logs and numeric streams.

Demo Network

Stars Last Commit License

Build

Requires Rust 1.75+.

cargo build --release

What It Does

Pipe output like python main.py | santana and Santana will auto parse numeric streams and plot them live in the terminal.

It understands:

  • Single numeric values
  • Whitespace-separated numeric rows
  • CSV rows
  • JSON objects and arrays
  • Freeform logs with numeric fields, for example:
[LOG] a=3, y=4 b:5; r 4

Usage

./target/release/santana [options]

Common pipelines

# One value per line
yes 42 | santana

# Python logs with named fields
python main.py | santana

# Freeform logs
printf '[LOG] a=3, y=4 b:5; r 4\n' | santana

# JSON
printf '{"latency":12,"cpu":45}\n' | santana

# Counter streams (plot deltas/s)
./examples/network.sh | santana --title "Network" --unit B --rate

# Memory usage with fixed Y range
./examples/memory_usage.sh | santana --title "Memory" --unit % --min 0 --max 100

# Only chart fields matching a pattern
kubectl top pods --no-headers | santana --filter "cpu|memory"

Options

  -t, --title TEXT      Chart title [default: santana]
  -m, --mode TEXT       line, bar, spark, overlay, or split [default: line]
  -u, --unit TEXT       Unit label (e.g. MB/s, %)
      --min FLOAT       Fixed Y axis minimum
      --max FLOAT       Fixed Y axis maximum
      --log-scale       Logarithmic Y axis
      --history INT     Samples to keep per stream [default: 120]
      --fps INT         UI refresh rate [default: 16]
  -r, --rate            Plot deltas per second for counters
      --filter REGEX    Only capture fields whose keys match this pattern
      --theme TEXT      Color theme: dark, light, solarized, nord [default: dark]

Interactive keys

Key Action
q / Esc Quit
m Cycle chart mode (line → bar → spark → overlay → split)
r Toggle rate mode (delta/s)
Space Pause / resume data ingestion
+ / - Zoom in / out
, / . Pan left / right through history
/ Select stream
t Toggle selected stream visibility
y Lock / unlock Y-axis scale
? Help overlay
Ctrl+L Force redraw

About

Real-time terminal data plotter for logs and numeric streams [mirror]

Topics

Resources

Stars

13 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages