Skip to content

matutetandil/queuepeek

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

85 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

queuepeek

A terminal UI for inspecting and managing message queues across RabbitMQ, Kafka, and MQTT.

Rust License Buy Me A Coffee

What it does

Browse queues, read messages, publish, diff, dump, replay, and manage your brokers β€” all from the terminal. Wizard-style drill-down flow: Profiles -> Queues -> Messages -> Detail.

Highlights

  • Multi-broker β€” RabbitMQ (Management API), Kafka (librdkafka), MQTT (rumqttc)
  • Non-destructive peek β€” RabbitMQ uses ack_requeue_true; Kafka uses ephemeral consumers
  • Message operations β€” publish, copy, move, delete, export, import, diff, replay
  • Multi-select β€” bulk operations on selected messages with visual checkboxes
  • Smart decode β€” JSON/XML pretty-print, base64/gzip auto-decode, Avro via Schema Registry, Protobuf raw decode
  • Exchange management β€” browse, create, delete exchanges and bindings (RabbitMQ)
  • Queue management β€” purge, delete, compare queues, topology view, consumer groups
  • Payload search β€” vim-style / search with n/N navigation and highlighted matches
  • Monitoring β€” sparklines, auto-refresh, tail mode, webhook alerts with regex matching
  • Pretty export β€” Shift+E exports JSON with fully indented nested bodies
  • File browser β€” directory navigation popup for export and import operations
  • Benchmarking β€” concurrent flood-publish with p50/p95/p99 latency percentiles
  • DLQ workflows β€” x-death header parsing, one-click re-route to original exchange
  • 5 color themes β€” with live preview picker
  • Scheduling β€” delayed message publishing with persistent timers

Install

Pre-built binaries

Download from GitHub Releases β€” available for macOS (ARM/Intel), Linux (x86), and Windows (x86/ARM). For Linux ARM, install via cargo install or build from source.

From crates.io

# Requires cmake for librdkafka
cargo install queuepeek

From source

git clone https://github.com/matutetandil/queuepeek.git
cd queuepeek && cargo build --release
./target/release/queuepeek

Updating

queuepeek checks for updates automatically. When a new version is available, a hint appears in the status bar β€” press Shift+U to update in place.

Configuration

# ~/.config/queuepeek/config.toml

[profiles.local]
type     = "rabbitmq"
host     = "localhost"
port     = 15672
username = "guest"
password = "guest"
vhost    = "/"

[profiles.kafka-dev]
type     = "kafka"
host     = "localhost"
port     = 9092

[profiles.kafka-dev.schema_registry]
url      = "http://localhost:8081"

See the full configuration guide for TLS, MQTT topics, webhook alerts, templates, and more.

Keyboard shortcuts

Key Queue list Message list Detail Exchanges
j/k Navigate Navigate Scroll Navigate
Enter Open queue Open message β€” Expand/collapse
/ Filter Filter Search payload Filter
Shift+P Publish Publish β€” β€”
p β€” β€” Pretty-print β€”
b β€” β€” Base64/gzip decode Create binding
s β€” β€” Schema Registry decode β€”
e/Shift+E β€” Export / pretty β€” β€”
Space β€” Toggle select β€” β€”
i Queue info β€” β€” Exchange info
Shift+G Consumer groups β€” β€” β€”
Shift+X Exchange mgmt β€” β€” β€”
a β€” β€” β€” Create exchange
Shift+D Delete queue Delete selected β€” Delete exchange
d β€” Diff two msgs β€” Delete binding
F5 Benchmark β€” β€” β€”
n/Shift+N β€” β€” Next/prev match β€”
f Fetch preset (persistent) Fetch preset (persistent) β€” β€”
Shift+F Load N once Load N once β€” β€”
? Help Help Help Help
Esc Back Back/clear Back Back to queues
Ctrl+Q Quit Quit Quit Quit

See the full keyboard reference for all shortcuts.

Documentation

  • Configuration β€” profiles, TLS, Schema Registry, webhooks, templates
  • Keyboard shortcuts β€” complete key reference per screen
  • Backends β€” RabbitMQ, Kafka, MQTT details and operation matrix
  • Features β€” deep dive into every feature
  • Architecture β€” codebase structure and design patterns

Tech stack

ratatui | crossterm | rdkafka | rumqttc | reqwest | apache-avro

Support

If queuepeek saves you time, you can buy me a coffee β˜•

License

MIT

About

A terminal UI for inspecting, managing, and debugging message queues across RabbitMQ, Kafka, and MQTT brokers

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages