Events
Wire format for telemetry events streamed from the client SDK.
Event message
{
"type": "client.events",
"clientSeq": 42,
"events": [
{
"type": "navigation",
"ts": 1704067200000,
"source": "client",
"payload": { "url": "https://example.com/dashboard", "isMainFrame": true }
}
]
}clientSeq
The clientSeq field is a monotonically increasing sequence number for deduplication. The session actor tracks the last seen clientSeq and ignores events with a lower or equal sequence number.
Event types
navigation
{ "type": "navigation", "payload": { "url": "https://example.com/page", "isMainFrame": true } }net.request
{ "type": "net.request", "payload": { "requestId": "req_1", "url": "https://api.example.com/data", "method": "GET" } }net.response
{ "type": "net.response", "payload": { "requestId": "req_1", "url": "https://api.example.com/data", "method": "GET", "status": 200, "durationMs": 150 } }console
{ "type": "console", "payload": { "level": "log", "args": ["Hello world"] } }error.uncaught
{ "type": "error.uncaught", "payload": { "message": "TypeError: Cannot read property 'x' of null", "stack": "..." } }performance
{ "type": "performance", "payload": { "entries": [{ "name": "first-contentful-paint", "entryType": "paint", "startTime": 1200, "duration": 0 }] } }Storage
Events are persisted with sequence number, timestamp, server timestamp, source, type, and JSON payload.
Next steps
- Events — Higher-level overview
- Yield to User — How events drive condition matching
Last updated on