OBSERVERTC / Client Monitor
Telemetry detectors
State changes and collection-health events.
ICE TraversalReports changes to the selected ICE tuple set.
Class
What it collects
The selected ICE tuple set and its previous value.
What it observes
selected tuple set changes
State and reset behavior
remembers tuple set; no first-observation change event; no issue
Example
The selected network tuple changes after its initial observation.
ICE RestartTracks ICE restarts and their outcomes.
Class
What it collects
Local ICE username-fragment changes and restart outcome.
What it observes
local ICE username fragment changes, restart outcome
State and reset behavior
per-transport generation/pending state; createEvent true
Example
A new local ICE username fragment starts a new restart generation.
ICE Restart RecommendationRecommends an ICE restart when connectivity is unhealthy.
Class
IceRestartRecommendationDetector
What it collects
Failed, disconnected, stalled or never-established connectivity, plus cooldown state.
What it observes
failed, disconnected/stalled≥10000 ms, or never-established≥10000 ms
State and reset behavior
cooldown 15000 ms; pending restart gates; recommendation event, does not itself restart ICE
Example
Connectivity remains unhealthy long enough to recommend a restart; the application chooses whether to act.
Capture Track MutedReports when a capture track becomes muted.
Class
What it collects
Changes in a previously observed capture track’s muted state.
What it observes
previously known unmuted→muted transition
State and reset behavior
track muted state; createEvent true; distinct from application mute
Example
A capture track changes from unmuted to muted.
Codec ChangeReports changes to codec configuration.
Class
What it collects
Codec MIME type and FMTP signatures.
What it observes
MIME/FMTP change
State and reset behavior
previous codec signature; first value establishes baseline
Example
A previously observed stream changes its codec configuration.
Video Resolution ChangeReports changes to video frame dimensions.
Class
What it collects
Positive frame width and height, stream direction and outbound limitation context.
What it observes
positive frame width/height changes
State and reset behavior
prior geometry; includes direction and outbound limitation context
Example
An observed video stream changes from 1280×720 to 640×360.
Simulcast LayerReports changes to the active simulcast layers.
Class
What it collects
The set of actively sending encoding-layer keys.
What it observes
set of actively sending layer keys changes
State and reset behavior
multiple encoding requirement; paused/end reset
Example
A simulcast stream stops sending one of its active layers.
Stats GapReports unusually long gaps between stats collections.
Class
What it collects
Actual and expected intervals between stats collections.
What it observes
actual collection period >2×expected AND >5000 ms
State and reset behavior
prior collection start time; no issue, createEvent true
Example
A normally five-second collection cycle takes more than ten seconds.
Source files are preserved in the detector implementation reference and client-monitor-js/docs/TELEMETRY_DETECTORS.md. Telemetry can have thresholds (StatsGap and restart recommendations); prose saying it has none is too broad.