MCPcopy
hub / github.com/mudler/LocalAI / pollWebRTCStats

Function pollWebRTCStats

core/http/static/talk.js:571–606  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

569}
570
571async function pollWebRTCStats() {
572 if (!pc) return;
573 try {
574 const stats = await pc.getStats();
575 const raw = [];
576 stats.forEach((report) => {
577 if (report.type === 'inbound-rtp' && report.kind === 'audio') {
578 document.getElementById('statPacketsRecv').textContent =
579 report.packetsReceived ?? '--';
580 document.getElementById('statPacketsLost').textContent =
581 report.packetsLost ?? '--';
582 document.getElementById('statJitter').textContent =
583 report.jitter !== undefined ? (report.jitter * 1000).toFixed(1) + ' ms' : '--';
584 document.getElementById('statConcealed').textContent =
585 report.concealedSamples ?? '--';
586
587 raw.push('── inbound-rtp (audio) ──');
588 raw.push(' packetsReceived: ' + report.packetsReceived);
589 raw.push(' packetsLost: ' + report.packetsLost);
590 raw.push(' jitter: ' + (report.jitter !== undefined ? (report.jitter * 1000).toFixed(2) + ' ms' : 'N/A'));
591 raw.push(' bytesReceived: ' + report.bytesReceived);
592 raw.push(' concealedSamples: ' + report.concealedSamples);
593 raw.push(' silentConcealedSamples: ' + report.silentConcealedSamples);
594 raw.push(' totalSamplesReceived: ' + report.totalSamplesReceived);
595 raw.push(' insertedSamplesForDecel: ' + report.insertedSamplesForDeceleration);
596 raw.push(' removedSamplesForAccel: ' + report.removedSamplesForAcceleration);
597 raw.push(' jitterBufferDelay: ' + (report.jitterBufferDelay !== undefined ? report.jitterBufferDelay.toFixed(3) + ' s' : 'N/A'));
598 raw.push(' jitterBufferTargetDelay: ' + (report.jitterBufferTargetDelay !== undefined ? report.jitterBufferTargetDelay.toFixed(3) + ' s' : 'N/A'));
599 raw.push(' jitterBufferEmittedCount: ' + report.jitterBufferEmittedCount);
600 }
601 });
602 document.getElementById('statsRaw').textContent = raw.join('\n');
603 } catch (e) {
604 console.warn('Stats polling error:', e);
605 }
606}

Callers 1

startDiagnosticsFunction · 0.70

Calls 3

warnMethod · 0.80
forEachMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected