@webex/internal-plugin-metrics 3.8.1 → 3.9.0-webinar5k.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 +49 -0
- package/dist/call-diagnostic/call-diagnostic-metrics-latencies.js.map +1 -1
- package/dist/call-diagnostic/call-diagnostic-metrics.js +218 -48
- package/dist/call-diagnostic/call-diagnostic-metrics.js.map +1 -1
- package/dist/call-diagnostic/call-diagnostic-metrics.util.js +6 -0
- package/dist/call-diagnostic/call-diagnostic-metrics.util.js.map +1 -1
- package/dist/call-diagnostic/config.js +3 -1
- package/dist/call-diagnostic/config.js.map +1 -1
- 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 +43 -1
- package/dist/new-metrics.js.map +1 -1
- package/dist/types/call-diagnostic/call-diagnostic-metrics-latencies.d.ts +15 -0
- package/dist/types/call-diagnostic/call-diagnostic-metrics.d.ts +144 -9
- package/dist/types/call-diagnostic/config.d.ts +2 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/metrics.types.d.ts +17 -6
- package/dist/types/new-metrics.d.ts +19 -2
- package/package.json +12 -12
- package/src/call-diagnostic/call-diagnostic-metrics-latencies.ts +58 -0
- package/src/call-diagnostic/call-diagnostic-metrics.ts +219 -25
- package/src/call-diagnostic/call-diagnostic-metrics.util.ts +6 -0
- package/src/call-diagnostic/config.ts +3 -0
- package/src/index.ts +2 -0
- package/src/metrics.types.ts +22 -5
- package/src/new-metrics.ts +52 -1
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-batcher.ts +20 -1
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-latencies.ts +167 -0
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.ts +425 -38
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.util.ts +6 -0
- package/test/unit/spec/new-metrics.ts +67 -2
- package/test/unit/spec/prelogin-metrics-batcher.ts +1 -0
- package/dist/call-diagnostic-events-batcher.js +0 -60
- package/dist/call-diagnostic-events-batcher.js.map +0 -1
|
@@ -446,6 +446,36 @@ describe('internal-plugin-metrics', () => {
|
|
|
446
446
|
assert.deepEqual(cdl.getClickToInterstitial(), 0);
|
|
447
447
|
});
|
|
448
448
|
|
|
449
|
+
it('calculates getClickToInterstitialWithUserDelay correctly', () => {
|
|
450
|
+
cdl.saveTimestamp({
|
|
451
|
+
key: 'internal.client.meeting.click.joinbutton',
|
|
452
|
+
value: 10,
|
|
453
|
+
});
|
|
454
|
+
cdl.saveTimestamp({
|
|
455
|
+
key: 'internal.client.meeting.interstitial-window.showed',
|
|
456
|
+
value: 20,
|
|
457
|
+
});
|
|
458
|
+
assert.deepEqual(cdl.getClickToInterstitialWithUserDelay(), 10);
|
|
459
|
+
});
|
|
460
|
+
|
|
461
|
+
it('calculates getClickToInterstitialWithUserDelay without join button timestamp', () => {
|
|
462
|
+
cdl.saveLatency('internal.click.to.interstitial.with.user.delay', 5);
|
|
463
|
+
cdl.saveTimestamp({
|
|
464
|
+
key: 'internal.client.meeting.interstitial-window.showed',
|
|
465
|
+
value: 20,
|
|
466
|
+
});
|
|
467
|
+
assert.deepEqual(cdl.getClickToInterstitialWithUserDelay(), 5);
|
|
468
|
+
});
|
|
469
|
+
|
|
470
|
+
it('calculates getClickToInterstitialWithUserDelay without join button timestamp when it is 0', () => {
|
|
471
|
+
cdl.saveLatency('internal.click.to.interstitial.with.user.delay', 0);
|
|
472
|
+
cdl.saveTimestamp({
|
|
473
|
+
key: 'internal.client.meeting.interstitial-window.showed',
|
|
474
|
+
value: 20,
|
|
475
|
+
});
|
|
476
|
+
assert.deepEqual(cdl.getClickToInterstitialWithUserDelay(), 0);
|
|
477
|
+
});
|
|
478
|
+
|
|
449
479
|
it('calculates getInterstitialToJoinOK correctly', () => {
|
|
450
480
|
cdl.saveTimestamp({
|
|
451
481
|
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
@@ -554,6 +584,78 @@ describe('internal-plugin-metrics', () => {
|
|
|
554
584
|
assert.deepEqual(cdl.getTotalJMT(), undefined);
|
|
555
585
|
});
|
|
556
586
|
|
|
587
|
+
it('calculates getTotalJMTWithUserDelay correctly', () => {
|
|
588
|
+
cdl.saveTimestamp({
|
|
589
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
590
|
+
value: 5,
|
|
591
|
+
});
|
|
592
|
+
cdl.saveTimestamp({
|
|
593
|
+
key: 'internal.client.meeting.click.joinbutton',
|
|
594
|
+
value: 10,
|
|
595
|
+
});
|
|
596
|
+
cdl.saveTimestamp({
|
|
597
|
+
key: 'internal.client.meeting.interstitial-window.showed',
|
|
598
|
+
value: 20,
|
|
599
|
+
});
|
|
600
|
+
cdl.saveTimestamp({
|
|
601
|
+
key: 'client.locus.join.response',
|
|
602
|
+
value: 40,
|
|
603
|
+
});
|
|
604
|
+
assert.deepEqual(cdl.getTotalJMTWithUserDelay(), 45);
|
|
605
|
+
});
|
|
606
|
+
|
|
607
|
+
it('calculates getTotalJMTWithUserDelay correctly when clickToInterstitialWithUserDelay is 0', () => {
|
|
608
|
+
cdl.saveLatency('internal.click.to.interstitial.with.user.delay', 0);
|
|
609
|
+
cdl.saveTimestamp({
|
|
610
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
611
|
+
value: 20,
|
|
612
|
+
});
|
|
613
|
+
cdl.saveTimestamp({
|
|
614
|
+
key: 'client.locus.join.response',
|
|
615
|
+
value: 40,
|
|
616
|
+
});
|
|
617
|
+
assert.deepEqual(cdl.getTotalJMTWithUserDelay(), 20);
|
|
618
|
+
});
|
|
619
|
+
|
|
620
|
+
it('calculates getTotalJMTWithUserDelay correctly when interstitialToJoinOk is 0', () => {
|
|
621
|
+
cdl.saveTimestamp({
|
|
622
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
623
|
+
value: 40,
|
|
624
|
+
});
|
|
625
|
+
cdl.saveLatency('internal.click.to.interstitial.with.user.delay', 12);
|
|
626
|
+
cdl.saveTimestamp({
|
|
627
|
+
key: 'client.locus.join.response',
|
|
628
|
+
value: 40,
|
|
629
|
+
});
|
|
630
|
+
assert.deepEqual(cdl.getTotalJMTWithUserDelay(), 12);
|
|
631
|
+
});
|
|
632
|
+
|
|
633
|
+
it('calculates getTotalJMTWithUserDelay correctly when both clickToInterstitialWithUserDelay and interstitialToJoinOk are 0', () => {
|
|
634
|
+
cdl.saveTimestamp({
|
|
635
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
636
|
+
value: 40,
|
|
637
|
+
});
|
|
638
|
+
cdl.saveLatency('internal.click.to.interstitial.with.user.delay', 0);
|
|
639
|
+
cdl.saveTimestamp({
|
|
640
|
+
key: 'client.locus.join.response',
|
|
641
|
+
value: 40,
|
|
642
|
+
});
|
|
643
|
+
assert.deepEqual(cdl.getTotalJMTWithUserDelay(), 0);
|
|
644
|
+
});
|
|
645
|
+
|
|
646
|
+
it('calculates getTotalJMTWithUserDelay correctly when both clickToInterstitialWithUserDelay is not a number', () => {
|
|
647
|
+
cdl.saveTimestamp({
|
|
648
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
649
|
+
value: 40,
|
|
650
|
+
});
|
|
651
|
+
cdl.saveLatency('internal.click.to.interstitial.with.user.delay', 'eleven' as unknown as number);
|
|
652
|
+
cdl.saveTimestamp({
|
|
653
|
+
key: 'client.locus.join.response',
|
|
654
|
+
value: 40,
|
|
655
|
+
});
|
|
656
|
+
assert.deepEqual(cdl.getTotalJMTWithUserDelay(), undefined);
|
|
657
|
+
});
|
|
658
|
+
|
|
557
659
|
it('calculates getTotalMediaJMT correctly', () => {
|
|
558
660
|
cdl.saveTimestamp({
|
|
559
661
|
key: 'internal.client.meeting.click.joinbutton',
|
|
@@ -627,6 +729,71 @@ describe('internal-plugin-metrics', () => {
|
|
|
627
729
|
assert.deepEqual(cdl.getTotalMediaJMT(), 31);
|
|
628
730
|
});
|
|
629
731
|
|
|
732
|
+
it('calculates getTotalMediaJMTWithUserDelay correctly', () => {
|
|
733
|
+
cdl.saveLatency('internal.click.to.interstitial.with.user.delay', 7);
|
|
734
|
+
cdl.saveTimestamp({
|
|
735
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
736
|
+
value: 10,
|
|
737
|
+
});
|
|
738
|
+
cdl.saveTimestamp({
|
|
739
|
+
key: 'client.locus.join.request',
|
|
740
|
+
value: 12,
|
|
741
|
+
});
|
|
742
|
+
cdl.saveTimestamp({
|
|
743
|
+
key: 'client.locus.join.response',
|
|
744
|
+
value: 20,
|
|
745
|
+
});
|
|
746
|
+
cdl.saveTimestamp({
|
|
747
|
+
key: 'internal.host.meeting.participant.admitted',
|
|
748
|
+
value: 24,
|
|
749
|
+
});
|
|
750
|
+
cdl.saveTimestamp({
|
|
751
|
+
key: 'client.ice.start',
|
|
752
|
+
value: 30,
|
|
753
|
+
});
|
|
754
|
+
cdl.saveTimestamp({
|
|
755
|
+
key: 'client.ice.end',
|
|
756
|
+
value: 40,
|
|
757
|
+
});
|
|
758
|
+
assert.deepEqual(cdl.getTotalMediaJMTWithUserDelay(), 35);
|
|
759
|
+
});
|
|
760
|
+
|
|
761
|
+
it('calculates getTotalMediaJMTWithUserDelay correctly for guest join', () => {
|
|
762
|
+
cdl.saveTimestamp({
|
|
763
|
+
key: 'internal.client.meeting.click.joinbutton',
|
|
764
|
+
value: 5,
|
|
765
|
+
});
|
|
766
|
+
cdl.saveTimestamp({
|
|
767
|
+
key: 'internal.client.meeting.interstitial-window.showed',
|
|
768
|
+
value: 8,
|
|
769
|
+
});
|
|
770
|
+
cdl.saveTimestamp({
|
|
771
|
+
key: 'internal.client.interstitial-window.click.joinbutton',
|
|
772
|
+
value: 10,
|
|
773
|
+
});
|
|
774
|
+
cdl.saveTimestamp({
|
|
775
|
+
key: 'client.locus.join.request',
|
|
776
|
+
value: 12,
|
|
777
|
+
});
|
|
778
|
+
cdl.saveTimestamp({
|
|
779
|
+
key: 'client.locus.join.response',
|
|
780
|
+
value: 20,
|
|
781
|
+
});
|
|
782
|
+
cdl.saveTimestamp({
|
|
783
|
+
key: 'internal.host.meeting.participant.admitted',
|
|
784
|
+
value: 24,
|
|
785
|
+
});
|
|
786
|
+
cdl.saveTimestamp({
|
|
787
|
+
key: 'client.ice.start',
|
|
788
|
+
value: 30,
|
|
789
|
+
});
|
|
790
|
+
cdl.saveTimestamp({
|
|
791
|
+
key: 'client.ice.end',
|
|
792
|
+
value: 40,
|
|
793
|
+
});
|
|
794
|
+
assert.deepEqual(cdl.getTotalMediaJMTWithUserDelay(), 31);
|
|
795
|
+
});
|
|
796
|
+
|
|
630
797
|
it('calculates getJoinConfJMT correctly', () => {
|
|
631
798
|
cdl.saveTimestamp({
|
|
632
799
|
key: 'client.locus.join.request',
|