@observertc/observer-js
Advanced tools
Comparing version 0.40.26 to 0.40.27
@@ -10,2 +10,3 @@ /// <reference types="node" /> | ||
import { TurnUsageMonitor } from './monitors/TurnUsageMonitor'; | ||
import { ClientIssueMonitor } from './monitors/ClientIssueMonitor'; | ||
export type ObserverEvents = { | ||
@@ -63,2 +64,3 @@ 'newcall': [ObservedCall]; | ||
createTurnUsageMonitor(): TurnUsageMonitor; | ||
createClientIssueMonitor(): ClientIssueMonitor; | ||
get observedCalls(): ReadonlyMap<string, ObservedCall>; | ||
@@ -65,0 +67,0 @@ get observedSfus(): ReadonlyMap<string, ObservedSfu>; |
@@ -23,2 +23,3 @@ "use strict"; | ||
const TurnUsageMonitor_1 = require("./monitors/TurnUsageMonitor"); | ||
const ClientIssueMonitor_1 = require("./monitors/ClientIssueMonitor"); | ||
const logger = (0, logger_1.createLogger)('Observer'); | ||
@@ -167,2 +168,21 @@ class Observer extends events_1.EventEmitter { | ||
} | ||
createClientIssueMonitor() { | ||
if (this._closed) | ||
throw new Error('Cannot create a turn usage monitor on a closed observer'); | ||
const existingMonitor = this._monitors.get(ClientIssueMonitor_1.ClientIssueMonitor.name); | ||
if (existingMonitor) | ||
return existingMonitor; | ||
const monitor = new ClientIssueMonitor_1.ClientIssueMonitor(); | ||
const onNewCall = (call) => monitor.addCall(call); | ||
monitor.once('close', () => { | ||
this._monitors.delete(CallSummaryMonitor_1.CallSummaryMonitor.name); | ||
this.off('newcall', onNewCall); | ||
}); | ||
this._monitors.set(CallSummaryMonitor_1.CallSummaryMonitor.name, monitor); | ||
this.on('newcall', onNewCall); | ||
this.once('close', () => { | ||
monitor.close(); | ||
}); | ||
return monitor; | ||
} | ||
get observedCalls() { | ||
@@ -169,0 +189,0 @@ return this._observedCalls; |
{ | ||
"name": "@observertc/observer-js", | ||
"version": "0.40.26", | ||
"version": "0.40.27", | ||
"description": "Server Side NodeJS Library for processing ObserveRTC Samples", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
@@ -13,2 +13,3 @@ import { createLogger } from './common/logger'; | ||
import { ObservedPeerConnection } from './ObservedPeerConnection'; | ||
import { ClientIssueMonitor } from './monitors/ClientIssueMonitor'; | ||
@@ -256,2 +257,28 @@ const logger = createLogger('Observer'); | ||
public createClientIssueMonitor() { | ||
if (this._closed) throw new Error('Cannot create a turn usage monitor on a closed observer'); | ||
const existingMonitor = this._monitors.get(ClientIssueMonitor.name); | ||
if (existingMonitor) return existingMonitor as ClientIssueMonitor; | ||
const monitor = new ClientIssueMonitor(); | ||
const onNewCall = (call: ObservedCall) => monitor.addCall(call); | ||
monitor.once('close', () => { | ||
this._monitors.delete(CallSummaryMonitor.name); | ||
this.off('newcall', onNewCall); | ||
}); | ||
this._monitors.set(CallSummaryMonitor.name, monitor); | ||
this.on('newcall', onNewCall); | ||
this.once('close', () => { | ||
monitor.close(); | ||
}); | ||
return monitor; | ||
} | ||
public get observedCalls(): ReadonlyMap<string, ObservedCall> { | ||
@@ -258,0 +285,0 @@ return this._observedCalls; |
Sorry, the diff of this file is not supported yet
437558
117
9052