perfdeck

command module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2026 License: MIT Imports: 5 Imported by: 0

README ΒΆ

πŸ“Š perfdeck

A modern, lightweight, and customizable TUI performance monitor for your terminal.

Go Reference Go Report Card CI Release

Features β€’ Installation β€’ Usage β€’ Configuration β€’ Contributing


πŸ’‘ Why perfdeck?

Traditional performance monitors often overwhelm users with information or lack the flexibility to show exactly what you need. perfdeck solves this by providing:

  • Consolidation: View output from multiple diagnostic tools (like top, vmstat, netstat) in one place.
  • Focus: A clean, tabbed interface lets you switch between different metrics without terminal clutter.
  • Visibility: Real-time sparklines provide an immediate "at-a-glance" health check of your system's core resources.
  • Flexibility: Don't like the defaults? Bring your own shell commands via a simple TOML file.

✨ Features

  • πŸš€ Blazing Fast: Written in Go with minimal CPU and memory overhead.
  • πŸ“‚ Tabbed Navigation: Organize your monitoring tools into logical, navigable views.
  • πŸ“ˆ Live Sparklines: Visual summaries for Load, CPU, Memory, and Network.
  • 🎨 Adaptive Themes: Seamlessly toggle between Light and Dark modes.
  • βš™οΈ Deeply Configurable: Custom commands, refresh intervals, and environment-specific settings.
  • 🐧 Cross-Platform: Intelligent defaults for both Linux and macOS.

πŸ“Έ Screenshots

Dark Mode (Default)

perfdeck Dark Mode

Light Mode

perfdeck Light Mode

πŸš€ Installation

πŸ“¦ Pre-built Binaries

Download the latest pre-compiled binaries from the Releases page.

πŸ› οΈ Using go install
go install github.com/sumant1122/perfdeck@latest
πŸ”¨ From Source
git clone https://github.com/sumant1122/perfdeck.git
cd perfdeck
make build
# Binary will be in the project root

πŸ“– Usage

Simply run the command to start monitoring with default system tools:

perfdeck
⌨️ Key Bindings
Key Action
Tab / Shift+Tab Next / Previous Tab
j / k (or ↓/↑) Scroll through command output
t Toggle Light/Dark theme
v Display version information
q / Esc / Ctrl+C Exit perfdeck

βš™οΈ Configuration

perfdeck is designed to be personalized. It looks for perfdeck.toml in:

  1. $PERFMON_CONFIG
  2. ~/.config/perfdeck/config.toml
  3. Current working directory
πŸ“ Configuration Schema
# Interval for updating the sparklines and default tabs
global_refresh_interval = "5s"

[[tab]]
title = "Process Explorer"
cmd = ["top", "-b", "-n", "1"]
refresh_interval = "2s" # Specific interval for this tab

[[tab]]
title = "Network Connections"
cmd = ["ss", "-tulpn"]

πŸ›  Development

We utilize a simple Makefile for a streamlined development experience:

  • make run: Start the application in development mode.
  • make build: Compile the binary.
  • make test: Execute the test suite.
  • make lint: Run the golangci-lint (if installed).

🀝 Contributing

We love contributions! Whether it's a bug report, a new feature idea, or a documentation improvement, please feel free to:

  1. Check out the Contributing Guidelines.
  2. Open an Issue.
  3. Submit a Pull Request.

πŸ“œ License

Distributed under the MIT License. See LICENSE for details.


Built with ❀️ using Bubble Tea

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis
internal
ui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL