Pulsegrid / Docs
Documentation
Start with installation. Everything else is reference. The full docs are versioned alongside the agent and every page has a link to its source.
Getting started
Linux, macOS, Docker and Kubernetes.
Connect an environment2 minNaming environments so staging and production do not merge.
Your first query6 minFinding the slowest route in your busiest service.
Set up an alert5 minBaselined alerting and routing it to Slack.
Installation
# Linux, systemd curl -sSL pulsegrid.example/install | sh pulse connect --env production --key $PULSE_KEY # Kubernetes, DaemonSet via Helm helm repo add pulsegrid https://charts.pulsegrid.example helm install pulse pulsegrid/agent \ --set apiKey=$PULSE_KEY \ --set env=production # Docker Compose services: pulse: image: pulsegrid/agent:4.2 pid: "host" volumes: [/var/run/docker.sock:/var/run/docker.sock:ro] environment: [PULSE_KEY, PULSE_ENV=production]
API reference
Base URL https://api.pulsegrid.example/v2. Bearer token in the Authorization header. All responses are JSON.
| Method | Path | Does |
|---|---|---|
| POST | /query | Run SQL, returns rows and column types |
| GET | /services | List discovered services with health |
| GET | /traces/{id} | Fetch one trace with all spans |
| POST | /events | Record a deploy or custom event marker |
| GET | /alerts | List alert rules and current state |
| PUT | /alerts/{id} | Create or update a rule |
| POST | /exports | Schedule a Parquet export to your bucket |
| GET | /usage | Host count and billing period to date |
# mark a deploy so it appears on the timeline curl -X POST https://api.pulsegrid.example/v2/events \ -H "Authorization: Bearer $PULSE_KEY" \ -d '{"type":"deploy","service":"checkout","version":"4f21ac","env":"production"}'
Rate limits
| Endpoint | Solo | Team | Scale |
|---|---|---|---|
| POST /query | 60/min | 600/min | 3,000/min |
| Concurrent queries | 2 | 8 | 32 |
| Statement timeout | 30 s | 60 s | 120 s |
| POST /events | 120/min | 1,200/min | 6,000/min |
| Read endpoints | 300/min | 3,000/min | 15,000/min |
Limits return 429 with a Retry-After header. Every response carries X-RateLimit-Remaining and X-RateLimit-Reset so you can back off before hitting the wall.
Client libraries
Official. Events, queries and alert management.
@pulsegrid/nodev4.2.0Official. Same surface, promise based.
pulsegrid-pythonv4.1.8Official. Sync and async clients.
pulsegrid-rbv3.9.2Community maintained, we review releases.
Terraform providerv2.4.0Alerts, dashboards and export schedules as code.