Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ on:
push:
branches:
- master
- develop
pull_request:
branches:
- master
Expand Down
2 changes: 1 addition & 1 deletion etc/model-generator/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "model-generator-for-observer-js",
"version": "1.0.0",
"version": "1.0.0-beta.3",
"description": "Simple NodeJS to generate Models for observer-js",
"main": "index.js",
"scripts": {
Expand Down
50 changes: 8 additions & 42 deletions src/ObservedCall.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,21 +52,6 @@ export class ObservedCall<AppData extends Record<string, unknown> = Record<strin
public totalAddedClients = 0;
public totalRemovedClients = 0;

public totalClientsReceivedAudioBytes = 0;
public totalClientsReceivedVideoBytes = 0;
public totalClientsReceivedDataChannelBytes = 0;
public totalClientsReceivedBytes = 0;

public totalClientsSentAudioBytes = 0;
public totalClientsSentDataChannelBytes = 0;
public totalClientsSentVideoBytes = 0;
public totalClientsSentBytes = 0;

public totalRttLt50Measurements = 0;
public totalRttLt150Measurements = 0;
public totalRttLt300Measurements = 0;
public totalRttGtOrEq300Measurements = 0;

public numberOfIssues = 0;
public numberOfPeerConnections = 0;
public numberOfInboundRtpStreams = 0;
Expand All @@ -76,10 +61,10 @@ export class ObservedCall<AppData extends Record<string, unknown> = Record<strin
public maxNumberOfClients = 0;
public deltaNumberOfIssues = 0;

public deltaRttLt50Measurements = 0;
public deltaRttLt150Measurements = 0;
public deltaRttLt300Measurements = 0;
public deltaRttGtOrEq300Measurements = 0;
// public deltaRttLt50Measurements = 0;
// public deltaRttLt150Measurements = 0;
// public deltaRttLt300Measurements = 0;
// public deltaRttGtOrEq300Measurements = 0;

public appData: AppData;
public closed = false;
Expand Down Expand Up @@ -177,6 +162,10 @@ export class ObservedCall<AppData extends Record<string, unknown> = Record<strin
if (this.closed) throw new Error(`Call ${this.callId} is closed`);
if (this.observedClients.has(settings.clientId)) throw new Error(`Client with id ${settings.clientId} already exists`);

if (!settings.closeClientIfIdleForMs) {
settings.closeClientIfIdleForMs = this.observer.config.closeClientIfIdleForMs;
}

const result = new ObservedClient<ClientAppData>(settings, this);
const wasEmpty = this.observedClients.size === 0;
const onUpdate = () => this._onClientUpdate(result);
Expand Down Expand Up @@ -247,32 +236,9 @@ export class ObservedCall<AppData extends Record<string, unknown> = Record<strin
this.emit('update');

this.deltaNumberOfIssues = 0;
this.deltaRttLt50Measurements = 0;
this.deltaRttLt150Measurements = 0;
this.deltaRttLt300Measurements = 0;
this.deltaRttGtOrEq300Measurements = 0;
}

private _onClientUpdate(client: ObservedClient) {
this.totalClientsReceivedAudioBytes += client.deltaReceivedAudioBytes;
this.totalClientsReceivedVideoBytes += client.deltaReceivedVideoBytes;
this.totalClientsReceivedDataChannelBytes += client.deltaDataChannelBytesReceived;
this.totalClientsReceivedBytes += client.deltaTransportReceivedBytes;
this.totalClientsSentAudioBytes += client.deltaSentAudioBytes;
this.totalClientsSentVideoBytes += client.deltaSentVideoBytes;
this.totalClientsSentDataChannelBytes += client.deltaDataChannelBytesSent;
this.totalClientsSentBytes += client.deltaTransportSentBytes;

this.deltaRttLt50Measurements += client.deltaRttLt50Measurements;
this.deltaRttLt150Measurements += client.deltaRttLt150Measurements;
this.deltaRttLt300Measurements += client.deltaRttLt300Measurements;
this.deltaRttGtOrEq300Measurements += client.deltaRttGtOrEq300Measurements;

this.totalRttLt50Measurements += client.deltaRttLt50Measurements;
this.totalRttLt150Measurements += client.deltaRttLt150Measurements;
this.totalRttLt300Measurements += client.deltaRttLt300Measurements;
this.totalRttGtOrEq300Measurements += client.deltaRttGtOrEq300Measurements;

this.deltaNumberOfIssues += client.deltaNumberOfIssues;
this.numberOfIssues += client.deltaNumberOfIssues;

Expand Down
10 changes: 10 additions & 0 deletions src/ObservedCallEventMonitor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import { ObservedMediaSource } from './ObservedMediaSource';
import { ObservedOutboundRtp } from './ObservedOutboundRtp';
import { ObservedOutboundTrack } from './ObservedOutboundTrack';
import { ObservedPeerConnection } from './ObservedPeerConnection';
import { TrackReport } from './Reports';
import { ClientEvent, ClientIssue, ClientMetaData, ClientSample, ExtensionStat } from './schema/ClientSample';

export class ObservedCallEventMonitor<Context> {
Expand Down Expand Up @@ -122,6 +123,8 @@ export class ObservedCallEventMonitor<Context> {
public onMediaSourceAdded?: (mediaSource: ObservedMediaSource, ctx: Context) => void;
public onMediaSourceRemoved?: (mediaSource: ObservedMediaSource, ctx: Context) => void;

public onTrackReport?: (trackReport: TrackReport, ctx: Context) => void;

private _onCallAdded(call: ObservedCall) {
const onCallEmpty = () => this.onCallEmpty?.(call, this.context);
const onCallNotEmpty = () => this.onCallNotEmpty?.(call, this.context);
Expand Down Expand Up @@ -154,6 +157,7 @@ export class ObservedCallEventMonitor<Context> {
const onUserMediaError = (error: string) => this._onUserMediaError(observedClient, error);
const onClientUpdated = (...args: ObservedClientEvents['update']) => this.onClientUpdated?.(observedClient, args[0], this.context);
const onClientEvent = (event: ClientEvent) => this.onClientEvent?.(observedClient, event, this.context);
const onTrackReport = (trackReport: TrackReport) => this._onTrackReport(observedClient, trackReport);

observedClient.once('close', () => {
observedClient.off('newpeerconnection', this._onPeerConnconnectionAdded);
Expand All @@ -166,6 +170,7 @@ export class ObservedCallEventMonitor<Context> {
observedClient.off('usingturn', onUsingTurn);
observedClient.off('update', onClientUpdated);
observedClient.off('clientEvent', onClientEvent);
observedClient.off('trackreport', onTrackReport);

this.onClientClosed?.(observedClient, this.context);
});
Expand All @@ -181,6 +186,7 @@ export class ObservedCallEventMonitor<Context> {
observedClient.on('extensionStats', onClientExtensionStats);
observedClient.on('update', onClientUpdated);
observedClient.on('clientEvent', onClientEvent);
observedClient.on('trackreport', onTrackReport);

this.onClientAdded?.(observedClient, this.context);
}
Expand Down Expand Up @@ -389,4 +395,8 @@ export class ObservedCallEventMonitor<Context> {
private _onUsingTurn(observedClient: ObservedClient, usingTurn: boolean) {
this.onClientUsingTurn?.(observedClient, usingTurn, this.context);
}

private _onTrackReport(client: ObservedClient, trackReport: TrackReport) {
this.onTrackReport?.(trackReport, this.context);
}
}
Loading
Loading