@observertc/client-monitor-js
Version:
ObserveRTC Client Integration Javascript Library
67 lines (66 loc) • 2.04 kB
TypeScript
export type AppliedClientMonitorConfig = {
clientId?: string;
callId?: string;
bufferingEventsForSamples?: boolean;
collectingPeriodInMs: number;
samplingPeriodInMs?: number;
integrateNavigatorMediaDevices: boolean | MediaDevices;
addClientJointEventOnCreated?: boolean;
addClientLeftEventOnClose?: boolean;
videoFreezesDetector: {
disabled?: boolean;
createIssue?: boolean;
};
dryInboundTrackDetector: {
disabled?: boolean;
createIssue?: boolean;
thresholdInMs: number;
};
dryOutboundTrackDetector: {
disabled?: boolean;
createIssue?: boolean;
thresholdInMs: number;
};
playoutDiscrepancyDetector: {
disabled?: boolean;
createIssue?: boolean;
lowSkewThreshold: number;
highSkewThreshold: number;
};
syntheticSamplesDetector: {
disabled?: boolean;
createIssue?: boolean;
minSynthesizedSamplesDuration: number;
};
audioDesyncDetector: {
disabled?: boolean;
createIssue?: boolean;
fractionalCorrectionAlertOnThreshold: number;
fractionalCorrectionAlertOffThreshold: number;
};
congestionDetector: {
disabled?: boolean;
createIssue?: boolean;
sensitivity: 'low' | 'medium' | 'high';
};
cpuPerformanceDetector: {
disabled?: boolean;
createIssue?: boolean;
fpsVolatilityThresholds: {
lowWatermark: number;
highWatermark: number;
};
durationOfCollectingStatsThreshold: {
lowWatermark: number;
highWatermark: number;
};
};
longPcConnectionEstablishmentDetector: {
disabled?: boolean;
createIssue?: boolean;
thresholdInMs: number;
};
appData?: Record<string, unknown>;
};
export type ClientMonitorConfig = Partial<AppliedClientMonitorConfig>;
export type ClientMonitorSourceType = 'mediasoup-device' | 'RTCPeerConnection' | 'mediasoup-transport';