Ship Webhook Traces to Grafana, New Relic, and Honeycomb with One Click
Hookbase now exports webhook delivery traces and metrics to your existing observability stack via OpenTelemetry. See your webhook pipeline health in Grafana, New Relic, Honeycomb, or Axiom — no collector required.
The Visibility Gap
You have built a webhook pipeline. Stripe sends payment events to Hookbase, Hookbase transforms them and delivers to your API. It works. But when something goes wrong at 2 AM, where do you look?
Your application metrics live in Grafana. Your error tracking is in New Relic. Your team's alerting runs through PagerDuty. But your webhook delivery data? That is in a completely separate dashboard that nobody has bookmarked.
This is the visibility gap. Webhook infrastructure sits between your providers and your application, but it is invisible to the tools your team already watches.
Observability Export
Today we are shipping Observability Export — native OpenTelemetry support that sends webhook delivery traces and metrics directly to your existing observability stack. No collector to run. No agent to install. Just configure an endpoint and your webhook data shows up alongside everything else.
What Gets Exported
Hookbase instruments two stages of every webhook:
Ingest — when a webhook arrives:
hookbase.ingesttrace span with durationhookbase.events.receivedcounterhookbase.ingest.payload_bytesgaugehookbase.ingest.duration_msgauge
Delivery — when the webhook reaches your destination:
hookbase.deliverytrace span with HTTP statushookbase.delivery.latency_msgaugehookbase.delivery.success/hookbase.delivery.failurecountershookbase.delivery.retrycounter
Both spans share a traceId, so you can trace the full journey from webhook received to delivery completed in a single trace view.
What Does Not Get Exported
Payload data. Webhook payloads can contain API keys, PII, payment details — sensitive data that should not end up in a third-party observability tool. We export only metadata: IDs, status codes, timing, and attempt counts.
Supported Providers
We support any platform that accepts OTLP/HTTP JSON — which is most modern observability tools:
| Provider | Setup | |----------|-------| | Grafana Cloud | OTLP gateway endpoint + Basic auth | | New Relic | OTLP endpoint + License ingest key | | Honeycomb | API endpoint + team API key | | Axiom | API endpoint + Bearer token | | Custom OTLP | Any endpoint + custom headers |
Each provider auto-fills the correct endpoint and auth header format when you select it in the setup dialog.
How It Works Under the Hood
Cloudflare Workers cannot run the standard OpenTelemetry SDK. There is no long-running process, no gRPC support, no background threads. So we built a lightweight alternative:
- A
TelemetryCollectorclass buffers spans and metrics in memory during request processing - At the end of each request, the collector formats everything as OTLP/HTTP JSON
- The formatted payload is sent via
ctx.waitUntil()— fire-and-forget, never blocking the webhook response - Each export has a 5-second timeout
- If an endpoint fails 10 times consecutively, it auto-disables
Active configs are cached in Cloudflare KV for 60 seconds, so the database is not hit on every webhook.
Setup in 60 Seconds
1. Go to Settings
Navigate to Settings and click the Observability tab.
2. Add an Export
Click Add Export, select your provider, and paste your credentials. The endpoint auto-fills based on provider.
3. Test the Connection
Click the Test button. Hookbase sends a test span to your endpoint and confirms it was accepted.
4. Send a Webhook
That is it. The next webhook through your pipeline will generate traces and metrics in your observability tool.
Querying Your Data
Grafana Cloud
Go to Explore, select Tempo as the data source, search for service name hookbase. You will see hookbase.ingest and hookbase.delivery spans with full timing breakdown.
New Relic
Run this NRQL query:
SELECT * FROM Span WHERE service.name = 'hookbase' SINCE 1 hour ago
Honeycomb
Look for the hookbase dataset on your home screen and open the Query tab to explore spans.
Sampling and Filtering
Not every webhook needs full observability. Two controls help manage data volume:
Sampling rate (Pro + Business) — set between 1% and 100%. At 10%, roughly 1 in 10 webhooks exports telemetry. Useful for high-volume pipelines where you want trends without full fidelity.
Resource filtering (Business only) — select specific sources or routes to export. Focus observability on your critical payment webhooks without paying for telemetry on every GitHub push notification.
Plan Availability
| | Pro | Business | |---|---|---| | Export configs | 2 | 10 | | Traces | Yes | Yes | | Metrics | Yes | Yes | | Logs | No | Yes | | Resource filtering | No | Yes |
What is Next
This is the foundation. We are exploring:
- Log export with optional sanitized payload snippets for Business plans
- Custom span attributes so you can tag traces with your own metadata
- Alerting rules that trigger based on exported metrics thresholds
- Dashboard templates — pre-built Grafana and New Relic dashboards for webhook monitoring
Observability Export is available now for all Pro and Business users. Head to Settings > Observability to connect your first endpoint, or check out the documentation for the full setup guide.