System health monitoring, database metrics, RLS compliance, vector search latency, SLO tracking, and Inngest job status.
| Method | Path | Summary |
|---|---|---|
GET | /monitoring/metrics | Get real-time system metrics |
GET | /monitoring/database-metrics | Get database performance |
GET | /monitoring/rls-compliance | Check RLS policy compliance |
GET | /monitoring/vector-search-latency | Get vector search latency |
GET | /monitoring/slos | Get SLO status |
GET | /monitoring/inngest | Get Inngest job status |
{% api-endpoint method=“GET” path=“/monitoring/metrics” /%}
Get real-time system metrics
Operation ID: getSystemMetrics
Aggregates metrics from Cloudflare Analytics, Supabase, Sentry, and system health services.
System metrics
| Field | Type | Required | Description |
|---|---|---|---|
cpu_usage | number | Yes | CPU utilization percentage |
memory_usage | number | Yes | Memory utilization percentage |
disk_usage | number | Yes | Disk utilization percentage |
network_in | number | Yes | Inbound network bytes per second |
network_out | number | Yes | Outbound network bytes per second |
active_streams | integer | Yes | Currently active streams |
total_viewers | integer | Yes | Total concurrent viewers |
uptime_percentage | number | Yes | Uptime as percentage |
timestamp | string | Yes | ISO 8601 timestamp |
status | string | Yes | Values: operational, degraded, error |
{% tabs %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/api/v1/monitoring/metrics' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% tab label=“TypeScript” %}
import { WaveClient } from "@wave/sdk";
const client = new WaveClient({ apiKey: "your-api-key" });
const metrics = await client.monitoring.getMetrics();
console.log(`Status: ${metrics.status}, Active: ${metrics.active_streams}`);
{% /tab %} {% /tabs %}
{% api-endpoint method=“GET” path=“/monitoring/database-metrics” /%}
Get database performance metrics
Operation ID: getDatabaseMetrics
Database metrics from Supabase
| Field | Type | Required | Description |
|---|---|---|---|
connectionPoolSize | integer | Yes | Current pool connections |
activeQueries | integer | Yes | Currently executing queries |
avgQueryTime | number | Yes | Average query time in ms |
tableRowCounts | object | No | Row counts per table |
indexUsage | object | No | Index hit ratios |
{% tabs %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/api/v1/monitoring/database-metrics' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}
{% api-endpoint method=“GET” path=“/monitoring/rls-compliance” /%}
Check Row Level Security policy compliance
Operation ID: getRlsCompliance
RLS compliance report
| Field | Type | Required | Description |
|---|---|---|---|
compliant | boolean | Yes | Whether all tables are compliant |
totalTables | integer | Yes | - |
protectedTables | integer | Yes | Tables with RLS enabled |
violations | object[] | No | Tables missing RLS policies |
{% tabs %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/api/v1/monitoring/rls-compliance' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}
{% api-endpoint method=“GET” path=“/monitoring/vector-search-latency” /%}
Get vector search latency metrics
Operation ID: getVectorSearchLatency
Vector search performance
| Field | Type | Required | Description |
|---|---|---|---|
p50 | number | Yes | 50th percentile (ms) |
p95 | number | Yes | 95th percentile (ms) |
p99 | number | Yes | 99th percentile (ms) |
avg | number | Yes | Average latency (ms) |
sampleSize | integer | Yes | Number of queries |
{% tabs %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/api/v1/monitoring/vector-search-latency' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}
{% api-endpoint method=“GET” path=“/monitoring/slos” /%}
Get SLO status and error budget
Operation ID: getSloStatus
SLO status
| Field | Type | Required | Description |
|---|---|---|---|
slos | object[] | Yes | Array of SLO objects |
Each SLO:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | SLO name |
target | number | Yes | Target percentage |
current | number | Yes | Current percentage |
errorBudget | number | Yes | Remaining error budget |
status | string | Yes | Values: healthy, warning, critical |
{% tabs %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/api/v1/monitoring/slos' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}
{% api-endpoint method=“GET” path=“/monitoring/inngest” /%}
Get Inngest background job status
Operation ID: getInngestStatus
Inngest job status
| Field | Type | Required | Description |
|---|---|---|---|
functions | object[] | Yes | Function status summaries |
queued | integer | Yes | Total queued jobs |
running | integer | Yes | Currently running jobs |
failed | integer | Yes | Recently failed jobs |
{% tabs %} {% tab label=“cURL” %}
curl -X GET 'https://api.wave.online/api/v1/monitoring/inngest' \
-H 'Authorization: Bearer YOUR_API_KEY'
{% /tab %} {% /tabs %}