QoS Events
Quality-of-Service telemetry events ingested by the Analytics service. Client SDKs periodically report connection quality metrics which are stored in ClickHouse for dashboarding and alerting.
Source: Analytics Service (ingested from client SDKs via REST)
Kafka Topic: qos-events
qos.report
| Field | Type | Required | Description |
|---|---|---|---|
session_id | string (uuid) | Yes | Session identifier. |
room_id | string (uuid) | Yes | Room identifier. |
user_id | string (uuid) | No | User identifier. |
tenant_id | string (uuid) | No | Tenant identifier. |
timestamp | string (date-time) | Yes | Sample timestamp. |
rtt_ms | number | No | Round-trip time in milliseconds. |
jitter_ms | number | No | Jitter in milliseconds. |
packet_loss_pct | number | No | Packet loss percentage (0-100). |
bitrate_kbps | number | No | Bitrate in kilobits per second. |
codec | string | No | Audio/video codec (e.g. opus, VP8). |
region | string | No | Geographic region of the client. |
Example Payload
{
"session_id": "550e8400-e29b-41d4-a716-446655440000",
"room_id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"user_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"tenant_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"timestamp": "2026-07-20T14:30:00Z",
"rtt_ms": 45,
"jitter_ms": 3.2,
"packet_loss_pct": 0.1,
"bitrate_kbps": 128,
"codec": "opus",
"region": "us-east-1"
}
Ingestion
Client SDKs report QoS samples via POST /v1/analytics/qos. The Analytics service validates and publishes them to the qos-events Kafka topic for downstream processing into ClickHouse.
QoS telemetry is opt-in — SDKs never report telemetry without explicit application action.