explaingit

sqshq/sampler

Analysis updated 2026-06-24

14,563GoAudience · ops devopsComplexity · 2/5Setup · easy

TLDR

Command line tool that turns shell command output into live terminal dashboards with charts, gauges, and sparklines, configured from a single YAML file.

Mindmap

mindmap
  root((sampler))
    Inputs
      YAML config
      Shell commands
      SSH sessions
    Outputs
      Runcharts
      Sparklines
      Gauges
      Barcharts
    Use Cases
      Monitor queues
      Watch database rows
      Plot CPU usage
      Alert on thresholds
    Tech Stack
      Go
      YAML
      Terminal UI
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a quick terminal dashboard for any metric a shell command can print

USE CASE 2

Watch database row counts or Kafka lag without standing up Prometheus and Grafana

USE CASE 3

Plot HTTP latency from your laptop against several endpoints in real time

USE CASE 4

Trigger a sound or follow up command when a metric crosses a threshold

What is it built with?

GoYAML

How does it compare?

sqshq/samplerowasp-amass/amassgooglecloudplatform/terraformer
Stars14,56314,54514,531
LanguageGoGoGo
Setup difficultyeasymoderatemoderate
Complexity2/53/53/5
Audienceops devopsops devopsops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Single Go binary, but you write the YAML config yourself before anything interesting shows up.

In plain English

Sampler is a small command line tool that turns the output of shell commands into live visual dashboards inside your terminal. You describe what you want to watch in a YAML file, give Sampler the path to that file, and it runs each command at a chosen interval and renders the results as charts, gauges, or text panels. It is written in Go and packaged for macOS, Linux, and Windows, with experimental support for the latter through console emulators like Cmder. The pitch is that anything you can measure with a shell command can be plotted with Sampler within seconds. Examples in the README include checking database row counts, watching how many in-flight messages a queue holds, timing HTTP requests to search engines, and counting CPU usage with ps and awk. Each item in the config has a sample command and a refresh rate in milliseconds. Several visual components are supported. A runchart draws a multi-line graph over time, a sparkline is a compact single-line trend, a barchart compares several values side by side, a gauge shows progress between a minimum and a maximum, and textbox and asciibox render arbitrary text output, with asciibox using large stylized ASCII art for things like a clock. The project is explicit about what it is and is not. It is not a replacement for full monitoring stacks like Prometheus and Grafana. It is a developer tool you reach for when setting up a full monitoring system would be overkill. There are no servers, no databases, and no deploy step. Sampler can also be installed only on a local machine and pull telemetry from remote servers using an init step that opens an SSH session. Extra features include triggers, which run a follow-up action or play a sound when a metric crosses a threshold, interactive shells for things like database sessions, reusable variables, and configurable color themes. The repository ends with real-world recipe sections for databases, Kafka, Docker, SSH, and JMX.

Copy-paste prompts

Prompt 1
Write me a sampler YAML config that watches Postgres connection count and disk free space at the same time
Prompt 2
Compare sampler to Grafana and tell me when each one is the right tool
Prompt 3
Show me how sampler runs commands over SSH so I can monitor a remote server from my laptop
Prompt 4
Help me add a trigger that plays a sound when a Kafka consumer lag chart crosses 1000

Frequently asked questions

What is sampler?

Command line tool that turns shell command output into live terminal dashboards with charts, gauges, and sparklines, configured from a single YAML file.

What language is sampler written in?

Mainly Go. The stack also includes Go, YAML.

How hard is sampler to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is sampler for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.