From 16e881f022c94c55b534af3f05bad1941c22ef01 Mon Sep 17 00:00:00 2001 From: eswarclynn Date: Mon, 4 Mar 2024 16:10:39 +0530 Subject: [PATCH 1/2] fix: do not create sample when stats are empty --- .../hms-video-store/src/analytics/stats/BaseStatsAnalytics.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/hms-video-store/src/analytics/stats/BaseStatsAnalytics.ts b/packages/hms-video-store/src/analytics/stats/BaseStatsAnalytics.ts index 6a0dc26cc3..179815a397 100644 --- a/packages/hms-video-store/src/analytics/stats/BaseStatsAnalytics.ts +++ b/packages/hms-video-store/src/analytics/stats/BaseStatsAnalytics.ts @@ -113,6 +113,10 @@ export abstract class RunningTrackAnalytics { } createSample() { + if (this.tempStats.length === 0) { + return; + } + this.samples.push(this.collateSample()); this.tempStats.length = 0; } From e501cb3260bf8c9eec8f128ef8fefb0707b40154 Mon Sep 17 00:00:00 2001 From: eswarclynn Date: Mon, 4 Mar 2024 16:11:06 +0530 Subject: [PATCH 2/2] fix: delete track analytics when track is stopped --- .../src/analytics/stats/PublishStatsAnalytics.ts | 7 +++++++ .../src/analytics/stats/SubscribeStatsAnalytics.ts | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/packages/hms-video-store/src/analytics/stats/PublishStatsAnalytics.ts b/packages/hms-video-store/src/analytics/stats/PublishStatsAnalytics.ts index bd3e6c4356..8f6df60b07 100644 --- a/packages/hms-video-store/src/analytics/stats/PublishStatsAnalytics.ts +++ b/packages/hms-video-store/src/analytics/stats/PublishStatsAnalytics.ts @@ -84,6 +84,13 @@ export class PublishStatsAnalytics extends BaseStatsAnalytics { }); }); + // delete track analytics if track is not present in store and no samples are present + this.trackAnalytics.forEach(trackAnalytic => { + if (!this.store.hasTrack(trackAnalytic.track) && !(trackAnalytic.samples.length > 0)) { + this.trackAnalytics.delete(trackAnalytic.track_id); + } + }); + if (shouldCreateSample) { this.trackAnalytics.forEach(trackAnalytic => { trackAnalytic.createSample(); diff --git a/packages/hms-video-store/src/analytics/stats/SubscribeStatsAnalytics.ts b/packages/hms-video-store/src/analytics/stats/SubscribeStatsAnalytics.ts index b96ae023c7..5c44720388 100644 --- a/packages/hms-video-store/src/analytics/stats/SubscribeStatsAnalytics.ts +++ b/packages/hms-video-store/src/analytics/stats/SubscribeStatsAnalytics.ts @@ -76,6 +76,13 @@ export class SubscribeStatsAnalytics extends BaseStatsAnalytics { } }); + // delete track analytics if track is not present in store and no samples are present + this.trackAnalytics.forEach(trackAnalytic => { + if (!this.store.hasTrack(trackAnalytic.track) && !(trackAnalytic.samples.length > 0)) { + this.trackAnalytics.delete(trackAnalytic.track_id); + } + }); + if (shouldCreateSample) { this.trackAnalytics.forEach(trackAnalytic => { trackAnalytic.createSample();