Home
See what your queries are doing
See who queried what, what failed, and which sources are slow. Keep a safe query history for people and agents, then send the signals to the monitoring tools you already use.
Off by default
Start quiet. Add visibility when it matters.
Pawrly can stay quiet for local experiments. When a workspace is shared with teammates, scripts, or agents, turn on activity history and monitoring so you can see what ran, where it came from, and whether it worked.
enable
# inspect one runpawrly --log-format json sql "SELECT 1" # watch a shared workspacepawrly --otel-endpoint http://localhost:4317 serve # expose metrics directlypawrly --prometheus-listen 127.0.0.1:9090 serveAudit
Ask what happened
When activity logging is on, every query leaves a row: who ran it, where it came from, whether it failed, how long it took, and how many rows came back. You can inspect that history with SQL instead of searching through logs.
system.activity
SELECT interface, status, count(*) AS n, avg(duration_ms) AS avg_msFROM system.activityWHERE at > now() - INTERVAL '1 hour'GROUP BY 1, 2ORDER BY n DESC;Leak-safe
Keep history without keeping secrets
Query history is useful only if it is safe to keep. Pawrly can preserve the shape of a query while removing the sensitive values inside it.
Store full SQL when you want it, replace literal values with $REDACTED, or keep only the statement type and the tables touched. Parameter values stay out of the activity log.
pawrly.yaml
observability: activity: enabled: true sinks: [tracing, table] redact_sql: literals # keep the query shape, remove values store: ~/.pawrly/activity # keep history across restarts retention: 30dExport
Use the monitoring stack you already have
Send query counts, durations, row counts, source errors, and request traces to Grafana, Datadog, or the monitoring system your team already trusts. Pawrly exports through OpenTelemetry and Prometheus when you need those integrations.
signals
queries_total{status="ok"} 1284query_duration_ms{p95="true"} 84source_requests_total{kind="http"} 942source_errors_total{source="stripe"} 3One binary. One config. Every source.
Start with one config file, then query APIs, files, MCP tools, and databases from the same command. Add MCP when you want agents to use that same workspace.