What it does
GoVisual wraps a standard Go http.Handler, captures request and middleware behavior, stores the events, and serves a local dashboard at the configured path.
GitHub repository
Open the source repo for installation, package code, tests, and release details.
System map
1
input
App Handler
Existing net/http mux
2
service
govisual.Wrap
Functional options configure capture
3
service
Middleware
Request body, response body, timings
4
storage
Store
Memory, SQL, Redis, MongoDB
5
output
OpenTelemetry
Optional trace export
6
output
Dashboard
/__viz request inspection
Selected node
App Handler
Existing net/http mux
input
Codebase read
- The public API is intentionally small: Wrap(handler, opts...) and functional options.
- Storage can be memory, Postgres, Redis, SQLite, MongoDB, or an existing SQLite connection.
- The dashboard path is intercepted before regular app traffic, so the developer tool ships inside the wrapped server.
Key snippet
handler := govisual.Wrap(
mux,
govisual.WithRequestBodyLogging(true),
govisual.WithResponseBodyLogging(true),
govisual.WithOpenTelemetry(true),
)
http.ListenAndServe(":8080", handler)Tech used
Gonet/httpOpenTelemetryRedisPostgreSQLSQLiteMongoDB
Source paths inspected
wrap.gooptions.gointernal/middlewareinternal/dashboardinternal/store
More project systems
FastAPI Radar
Real-time request, SQL query, exception, and trace dashboard for FastAPI apps.
LLMDog
Terminal UI for selecting code context and turning it into LLM-ready Markdown.
PromptPilot
Prompt versioning and A/B testing across AI providers.
GIQ
AI-enhanced Git workflow assistant that keeps normal Git semantics intact.