@webex/internal-plugin-metrics 3.12.0-next.8 → 3.12.0-task-refactor.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/call-diagnostic/call-diagnostic-metrics-latencies.js +34 -41
- package/dist/call-diagnostic/call-diagnostic-metrics-latencies.js.map +1 -1
- package/dist/call-diagnostic/call-diagnostic-metrics.js +0 -5
- package/dist/call-diagnostic/call-diagnostic-metrics.js.map +1 -1
- package/dist/call-diagnostic/call-diagnostic-metrics.util.js +4 -39
- package/dist/call-diagnostic/call-diagnostic-metrics.util.js.map +1 -1
- package/dist/call-diagnostic/config.js +1 -3
- package/dist/call-diagnostic/config.js.map +1 -1
- package/dist/generic-metrics.js +6 -8
- package/dist/generic-metrics.js.map +1 -1
- package/dist/index.js +0 -7
- package/dist/index.js.map +1 -1
- package/dist/metrics.js +1 -1
- package/dist/metrics.types.js.map +1 -1
- package/dist/new-metrics.js +20 -56
- package/dist/new-metrics.js.map +1 -1
- package/dist/types/call-diagnostic/call-diagnostic-metrics-latencies.d.ts +0 -8
- package/dist/types/call-diagnostic/call-diagnostic-metrics.d.ts +20 -34
- package/dist/types/call-diagnostic/call-diagnostic-metrics.util.d.ts +2 -23
- package/dist/types/call-diagnostic/config.d.ts +19 -2
- package/dist/types/config.d.ts +15 -15
- package/dist/types/index.d.ts +1 -2
- package/dist/types/metrics.types.d.ts +2 -2
- package/dist/types/new-metrics.d.ts +0 -12
- package/package.json +11 -11
- package/src/call-diagnostic/call-diagnostic-metrics-latencies.ts +44 -89
- package/src/call-diagnostic/call-diagnostic-metrics.ts +0 -6
- package/src/call-diagnostic/call-diagnostic-metrics.util.ts +2 -44
- package/src/call-diagnostic/config.ts +0 -2
- package/src/generic-metrics.ts +6 -6
- package/src/index.ts +0 -2
- package/src/metrics.types.ts +2 -2
- package/src/new-metrics.ts +0 -42
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-batcher.ts +11 -38
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-latencies.ts +301 -227
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.ts +0 -44
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.util.ts +3 -65
- package/dist/prelogin-metrics.js +0 -106
- package/dist/prelogin-metrics.js.map +0 -1
- package/dist/types/prelogin-metrics.d.ts +0 -47
- package/src/prelogin-metrics.ts +0 -94
- package/test/unit/spec/prelogin-metrics.ts +0 -132
|
@@ -143,7 +143,7 @@ describe('internal-plugin-metrics', () => {
|
|
|
143
143
|
cdl.saveTimestamp({key: 'client.alert.removed', value: 50});
|
|
144
144
|
const res = cdl.getDiffBetweenTimestamps('client.alert.displayed', 'client.alert.removed', {
|
|
145
145
|
minimum: 0,
|
|
146
|
-
maximum: 100
|
|
146
|
+
maximum: 100
|
|
147
147
|
});
|
|
148
148
|
assert.deepEqual(res, 40);
|
|
149
149
|
});
|
|
@@ -153,7 +153,7 @@ describe('internal-plugin-metrics', () => {
|
|
|
153
153
|
cdl.saveTimestamp({key: 'client.alert.removed', value: 45});
|
|
154
154
|
const res = cdl.getDiffBetweenTimestamps('client.alert.displayed', 'client.alert.removed', {
|
|
155
155
|
minimum: 10,
|
|
156
|
-
maximum: 100
|
|
156
|
+
maximum: 100
|
|
157
157
|
});
|
|
158
158
|
assert.deepEqual(res, 10);
|
|
159
159
|
});
|
|
@@ -163,7 +163,7 @@ describe('internal-plugin-metrics', () => {
|
|
|
163
163
|
cdl.saveTimestamp({key: 'client.alert.removed', value: 210});
|
|
164
164
|
const res = cdl.getDiffBetweenTimestamps('client.alert.displayed', 'client.alert.removed', {
|
|
165
165
|
minimum: 0,
|
|
166
|
-
maximum: 100
|
|
166
|
+
maximum: 100
|
|
167
167
|
});
|
|
168
168
|
assert.deepEqual(res, 100);
|
|
169
169
|
});
|
|
@@ -172,7 +172,7 @@ describe('internal-plugin-metrics', () => {
|
|
|
172
172
|
cdl.saveTimestamp({key: 'client.alert.displayed', value: 50});
|
|
173
173
|
cdl.saveTimestamp({key: 'client.alert.removed', value: 45});
|
|
174
174
|
const res = cdl.getDiffBetweenTimestamps('client.alert.displayed', 'client.alert.removed', {
|
|
175
|
-
maximum: 100
|
|
175
|
+
maximum: 100
|
|
176
176
|
});
|
|
177
177
|
assert.deepEqual(res, 0);
|
|
178
178
|
});
|
|
@@ -181,7 +181,7 @@ describe('internal-plugin-metrics', () => {
|
|
|
181
181
|
cdl.saveTimestamp({key: 'client.alert.displayed', value: 10});
|
|
182
182
|
cdl.saveTimestamp({key: 'client.alert.removed', value: 2000});
|
|
183
183
|
const res = cdl.getDiffBetweenTimestamps('client.alert.displayed', 'client.alert.removed', {
|
|
184
|
-
minimum: 5
|
|
184
|
+
minimum: 5
|
|
185
185
|
});
|
|
186
186
|
assert.deepEqual(res, 1990);
|
|
187
187
|
});
|
|
@@ -191,7 +191,7 @@ describe('internal-plugin-metrics', () => {
|
|
|
191
191
|
cdl.saveTimestamp({key: 'client.alert.removed', value: 50});
|
|
192
192
|
const res = cdl.getDiffBetweenTimestamps('client.alert.displayed', 'client.alert.removed', {
|
|
193
193
|
minimum: 10,
|
|
194
|
-
maximum: 1000
|
|
194
|
+
maximum: 1000
|
|
195
195
|
});
|
|
196
196
|
assert.deepEqual(res, 10);
|
|
197
197
|
});
|
|
@@ -200,7 +200,7 @@ describe('internal-plugin-metrics', () => {
|
|
|
200
200
|
cdl.saveTimestamp({key: 'client.alert.displayed', value: 10});
|
|
201
201
|
const res = cdl.getDiffBetweenTimestamps('client.alert.displayed', 'client.alert.removed', {
|
|
202
202
|
minimum: 0,
|
|
203
|
-
maximum: 100
|
|
203
|
+
maximum: 100
|
|
204
204
|
});
|
|
205
205
|
assert.deepEqual(res, undefined);
|
|
206
206
|
});
|
|
@@ -406,7 +406,7 @@ describe('internal-plugin-metrics', () => {
|
|
|
406
406
|
});
|
|
407
407
|
|
|
408
408
|
it('calculates getShowInterstitialTime correctly', () => {
|
|
409
|
-
cdl.saveTimestamp({key: '
|
|
409
|
+
cdl.saveTimestamp({key: 'client.interstitial-window.start-launch', value: 10});
|
|
410
410
|
cdl.saveTimestamp({key: 'internal.client.interstitial-window.click.joinbutton', value: 20});
|
|
411
411
|
assert.deepEqual(cdl.getShowInterstitialTime(), 10);
|
|
412
412
|
});
|
|
@@ -513,56 +513,12 @@ describe('internal-plugin-metrics', () => {
|
|
|
513
513
|
value: 10,
|
|
514
514
|
});
|
|
515
515
|
cdl.saveTimestamp({
|
|
516
|
-
key: '
|
|
516
|
+
key: 'internal.host.meeting.participant.admitted',
|
|
517
517
|
value: 20,
|
|
518
518
|
});
|
|
519
519
|
assert.deepEqual(cdl.getStayLobbyTime(), 10);
|
|
520
520
|
});
|
|
521
521
|
|
|
522
|
-
describe('getStayLobbyTimeCappedBy', () => {
|
|
523
|
-
it('returns undefined when lobbyStartTimestamp is missing', () => {
|
|
524
|
-
cdl.saveTimestamp({key: 'client.media-engine.ready', value: 100});
|
|
525
|
-
assert.deepEqual(cdl.getStayLobbyTimeCappedBy('client.media-engine.ready'), undefined);
|
|
526
|
-
});
|
|
527
|
-
|
|
528
|
-
it('returns undefined when endTimestampKey is missing', () => {
|
|
529
|
-
cdl.saveTimestamp({key: 'client.locus.join.response', value: 10});
|
|
530
|
-
assert.deepEqual(cdl.getStayLobbyTimeCappedBy('client.media-engine.ready'), undefined);
|
|
531
|
-
});
|
|
532
|
-
|
|
533
|
-
it('uses maximumEndTimestamp when lobby end does not exist', () => {
|
|
534
|
-
cdl.saveTimestamp({key: 'client.locus.join.response', value: 10});
|
|
535
|
-
cdl.saveTimestamp({key: 'client.media-engine.ready', value: 50});
|
|
536
|
-
assert.deepEqual(cdl.getStayLobbyTimeCappedBy('client.media-engine.ready'), 40);
|
|
537
|
-
});
|
|
538
|
-
|
|
539
|
-
it('uses lobby end when it is before maximumEndTimestamp', () => {
|
|
540
|
-
cdl.saveTimestamp({key: 'client.locus.join.response', value: 10});
|
|
541
|
-
cdl.saveTimestamp({key: 'client.lobby.exited', value: 30});
|
|
542
|
-
cdl.saveTimestamp({key: 'client.media-engine.ready', value: 50});
|
|
543
|
-
assert.deepEqual(cdl.getStayLobbyTimeCappedBy('client.media-engine.ready'), 20);
|
|
544
|
-
});
|
|
545
|
-
|
|
546
|
-
it('uses maximumEndTimestamp when lobby end is after it', () => {
|
|
547
|
-
cdl.saveTimestamp({key: 'client.locus.join.response', value: 10});
|
|
548
|
-
cdl.saveTimestamp({key: 'client.lobby.exited', value: 60});
|
|
549
|
-
cdl.saveTimestamp({key: 'client.media-engine.ready', value: 50});
|
|
550
|
-
assert.deepEqual(cdl.getStayLobbyTimeCappedBy('client.media-engine.ready'), 40);
|
|
551
|
-
});
|
|
552
|
-
|
|
553
|
-
it('clamps to 0 when result would be negative', () => {
|
|
554
|
-
cdl.saveTimestamp({key: 'client.locus.join.response', value: 100});
|
|
555
|
-
cdl.saveTimestamp({key: 'client.media-engine.ready', value: 50});
|
|
556
|
-
assert.deepEqual(cdl.getStayLobbyTimeCappedBy('client.media-engine.ready'), 0);
|
|
557
|
-
});
|
|
558
|
-
|
|
559
|
-
it('clamps to MAX_INTEGER when result is very large', () => {
|
|
560
|
-
cdl.saveTimestamp({key: 'client.locus.join.response', value: 0});
|
|
561
|
-
cdl.saveTimestamp({key: 'client.media-engine.ready', value: 2147483648});
|
|
562
|
-
assert.deepEqual(cdl.getStayLobbyTimeCappedBy('client.media-engine.ready'), 2147483647);
|
|
563
|
-
});
|
|
564
|
-
});
|
|
565
|
-
|
|
566
522
|
it('calculates getPageJMT correctly', () => {
|
|
567
523
|
cdl.saveLatency('internal.client.pageJMT', 10);
|
|
568
524
|
assert.deepEqual(cdl.getPageJMT(), 10);
|
|
@@ -668,8 +624,15 @@ describe('internal-plugin-metrics', () => {
|
|
|
668
624
|
});
|
|
669
625
|
|
|
670
626
|
it('calculates getCallInitMediaEngineReady correctly', () => {
|
|
671
|
-
|
|
672
|
-
|
|
627
|
+
cdl.saveTimestamp({
|
|
628
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
629
|
+
value: 10,
|
|
630
|
+
});
|
|
631
|
+
cdl.saveTimestamp({
|
|
632
|
+
key: 'client.media-engine.ready',
|
|
633
|
+
value: 20,
|
|
634
|
+
});
|
|
635
|
+
assert.deepEqual(cdl.getCallInitMediaEngineReady(), 10);
|
|
673
636
|
});
|
|
674
637
|
|
|
675
638
|
it('calculates getTotalJMT correctly', () => {
|
|
@@ -693,56 +656,56 @@ describe('internal-plugin-metrics', () => {
|
|
|
693
656
|
});
|
|
694
657
|
|
|
695
658
|
it('calculates getTotalJMT correctly when clickToInterstitial is 0', () => {
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
659
|
+
cdl.saveLatency('internal.click.to.interstitial', 0);
|
|
660
|
+
cdl.saveTimestamp({
|
|
661
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
662
|
+
value: 20,
|
|
663
|
+
});
|
|
664
|
+
cdl.saveTimestamp({
|
|
665
|
+
key: 'client.locus.join.response',
|
|
666
|
+
value: 40,
|
|
667
|
+
});
|
|
668
|
+
assert.deepEqual(cdl.getTotalJMT(), 20);
|
|
704
669
|
});
|
|
705
|
-
assert.deepEqual(cdl.getTotalJMT(), 20);
|
|
706
|
-
});
|
|
707
670
|
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
671
|
+
it('calculates getTotalJMT correctly when interstitialToJoinOk is 0', () => {
|
|
672
|
+
cdl.saveTimestamp({
|
|
673
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
674
|
+
value: 40,
|
|
675
|
+
});
|
|
676
|
+
cdl.saveLatency('internal.click.to.interstitial', 12);
|
|
677
|
+
cdl.saveTimestamp({
|
|
678
|
+
key: 'client.locus.join.response',
|
|
679
|
+
value: 40,
|
|
680
|
+
});
|
|
681
|
+
assert.deepEqual(cdl.getTotalJMT(), 12);
|
|
717
682
|
});
|
|
718
|
-
assert.deepEqual(cdl.getTotalJMT(), 12);
|
|
719
|
-
});
|
|
720
683
|
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
684
|
+
it('calculates getTotalJMT correctly when both clickToInterstitial and interstitialToJoinOk are 0', () => {
|
|
685
|
+
cdl.saveTimestamp({
|
|
686
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
687
|
+
value: 40,
|
|
688
|
+
});
|
|
689
|
+
cdl.saveLatency('internal.click.to.interstitial', 0);
|
|
690
|
+
cdl.saveTimestamp({
|
|
691
|
+
key: 'client.locus.join.response',
|
|
692
|
+
value: 40,
|
|
693
|
+
});
|
|
694
|
+
assert.deepEqual(cdl.getTotalJMT(), 0);
|
|
730
695
|
});
|
|
731
|
-
assert.deepEqual(cdl.getTotalJMT(), 0);
|
|
732
|
-
});
|
|
733
696
|
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
697
|
+
it('calculates getTotalJMT correctly when both clickToInterstitial is not a number', () => {
|
|
698
|
+
cdl.saveTimestamp({
|
|
699
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
700
|
+
value: 40,
|
|
701
|
+
});
|
|
702
|
+
cdl.saveLatency('internal.click.to.interstitial', 'eleven' as unknown as number);
|
|
703
|
+
cdl.saveTimestamp({
|
|
704
|
+
key: 'client.locus.join.response',
|
|
705
|
+
value: 40,
|
|
706
|
+
});
|
|
707
|
+
assert.deepEqual(cdl.getTotalJMT(), undefined);
|
|
743
708
|
});
|
|
744
|
-
assert.deepEqual(cdl.getTotalJMT(), undefined);
|
|
745
|
-
});
|
|
746
709
|
|
|
747
710
|
it('calculates getTotalJMT correctly when it is greater than MAX_INTEGER', () => {
|
|
748
711
|
cdl.saveTimestamp({
|
|
@@ -774,168 +737,283 @@ describe('internal-plugin-metrics', () => {
|
|
|
774
737
|
key: 'client.locus.join.response',
|
|
775
738
|
value: 40,
|
|
776
739
|
});
|
|
777
|
-
assert.deepEqual(cdl.getTotalJMTWithUserDelay(),
|
|
740
|
+
assert.deepEqual(cdl.getTotalJMTWithUserDelay(), 45);
|
|
778
741
|
});
|
|
779
742
|
|
|
780
|
-
|
|
781
|
-
|
|
743
|
+
it('calculates getTotalJMTWithUserDelay correctly when clickToInterstitialWithUserDelay is 0', () => {
|
|
744
|
+
cdl.saveLatency('internal.click.to.interstitial.with.user.delay', 0);
|
|
745
|
+
cdl.saveTimestamp({
|
|
746
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
747
|
+
value: 20,
|
|
748
|
+
});
|
|
749
|
+
cdl.saveTimestamp({
|
|
750
|
+
key: 'client.locus.join.response',
|
|
751
|
+
value: 40,
|
|
752
|
+
});
|
|
753
|
+
assert.deepEqual(cdl.getTotalJMTWithUserDelay(), 20);
|
|
754
|
+
});
|
|
755
|
+
|
|
756
|
+
it('calculates getTotalJMTWithUserDelay correctly when interstitialToJoinOk is 0', () => {
|
|
757
|
+
cdl.saveTimestamp({
|
|
758
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
759
|
+
value: 40,
|
|
760
|
+
});
|
|
761
|
+
cdl.saveLatency('internal.click.to.interstitial.with.user.delay', 12);
|
|
762
|
+
cdl.saveTimestamp({
|
|
763
|
+
key: 'client.locus.join.response',
|
|
764
|
+
value: 40,
|
|
765
|
+
});
|
|
766
|
+
assert.deepEqual(cdl.getTotalJMTWithUserDelay(), 12);
|
|
767
|
+
});
|
|
768
|
+
|
|
769
|
+
it('calculates getTotalJMTWithUserDelay correctly when both clickToInterstitialWithUserDelay and interstitialToJoinOk are 0', () => {
|
|
770
|
+
cdl.saveTimestamp({
|
|
771
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
772
|
+
value: 40,
|
|
773
|
+
});
|
|
774
|
+
cdl.saveLatency('internal.click.to.interstitial.with.user.delay', 0);
|
|
775
|
+
cdl.saveTimestamp({
|
|
776
|
+
key: 'client.locus.join.response',
|
|
777
|
+
value: 40,
|
|
778
|
+
});
|
|
779
|
+
assert.deepEqual(cdl.getTotalJMTWithUserDelay(), 0);
|
|
780
|
+
});
|
|
781
|
+
|
|
782
|
+
it('calculates getTotalJMTWithUserDelay correctly when both clickToInterstitialWithUserDelay is not a number', () => {
|
|
783
|
+
cdl.saveTimestamp({
|
|
784
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
785
|
+
value: 40,
|
|
786
|
+
});
|
|
787
|
+
cdl.saveLatency('internal.click.to.interstitial.with.user.delay', 'eleven' as unknown as number);
|
|
788
|
+
cdl.saveTimestamp({
|
|
789
|
+
key: 'client.locus.join.response',
|
|
790
|
+
value: 40,
|
|
791
|
+
});
|
|
792
|
+
assert.deepEqual(cdl.getTotalJMTWithUserDelay(), undefined);
|
|
793
|
+
});
|
|
794
|
+
|
|
795
|
+
it('calculates getTotalJMTWithUserDelay correctly when it is greater than MAX_INTEGER', () => {
|
|
796
|
+
cdl.saveLatency('internal.click.to.interstitial.with.user.delay', 2147483648);
|
|
797
|
+
cdl.saveTimestamp({
|
|
798
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
799
|
+
value: 20,
|
|
800
|
+
});
|
|
801
|
+
cdl.saveTimestamp({
|
|
802
|
+
key: 'client.locus.join.response',
|
|
803
|
+
value: 40,
|
|
804
|
+
});
|
|
805
|
+
assert.deepEqual(cdl.getTotalJMTWithUserDelay(), 2147483647);
|
|
806
|
+
});
|
|
807
|
+
|
|
808
|
+
it('calculates getTotalMediaJMT correctly', () => {
|
|
809
|
+
cdl.saveTimestamp({
|
|
810
|
+
key: 'internal.client.meeting.click.joinbutton',
|
|
811
|
+
value: 5,
|
|
812
|
+
});
|
|
782
813
|
cdl.saveTimestamp({
|
|
783
814
|
key: 'internal.client.meeting.interstitial-window.showed',
|
|
784
|
-
value:
|
|
815
|
+
value: 8,
|
|
785
816
|
});
|
|
786
817
|
cdl.saveTimestamp({
|
|
787
|
-
key: 'client.
|
|
788
|
-
value:
|
|
818
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
819
|
+
value: 10,
|
|
789
820
|
});
|
|
790
|
-
assert.deepEqual(cdl.getTotalJMTWithUserDelay(), 20);
|
|
791
|
-
});
|
|
792
|
-
|
|
793
|
-
it('calculates getTotalJMTWithUserDelay correctly when interstitialShowedToJoinLocusResponse is 0', () => {
|
|
794
821
|
cdl.saveTimestamp({
|
|
795
|
-
key: '
|
|
796
|
-
value:
|
|
822
|
+
key: 'client.locus.join.request',
|
|
823
|
+
value: 12,
|
|
797
824
|
});
|
|
798
|
-
cdl.saveLatency('internal.click.to.interstitial.with.user.delay', 12);
|
|
799
825
|
cdl.saveTimestamp({
|
|
800
826
|
key: 'client.locus.join.response',
|
|
827
|
+
value: 20,
|
|
828
|
+
});
|
|
829
|
+
cdl.saveTimestamp({
|
|
830
|
+
key: 'internal.host.meeting.participant.admitted',
|
|
831
|
+
value: 24,
|
|
832
|
+
});
|
|
833
|
+
cdl.saveTimestamp({
|
|
834
|
+
key: 'client.ice.start',
|
|
835
|
+
value: 30,
|
|
836
|
+
});
|
|
837
|
+
cdl.saveTimestamp({
|
|
838
|
+
key: 'client.ice.end',
|
|
801
839
|
value: 40,
|
|
802
840
|
});
|
|
803
|
-
assert.deepEqual(cdl.
|
|
841
|
+
assert.deepEqual(cdl.getTotalMediaJMT(), 27);
|
|
804
842
|
});
|
|
805
843
|
|
|
806
|
-
it('calculates
|
|
844
|
+
it('calculates getTotalMediaJMT correctly when it is greater than MAX_INTEGER', () => {
|
|
845
|
+
cdl.saveTimestamp({
|
|
846
|
+
key: 'internal.client.meeting.click.joinbutton',
|
|
847
|
+
value: 5,
|
|
848
|
+
});
|
|
807
849
|
cdl.saveTimestamp({
|
|
808
850
|
key: 'internal.client.meeting.interstitial-window.showed',
|
|
809
|
-
value:
|
|
851
|
+
value: 8,
|
|
852
|
+
});
|
|
853
|
+
cdl.saveTimestamp({
|
|
854
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
855
|
+
value: 10,
|
|
856
|
+
});
|
|
857
|
+
cdl.saveTimestamp({
|
|
858
|
+
key: 'client.locus.join.request',
|
|
859
|
+
value: 12,
|
|
810
860
|
});
|
|
811
|
-
cdl.saveLatency('internal.click.to.interstitial.with.user.delay', 0);
|
|
812
861
|
cdl.saveTimestamp({
|
|
813
862
|
key: 'client.locus.join.response',
|
|
814
|
-
value:
|
|
863
|
+
value: 2147483700,
|
|
864
|
+
});
|
|
865
|
+
cdl.saveTimestamp({
|
|
866
|
+
key: 'internal.host.meeting.participant.admitted',
|
|
867
|
+
value: 2147483800,
|
|
815
868
|
});
|
|
816
|
-
|
|
869
|
+
cdl.saveTimestamp({
|
|
870
|
+
key: 'client.ice.start',
|
|
871
|
+
value: 30,
|
|
872
|
+
});
|
|
873
|
+
cdl.saveTimestamp({
|
|
874
|
+
key: 'client.ice.end',
|
|
875
|
+
value: 100,
|
|
876
|
+
});
|
|
877
|
+
assert.deepEqual(cdl.getTotalMediaJMT(), 2147483647);
|
|
817
878
|
});
|
|
818
879
|
|
|
819
|
-
it('calculates
|
|
880
|
+
it('calculates getTotalMediaJMT correctly with allowMediaInLobby true', () => {
|
|
881
|
+
cdl.saveTimestamp({
|
|
882
|
+
key: 'internal.client.meeting.click.joinbutton',
|
|
883
|
+
value: 5,
|
|
884
|
+
options: {meetingId: 'meeting-id'},
|
|
885
|
+
});
|
|
820
886
|
cdl.saveTimestamp({
|
|
821
887
|
key: 'internal.client.meeting.interstitial-window.showed',
|
|
822
|
-
value:
|
|
888
|
+
value: 8,
|
|
889
|
+
});
|
|
890
|
+
cdl.saveTimestamp({
|
|
891
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
892
|
+
value: 10,
|
|
893
|
+
});
|
|
894
|
+
cdl.saveTimestamp({
|
|
895
|
+
key: 'client.locus.join.request',
|
|
896
|
+
value: 12,
|
|
823
897
|
});
|
|
824
|
-
cdl.saveLatency(
|
|
825
|
-
'internal.click.to.interstitial.with.user.delay',
|
|
826
|
-
'eleven' as unknown as number
|
|
827
|
-
);
|
|
828
898
|
cdl.saveTimestamp({
|
|
829
899
|
key: 'client.locus.join.response',
|
|
900
|
+
value: 20,
|
|
901
|
+
});
|
|
902
|
+
cdl.saveTimestamp({
|
|
903
|
+
key: 'internal.host.meeting.participant.admitted',
|
|
904
|
+
value: 24,
|
|
905
|
+
});
|
|
906
|
+
cdl.saveTimestamp({
|
|
907
|
+
key: 'client.ice.start',
|
|
908
|
+
value: 30,
|
|
909
|
+
});
|
|
910
|
+
cdl.saveTimestamp({
|
|
911
|
+
key: 'client.ice.end',
|
|
830
912
|
value: 40,
|
|
831
913
|
});
|
|
832
|
-
assert.deepEqual(cdl.
|
|
914
|
+
assert.deepEqual(cdl.getTotalMediaJMT(), 31);
|
|
833
915
|
});
|
|
834
916
|
|
|
835
|
-
it('calculates
|
|
836
|
-
cdl.
|
|
917
|
+
it('calculates getTotalMediaJMT correctly with allowMediaInLobby true and it is greater than MAX_INTEGER', () => {
|
|
918
|
+
cdl.saveTimestamp({
|
|
919
|
+
key: 'internal.client.meeting.click.joinbutton',
|
|
920
|
+
value: 5,
|
|
921
|
+
options: {meetingId: 'meeting-id'},
|
|
922
|
+
});
|
|
837
923
|
cdl.saveTimestamp({
|
|
838
924
|
key: 'internal.client.meeting.interstitial-window.showed',
|
|
839
|
-
value:
|
|
925
|
+
value: 100,
|
|
926
|
+
});
|
|
927
|
+
cdl.saveTimestamp({
|
|
928
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
929
|
+
value: 1000,
|
|
930
|
+
});
|
|
931
|
+
cdl.saveTimestamp({
|
|
932
|
+
key: 'client.locus.join.request',
|
|
933
|
+
value: 2000,
|
|
840
934
|
});
|
|
841
935
|
cdl.saveTimestamp({
|
|
842
936
|
key: 'client.locus.join.response',
|
|
843
|
-
value:
|
|
937
|
+
value: 2147483700,
|
|
938
|
+
});
|
|
939
|
+
cdl.saveTimestamp({
|
|
940
|
+
key: 'internal.host.meeting.participant.admitted',
|
|
941
|
+
value: 2147483800,
|
|
942
|
+
});
|
|
943
|
+
cdl.saveTimestamp({
|
|
944
|
+
key: 'client.ice.start',
|
|
945
|
+
value: 2147483900,
|
|
946
|
+
});
|
|
947
|
+
cdl.saveTimestamp({
|
|
948
|
+
key: 'client.ice.end',
|
|
949
|
+
value: 4294967400,
|
|
844
950
|
});
|
|
845
|
-
assert.deepEqual(cdl.getTotalJMTWithUserDelay(), 2147483647);
|
|
846
|
-
});
|
|
847
|
-
|
|
848
|
-
it('calculates getTotalMediaJMT correctly with lobby exiting before media-engine.ready', () => {
|
|
849
|
-
cdl.saveTimestamp({key: 'internal.client.meeting.click.joinbutton', value: 5});
|
|
850
|
-
cdl.saveTimestamp({key: 'internal.client.meeting.interstitial-window.showed', value: 8});
|
|
851
|
-
// clickToInterstitial = 8 - 5 = 3
|
|
852
|
-
cdl.saveTimestamp({key: 'internal.client.interstitial-window.click.joinbutton', value: 10});
|
|
853
|
-
cdl.saveTimestamp({key: 'client.media-engine.ready', value: 50});
|
|
854
|
-
// interstitialClickJoinToMediaEngineReady = 50 - 10 = 40
|
|
855
|
-
cdl.saveTimestamp({key: 'client.locus.join.response', value: 20});
|
|
856
|
-
cdl.saveTimestamp({key: 'client.lobby.exited', value: 30});
|
|
857
|
-
// stayLobbyTimeCappedByMediaEngineReady = min(30, 50) - 20 = 10
|
|
858
|
-
// total = 3 + 40 - 10 = 33
|
|
859
|
-
assert.deepEqual(cdl.getTotalMediaJMT(), 33);
|
|
860
|
-
});
|
|
861
|
-
|
|
862
|
-
it('calculates getTotalMediaJMT correctly without lobby', () => {
|
|
863
|
-
cdl.saveTimestamp({key: 'internal.client.meeting.click.joinbutton', value: 5});
|
|
864
|
-
cdl.saveTimestamp({key: 'internal.client.meeting.interstitial-window.showed', value: 8});
|
|
865
|
-
// clickToInterstitial = 3
|
|
866
|
-
cdl.saveTimestamp({key: 'internal.client.interstitial-window.click.joinbutton', value: 10});
|
|
867
|
-
cdl.saveTimestamp({key: 'client.media-engine.ready', value: 50});
|
|
868
|
-
// interstitialClickJoinToMediaEngineReady = 40
|
|
869
|
-
cdl.saveTimestamp({key: 'client.locus.join.response', value: 20});
|
|
870
|
-
// no client.lobby.exited
|
|
871
|
-
// stayLobbyTimeCappedByMediaEngineReady = 50 - 20 = 30
|
|
872
|
-
// total = 3 + 40 - 30 = 13
|
|
873
|
-
assert.deepEqual(cdl.getTotalMediaJMT(), 13);
|
|
874
|
-
});
|
|
875
|
-
|
|
876
|
-
it('calculates getTotalMediaJMT correctly with lobby exiting after media-engine.ready', () => {
|
|
877
|
-
cdl.saveTimestamp({key: 'internal.client.meeting.click.joinbutton', value: 5});
|
|
878
|
-
cdl.saveTimestamp({key: 'internal.client.meeting.interstitial-window.showed', value: 8});
|
|
879
|
-
// clickToInterstitial = 3
|
|
880
|
-
cdl.saveTimestamp({key: 'internal.client.interstitial-window.click.joinbutton', value: 10});
|
|
881
|
-
cdl.saveTimestamp({key: 'client.media-engine.ready', value: 50});
|
|
882
|
-
// interstitialClickJoinToMediaEngineReady = 40
|
|
883
|
-
cdl.saveTimestamp({key: 'client.locus.join.response', value: 20});
|
|
884
|
-
cdl.saveTimestamp({key: 'client.lobby.exited', value: 60});
|
|
885
|
-
// stayLobbyTimeCappedByMediaEngineReady = min(60, 50) - 20 = 30
|
|
886
|
-
// total = 3 + 40 - 30 = 13
|
|
887
|
-
assert.deepEqual(cdl.getTotalMediaJMT(), 13);
|
|
888
|
-
});
|
|
889
|
-
|
|
890
|
-
it('calculates getTotalMediaJMT correctly when it is greater than MAX_INTEGER', () => {
|
|
891
|
-
cdl.saveTimestamp({key: 'internal.client.meeting.click.joinbutton', value: 5});
|
|
892
|
-
cdl.saveTimestamp({key: 'internal.client.meeting.interstitial-window.showed', value: 8});
|
|
893
|
-
cdl.saveTimestamp({key: 'internal.client.interstitial-window.click.joinbutton', value: 10});
|
|
894
|
-
cdl.saveTimestamp({key: 'client.media-engine.ready', value: 4294967400});
|
|
895
|
-
cdl.saveTimestamp({key: 'client.locus.join.response', value: 28});
|
|
896
|
-
cdl.saveTimestamp({key: 'client.lobby.exited', value: 30});
|
|
897
951
|
assert.deepEqual(cdl.getTotalMediaJMT(), 2147483647);
|
|
898
952
|
});
|
|
899
953
|
|
|
900
|
-
it('returns undefined for getTotalMediaJMT when media-engine.ready is missing', () => {
|
|
901
|
-
cdl.saveTimestamp({key: 'internal.client.meeting.click.joinbutton', value: 5});
|
|
902
|
-
cdl.saveTimestamp({key: 'internal.client.meeting.interstitial-window.showed', value: 8});
|
|
903
|
-
cdl.saveTimestamp({key: 'internal.client.interstitial-window.click.joinbutton', value: 10});
|
|
904
|
-
cdl.saveTimestamp({key: 'client.locus.join.response', value: 20});
|
|
905
|
-
assert.deepEqual(cdl.getTotalMediaJMT(), undefined);
|
|
906
|
-
});
|
|
907
|
-
|
|
908
954
|
it('calculates getTotalMediaJMTWithUserDelay correctly', () => {
|
|
909
955
|
cdl.saveLatency('internal.click.to.interstitial.with.user.delay', 7);
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
956
|
+
cdl.saveTimestamp({
|
|
957
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
958
|
+
value: 10,
|
|
959
|
+
});
|
|
960
|
+
cdl.saveTimestamp({
|
|
961
|
+
key: 'client.locus.join.request',
|
|
962
|
+
value: 12,
|
|
963
|
+
});
|
|
964
|
+
cdl.saveTimestamp({
|
|
965
|
+
key: 'client.locus.join.response',
|
|
966
|
+
value: 20,
|
|
967
|
+
});
|
|
968
|
+
cdl.saveTimestamp({
|
|
969
|
+
key: 'internal.host.meeting.participant.admitted',
|
|
970
|
+
value: 24,
|
|
971
|
+
});
|
|
972
|
+
cdl.saveTimestamp({
|
|
973
|
+
key: 'client.ice.start',
|
|
974
|
+
value: 30,
|
|
975
|
+
});
|
|
976
|
+
cdl.saveTimestamp({
|
|
977
|
+
key: 'client.ice.end',
|
|
978
|
+
value: 40,
|
|
979
|
+
});
|
|
980
|
+
assert.deepEqual(cdl.getTotalMediaJMTWithUserDelay(), 35);
|
|
916
981
|
});
|
|
917
982
|
|
|
918
983
|
it('calculates getTotalMediaJMTWithUserDelay correctly for guest join', () => {
|
|
919
|
-
cdl.saveTimestamp({
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
cdl.
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
984
|
+
cdl.saveTimestamp({
|
|
985
|
+
key: 'internal.client.meeting.click.joinbutton',
|
|
986
|
+
value: 5,
|
|
987
|
+
});
|
|
988
|
+
cdl.saveTimestamp({
|
|
989
|
+
key: 'internal.client.meeting.interstitial-window.showed',
|
|
990
|
+
value: 8,
|
|
991
|
+
});
|
|
992
|
+
cdl.saveTimestamp({
|
|
993
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
994
|
+
value: 10,
|
|
995
|
+
});
|
|
996
|
+
cdl.saveTimestamp({
|
|
997
|
+
key: 'client.locus.join.request',
|
|
998
|
+
value: 12,
|
|
999
|
+
});
|
|
1000
|
+
cdl.saveTimestamp({
|
|
1001
|
+
key: 'client.locus.join.response',
|
|
1002
|
+
value: 20,
|
|
1003
|
+
});
|
|
1004
|
+
cdl.saveTimestamp({
|
|
1005
|
+
key: 'internal.host.meeting.participant.admitted',
|
|
1006
|
+
value: 24,
|
|
1007
|
+
});
|
|
1008
|
+
cdl.saveTimestamp({
|
|
1009
|
+
key: 'client.ice.start',
|
|
1010
|
+
value: 30,
|
|
1011
|
+
});
|
|
1012
|
+
cdl.saveTimestamp({
|
|
1013
|
+
key: 'client.ice.end',
|
|
1014
|
+
value: 40,
|
|
1015
|
+
});
|
|
1016
|
+
assert.deepEqual(cdl.getTotalMediaJMTWithUserDelay(), 31);
|
|
939
1017
|
});
|
|
940
1018
|
|
|
941
1019
|
it('calculates getJoinConfJMT correctly', () => {
|
|
@@ -963,20 +1041,20 @@ describe('internal-plugin-metrics', () => {
|
|
|
963
1041
|
// the maximum possible sum is 2400000, which is less than MAX_INTEGER (2147483647).
|
|
964
1042
|
// This test should verify that the final clamping works by mocking the intermediate methods
|
|
965
1043
|
// to return values that would sum to more than MAX_INTEGER.
|
|
966
|
-
|
|
1044
|
+
|
|
967
1045
|
const originalGetJoinReqResp = cdl.getJoinReqResp;
|
|
968
1046
|
const originalGetICESetupTime = cdl.getICESetupTime;
|
|
969
|
-
|
|
1047
|
+
|
|
970
1048
|
// Mock the methods to return large values that would exceed MAX_INTEGER when summed
|
|
971
1049
|
cdl.getJoinReqResp = () => 1500000000;
|
|
972
1050
|
cdl.getICESetupTime = () => 1000000000;
|
|
973
|
-
|
|
1051
|
+
|
|
974
1052
|
const result = cdl.getJoinConfJMT();
|
|
975
|
-
|
|
1053
|
+
|
|
976
1054
|
// Restore original methods
|
|
977
1055
|
cdl.getJoinReqResp = originalGetJoinReqResp;
|
|
978
1056
|
cdl.getICESetupTime = originalGetICESetupTime;
|
|
979
|
-
|
|
1057
|
+
|
|
980
1058
|
assert.deepEqual(result, 2147483647);
|
|
981
1059
|
});
|
|
982
1060
|
|
|
@@ -1062,7 +1140,7 @@ describe('internal-plugin-metrics', () => {
|
|
|
1062
1140
|
value: 10,
|
|
1063
1141
|
});
|
|
1064
1142
|
cdl.saveTimestamp({
|
|
1065
|
-
key: '
|
|
1143
|
+
key: 'internal.host.meeting.participant.admitted',
|
|
1066
1144
|
value: 12,
|
|
1067
1145
|
});
|
|
1068
1146
|
cdl.saveTimestamp({
|
|
@@ -1082,8 +1160,8 @@ describe('internal-plugin-metrics', () => {
|
|
|
1082
1160
|
value: 10,
|
|
1083
1161
|
});
|
|
1084
1162
|
cdl.saveTimestamp({
|
|
1085
|
-
key: '
|
|
1086
|
-
value:
|
|
1163
|
+
key: 'internal.host.meeting.participant.admitted',
|
|
1164
|
+
value: 12,
|
|
1087
1165
|
});
|
|
1088
1166
|
cdl.saveTimestamp({
|
|
1089
1167
|
key: 'client.ice.end',
|
|
@@ -1097,15 +1175,11 @@ describe('internal-plugin-metrics', () => {
|
|
|
1097
1175
|
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
1098
1176
|
value: 4,
|
|
1099
1177
|
});
|
|
1100
|
-
cdl.saveTimestamp({
|
|
1101
|
-
key: 'client.locus.join.response',
|
|
1102
|
-
value: 8,
|
|
1103
|
-
});
|
|
1104
1178
|
cdl.saveTimestamp({
|
|
1105
1179
|
key: 'client.ice.end',
|
|
1106
1180
|
value: 14,
|
|
1107
1181
|
});
|
|
1108
|
-
assert.deepEqual(cdl.getInterstitialToMediaOKJMT(),
|
|
1182
|
+
assert.deepEqual(cdl.getInterstitialToMediaOKJMT(), 10);
|
|
1109
1183
|
});
|
|
1110
1184
|
|
|
1111
1185
|
it('calculates getShareDuration correctly', () => {
|