Skip to content

Crash Analytics & Query Monitoring

Pulsabase includes a built-in crash analytics and query monitoring system powered by ClickHouse — no third-party service required. Every API request is automatically instrumented, and errors are grouped, trended, and available directly from the Dashboard.

Pulsabase instruments every request through pulsabase-core and pulsabase-edge via OpenTelemetry (OTLP). The data pipeline is:

pulsabase-core / pulsabase-edge
└── OTLP gRPC → pulsabase-metrics-writer → ClickHouse

Successful queries and errors are written to separate tables optimized for analytics (high-ingestion OLAP workloads).

CategorySourceDescription
QUERY_ERRORpulsabase-coreDatabase query failures (SQL errors, timeouts, bad DSL)
VALIDATION_ERRORpulsabase-coreInput validation failures before query execution
AUTH_ERRORpulsabase-idp / pulsabase-authAuthentication/authorization failures (invalid JWT, expired token, RLS denied)
STORAGE_ERRORpulsabase-storageFile upload/download errors, ACL policy denials
EDGE_ERRORpulsabase-edgeEdge function runtime errors (step failures, timeouts, HTTP errors in steps)
SCHEMA_ERRORpulsabase-coreSchema sync failures

Dashboard → Query Analytics → Crash Analytics shows:

  • Error rate over time (last 1h / 24h / 7d / 30d)
  • Top issues — errors grouped by fingerprint (error type + message + stack trace)
  • Issue list with:
    • Error message and type
    • Number of occurrences
    • Affected users (if authenticated)
    • First seen / Last seen timestamps
    • Status: unresolved / resolved / ignored

Click any issue to see:

  • Full error message and stack trace (for edge function errors)
  • Sample request payloads that triggered the error
  • User and session context
  • Error frequency chart over time
  • Breadcrumb events leading up to the error

Dashboard → Query Analytics → Queries shows:

  • Total requests, success rate, error rate
  • P50 / P95 / P99 latency by table and action
  • Slowest queries — sorted by average duration
  • Per-table breakdown: which tables are accessed most, with what actions

Dashboard → Query Analytics → Performance shows:

  • API request volume over time (per hour/day/week)
  • Query throughput (queries per second)
  • Latency heatmap
  • Anomaly detection: spikes in error rates or latency
  1. Browse Crash Analytics → Issues to find active issues
  2. Click an issue to see the detail view — request context, stack trace, affected users
  3. Once fixed, mark it as Resolved (it moves out of the active view)
  4. If the same error re-occurs, it automatically reopens the issue (“regression”)
  5. You can Ignore recurring known issues that are acceptable
Data TypeRetentionNotes
Query success metrics90 daysAggregated hourly after 7 days
Query errors / crash groups90 daysFull resolution for last 7 days
Hourly rollups1 yearFor long-term performance trending

Pulsabase does not log the content of row data in metrics. The following is never stored in the analytics pipeline:

  • Values of INSERT/UPDATE payloads
  • Row data from SELECT results
  • JWT token values

Only the following query metadata is stored: table name, action type, duration, status, error message/type, and user ID (hashed sub).