Skip to content

a3mc/abracadabra

Repository files navigation

abracadabra

Solana Alpenglow validator log analyzer — terminal UI

ci license rustc


Build

# with logfile
cargo build --release
./target/release/abracadabra path/to/validator.log

# with reading from journal assuming your unit is called solana
./target/release/abracadabra --unit solana.service
# or with last N hours/minutes
./target/release/abracadabra --unit solana.service --since "1 hour ago"
./target/release/abracadabra --unit solana.service --since "2 hours ago"
./target/release/abracadabra --unit solana.service --since "30 min ago"

--since bounds the historical scan only; the Live tab follows from "now" once tailing starts, regardless of the --since window. Journal mode requires journalctl on PATH and runs Linux-only.

Or grab a prebuilt binary from Releases — Linux gnu (glibc ≥ 2.35) or fully-static musl.

Tour

Overview

overview

Time series

time-series

Windows

windows

Slots

slots

Leader timeouts

leader-timeouts

Alerts

alerts

Live

live

Real-time animation surface that follows an actively-written log. Hidden when the log is static (rotated / stale / no size growth). Press SPACE to start tailing, p to pause the animation, h to toggle an in-app glossary explaining every widget label and glyph. The chain pane and tx-pressure chart are animation-heavy — a stable network link gives the smoothest experience over SSH.

Keys

17 / Tab / Shift+Tab Switch tabs (forward / back)
j / k · / · PgDn / PgUp · g / G · Home / End Scroll
SPACE Live — start / stop tailing
p Live — pause / resume animation
h Live — toggle in-app glossary
t n p Slots filter — TCL / S2N / S2S
l f s Slots filter — leader / fast-finalize / slow-finalize
v c Slots filter — VSKIP (we voted skip) / CSKIP (canonical skip). Both on = union.
x Slots — clear filters
y Alerts — yank to /tmp/abracadabra-yank-N.txt
q / Esc Quit

Flags

--bucket <DUR>      Time-series bucket size  (default 10m, range 1m..=24h)
--text              Non-interactive summary instead of the TUI
--no-truecolor      Force the 256-colour ANSI fallback. Use on terminals
                    that report 256-colour support but do not implement
                    the SGR 38;2;R;G;B sequence (notably macOS Terminal.app).
                    Auto-detected via COLORTERM / TERM_PROGRAM / TERM at
                    startup, so this flag is only needed when the
                    environment lies about the terminal's capabilities.
--force-truecolor   Skip the env-var detection ladder and force 24-bit RGB.
                    Mutually exclusive with --no-truecolor. Use on capable
                    terminals whose COLORTERM was stripped by SSH.
--version           Print version
--help              Print full help

License

Dual-licensed under either MIT or Apache-2.0 at your option.

Built by ART3MIS.CLOUD.

About

Eye protection screen for Solana Alpenglow validator logs - terminal UI

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages