Skip to main content

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

FieldTypeRequiredDescription
session_idstring (uuid)YesSession identifier.
room_idstring (uuid)YesRoom identifier.
user_idstring (uuid)NoUser identifier.
tenant_idstring (uuid)NoTenant identifier.
timestampstring (date-time)YesSample timestamp.
rtt_msnumberNoRound-trip time in milliseconds.
jitter_msnumberNoJitter in milliseconds.
packet_loss_pctnumberNoPacket loss percentage (0-100).
bitrate_kbpsnumberNoBitrate in kilobits per second.
codecstringNoAudio/video codec (e.g. opus, VP8).
regionstringNoGeographic 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.