Skip to content

Tags: ObserveRTC/client-monitor-js

Tags

3.11.0

Toggle 3.11.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
3.11.0 (#34)

## 3.11.0

* Added `durationOfCollectingStatsInMs` to the `stats-collected` event.
* Set the default sensitivity for `CongestionDetector` to `medium`.
* Changed the default value for `fractionalCorrectionAlertOnThreshold` to 0.3 in `AudioDesyncDetector`.
* Changed the default value for `fractionalCorrectionAlertOffThreshold` to 0.15 in `AudioDesyncDetector`.
* Added `FpsVolatilityModule` to the CPU Performance Detector.
* Added `StatsCollectingSkewModule` to the CPU Performance Detector.
* Made Mediasoup stats collector compatible with version 3.7.16.
* Renamed `Mediasoup[*]Surrogate` interfaces to `MediasoupStatsCollector[*]Interface`.
* Exposed the `MediasoupStatsCollectorDeviceInterface` interface.
* Fixed `ewmaRttInS` calculation in `PeerConnectionStatsCollector`.
* Added `LayersChangedDetector` for experimental purposes.
* Added `pcConnectionState` to the `PEER_CONNECTION_STATE_CHANGED` event.
* Added `fpsVolatility` as a property to `inboundRtpEntry`.

3.8.0

Toggle 3.8.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
3.8.0 (#29)

* 3.8.0

* remove detector dependent events from ClientMonitor instance as those are detector specifics
* add `StuckedInboundTrackDetector`
* change readme

3.7.0

Toggle 3.7.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
3.7.0 (#28)

* 3.7.0

* add `setUserId`
* typofix for stats
* add `VideoFreezesDetector`
* add `layers` property to outbound track stats
* add `usermediaerror` event
* add `usingTURN` property to peer conections
* add `using-turn` event to monitor
* add `sendingFractionLost` to monitor
* add `receivingFractionLost` to monitor

3.4.0

Toggle 3.4.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Develop `3.4.0` (#21)


* bugfix for `NaN` fractionLoss
* surface `monitor.storage[statsType()]` iterators to `monitor` level (e.g.: instead of (`monitor.storage.outboundRtps()` you can use `monitor.outboundRtps`)
* remove the async update for storage
* remove generator functions to surface iterators from storage

3.1.0

Toggle 3.1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Develop `3.1.0` (#17)


* use node 18
* use commonjs
* Add kind to reported tracks
* Make track bindings to SFU event-based for MediasoupStatsCollector

3.0.0

Toggle 3.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Develop version 3.0.0 (#16)

 * refactored collectors and sampler
 * `clientMontior.os` is moved to `clientMonitor.meta.operationSystem`
 * `clientMontior.engine` is moved to `clientMonitor.meta.engine`
 * `clientMontior.browser` is moved to `clientMonitor.meta.browser`
 * `clientMontior.audioInputs` is moved to `clientMonitor.meta.audioInputs`
 * `clientMontior.audioOutputs` is moved to `clientMonitor.meta.audioOutputs`
 * `clientMontior.videoInputs` is moved to `clientMonitor.meta.videoInputs`
 * `clientMonitor.alerts` is removed, `clientMonitor.audioDesyncDetector`, `clientMonitor.cpuPerformanceDetector`, and `clientMonitor.congestionDetector`
 * all `updates` fields in storage entries are moved to the entries of the `storage`
 * `metrics` field is removed `elapsedSinceLastCollectInMs` and `elapsedSinceLastSampleInMs` is added to the `stats-collected`, and `sample-created` events
 * refactored mediasoup-collector
 * add events are collected automatically 
 * simplified configuration, and detectors configurations are moved to create detectors

2.2.0

Toggle 2.2.0's commit message
add `close` event

2.1.0

Toggle 2.1.0's commit message
remove unused dependencies

2.0.0

Toggle 2.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Version 2.0.0 (#13)

### Conceptual changes

 * The ClientMonitor is no longer responsible for WebSocket connections, signaling, and transports.
 * The ClientMonitor has become responsible for the following event emissions:
	- PEER_CONNECTION_OPENED, PEER_CONNECTION_CLOSED
	- MEDIA_TRACK_ADDED, MEDIA_TRACK_REMOVED
	- ICE_CONNECTION_STATE_CHANGED
 * Specific collectors can add additional call events. For example, mediasoup adds PRODUCER_PAUSED, PRODUCER_RESUMED, CONSUMER_PAUSED, CONSUMER_RESUMED events.
 * ClientMonitor calculate derived metrics such as sending, and receiving bitrates, total sent and received packets.
 

### Major Code changes

 * Removed Sender component and corresponding configuration from ClientMonitor.
 * Removed Transport component, as sending and transporting no longer fall under the responsibility of the ClientMonitor.
 * Storage StatsEntries `id` is renamed to `statsId`.
 * PeerConnectionEntry `collectorId` is renamed to `id`, and `collectorLabel` to `label`.
 * Removed `setUserId`, `setCallId`, `setClientId`, `setRoomId`, and `marker` from ClientMonitor, as this information should be used for context creation on the server side, which falls under the responsibility of signaling.
 * Removed `events` field from ClientMonitor, as events have become part of the ClientMonitor itself, and ClientMonitor now provides `on`, `off`, `once` interfaces for events.

### Functionality changes

 * Stats are removed based on visited ids in getStats. If a stat is no longer present in the getStats extracted result, it is removed from the Storage.

### Configuration changes

 * Sampler configuration is reduced.
 * Sender configuration is removed.
 * `statsExpirationTimeInMs` is removed.
 * `createCallEvents` is added.

1.3.2

Toggle 1.3.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Remove js-sha256 dependency (#12)

* Make a custom generated "stamp" instead of a hash as crypto provide it in promise, making sha cost perofmance and we don't need cryptographic hash to keep the object changes