jplot
jplot is a lightweight CLI tool that visualizes JSON metrics (like Go's expvar) as real-time charts directly in your terminal. It integrates with iTerm2, Kitty, and other DRCS Sixel-capable terminals to display memory stats, performance counters, and custom metrics with minimal setup.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | rs/jplot |
| Owner | rs |
| Primary language | Go |
| License | MIT — OSI-approved |
| Stars | 1.2k |
| Forks | 41 |
| Open issues | 10 |
| Latest release | v2.2.2 (2025-09-13) |
| Last updated | 2025-10-20 |
| Source | https://github.com/rs/jplot |
What jplot is
Written in Go, jplot polls HTTP endpoints for JSON responses, parses them using gojq syntax, and renders stacked line/area graphs using Sixel graphics. It supports counter differencing, markers for events, and multi-graph layouts via command-line spec syntax.
Get the jplot source
Clone the repository and explore it locally.
git clone https://github.com/rs/jplot.gitcd jplot# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Verify your terminal supports DRCS Sixel Graphics (iTerm2, Kitty, Warp); fallback rendering behavior is not documented.
- Ensure the target JSON endpoint is accessible and stable; jplot has no retry or fault-tolerance logic noted.
- Design JSON endpoints to be cheap to poll; jplot hits the URL at intervals, so expensive computations should be cached upstream.
- Use gojq syntax carefully for nested paths; malformed specs will fail silently or with unclear error messages.
- Terminal size impacts chart readability; very large or very small windows may truncate or distort graphs.
When to avoid it — and what to weigh
- Persistent Metric History Required — jplot displays live trends in the terminal only; it does not persist metrics to storage. For long-term analysis or compliance audits, use a metrics database (Prometheus, InfluxDB).
- Multi-Host or Distributed Monitoring — jplot is a single-endpoint CLI tool. If you need to correlate metrics across multiple services or datacenters, a centralized monitoring stack is required.
- Non-JSON or Non-HTTP Sources — jplot expects JSON over HTTP(S). If your metrics come from syslog, SNMP, or binary protocols, pre-processing or a different tool is needed.
- Terminal-Agnostic Deployment — Sixel graphics support is not universal. Older terminals, SSH-only environments, or CI/CD logs may not render charts correctly or at all.
License & commercial use
MIT License: permissive, allows commercial use, modification, and distribution with attribution and liability waiver.
MIT is a permissive OSI license suitable for commercial use. No proprietary restrictions noted. Review your organization's open-source policy for any internal or resale scenarios, but nothing in the license prevents commercial deployment.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Good |
| Assessment confidence | High |
Exposure to untrusted JSON endpoints may pose parsing or DoS risk; jplot is a simple CLI consumer with no documented input sanitization. HTTPS support not explicitly confirmed. Runs locally with user permissions; no privilege escalation noted. Endpoint credentials (basic auth, tokens) handling is not documented.
Alternatives to consider
Prometheus + Grafana
Full-stack, persistent, multi-host metrics with rich dashboards and alerting; overkill for local dev but gold standard for production.
Datadog / New Relic
SaaS monitoring with real-time dashboards, but introduces vendor lock-in and cost; suitable for teams without ops infrastructure.
go tool pprof
Native Go profiling for CPU and memory; CPU-focused, not real-time charting. Better for deep profiling, not ongoing metrics visualization.
Build on jplot with DEV.co software developers
jplot makes it easy to visualize expvar and custom JSON metrics in your terminal without external dashboards. Start with `brew install rs/tap/jplot` or `go install github.com/rs/jplot@latest` and point it at your metrics endpoint.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
jplot FAQ
Does jplot store or export metrics?
Can I use jplot over SSH?
How do I graph custom application metrics?
What is the polling interval?
Custom software development services
Need help beyond evaluating jplot? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source observability integrations — and maintain them long-term.
Ready to Monitor Your Go Services Locally?
jplot makes it easy to visualize expvar and custom JSON metrics in your terminal without external dashboards. Start with `brew install rs/tap/jplot` or `go install github.com/rs/jplot@latest` and point it at your metrics endpoint.