Releases: ObserveRTC/client-monitor-js
Releases · ObserveRTC/client-monitor-js
3.11.0
What's Changed
- 3.9.0 by @balazskreith in #30
- 3.9.1 by @balazskreith in #31
- 3.10.0 by @balazskreith in #33
- 3.11.0 by @balazskreith in #34
Full Changelog: 3.8.0...3.11.0
3.8.0
3.7.0
What's Changed
- Develop by @balazskreith in #23
- 3.6.0 by @balazskreith in #27
- 3.7.0 by @balazskreith in #28
Full Changelog: 3.4.0...3.7.0
3.4.0
- bugfix for
NaN
fractionLoss - surface
monitor.storage[statsType()]
iterators tomonitor
level (e.g.: instead of (monitor.storage.outboundRtps()
you can usemonitor.outboundRtps
) - remove the async update for storage
- remove generator functions to surface iterators from storage
What's Changed
- Develop
3.2.0
by @balazskreith in #18 - Develop
3.3.0
by @balazskreith in #19 - Fix lastCollectedAt initial timestamp by @balazskreith in #20
- Develop
3.4.0
by @balazskreith in #21
Full Changelog: 3.1.0...3.4.0
3.1.0
- use node 18
- use commonjs
- Add kind to reported tracks
- Make track bindings to SFU event-based for MediasoupStatsCollector
3.0.0
- refactored collectors and sampler
clientMontior.os
is moved toclientMonitor.meta.operationSystem
clientMontior.engine
is moved toclientMonitor.meta.engine
clientMontior.browser
is moved toclientMonitor.meta.browser
clientMontior.audioInputs
is moved toclientMonitor.meta.audioInputs
clientMontior.audioOutputs
is moved toclientMonitor.meta.audioOutputs
clientMontior.videoInputs
is moved toclientMonitor.meta.videoInputs
clientMonitor.alerts
is removed,clientMonitor.audioDesyncDetector
,clientMonitor.cpuPerformanceDetector
, andclientMonitor.congestionDetector
- all
updates
fields in storage entries are moved to the entries of thestorage
metrics
field is removedelapsedSinceLastCollectInMs
andelapsedSinceLastSampleInMs
is added to thestats-collected
, andsample-created
events- refactored mediasoup-collector
- add events are collected automatically
- simplified configuration, and detectors configurations are moved to create detectors
2.2.0
- add detectors and alerting system
- add CongestionDetector and
getSelectedIceCandidatePair
- add Stability score to outbound rtps
- add MoS score to inbound-rtp
- add low stability score detector
- add audio desync issue detector
- add updates to storage
2.1.0
What's Changed
- remove samples-scehma dependency by @balazskreith in #14
Full Changelog: 2.0.0...2.1.0
2.0.0
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 tostatsId
. - PeerConnectionEntry
collectorId
is renamed toid
, andcollectorLabel
tolabel
. - Removed
setUserId
,setCallId
,setClientId
,setRoomId
, andmarker
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 provideson
,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
- Remove sha256-js from dependencies
- Make so-called stamps instead of cryptographic hashes to track potential changes in stats objects, as generating hashes can be resource-intensive and negatively impact performance.