@@ -66,6 +66,9 @@ public final class GaugeManagerTest extends FirebasePerformanceTestBase {
6666 private static final long DEFAULT_MEMORY_GAUGE_COLLECTION_FREQUENCY_BG_MS = 120 ;
6767 private static final long DEFAULT_MEMORY_GAUGE_COLLECTION_FREQUENCY_FG_MS = 60 ;
6868
69+ // See [com.google.firebase.perf.session.gauges.GaugeCounter].
70+ private static long MAX_GAUGE_COUNTER_BEFORE_LOGGING = 50 ;
71+
6972 private GaugeManager testGaugeManager = null ;
7073 private FakeScheduledExecutorService fakeScheduledExecutorService = null ;
7174 private TransportManager mockTransportManager = null ;
@@ -340,8 +343,7 @@ public void testGaugeCounterStartsAJobToConsumeTheGeneratedMetrics() {
340343 // There's no job to log the gauges.
341344 assertThat (fakeScheduledExecutorService .isEmpty ()).isTrue ();
342345
343- // Generate metrics that don't exceed the GaugeCounter.MAX_COUNT.
344- generateMetricsAndIncrementCounter (20 );
346+ generateMetricsAndIncrementCounter (MAX_GAUGE_COUNTER_BEFORE_LOGGING - 10 );
345347
346348 // There's still no job to log the gauges.
347349 assertThat (fakeScheduledExecutorService .isEmpty ()).isTrue ();
@@ -366,7 +368,7 @@ public void testGaugeCounterStartsAJobToConsumeTheGeneratedMetrics() {
366368 int recordedGaugeMetricsCount =
367369 recordedGaugeMetric .getAndroidMemoryReadingsCount ()
368370 + recordedGaugeMetric .getCpuMetricReadingsCount ();
369- assertThat (recordedGaugeMetricsCount ).isEqualTo (30 );
371+ assertThat (recordedGaugeMetricsCount ).isEqualTo (MAX_GAUGE_COUNTER_BEFORE_LOGGING );
370372
371373 assertThat (recordedGaugeMetric .getSessionId ()).isEqualTo (testSessionId (1 ));
372374 }
@@ -410,7 +412,7 @@ public void testUpdateAppStateHandlesMultipleAppStates() {
410412 GaugeCounter .setGaugeManager (testGaugeManager );
411413
412414 // Generate metrics that don't exceed the GaugeCounter.MAX_COUNT.
413- generateMetricsAndIncrementCounter (10 );
415+ generateMetricsAndIncrementCounter (MAX_GAUGE_COUNTER_BEFORE_LOGGING - 10 );
414416
415417 // There's no job to log the gauges.
416418 assertThat (fakeScheduledExecutorService .isEmpty ()).isTrue ();
@@ -425,7 +427,7 @@ public void testUpdateAppStateHandlesMultipleAppStates() {
425427 shadowOf (Looper .getMainLooper ()).idle ();
426428
427429 // Generate additional metrics in the new app state.
428- generateMetricsAndIncrementCounter (26 );
430+ generateMetricsAndIncrementCounter (MAX_GAUGE_COUNTER_BEFORE_LOGGING + 1 );
429431
430432 GaugeMetric recordedGaugeMetric =
431433 getLastRecordedGaugeMetric (ApplicationProcessState .FOREGROUND );
@@ -434,7 +436,7 @@ public void testUpdateAppStateHandlesMultipleAppStates() {
434436 int recordedGaugeMetricsCount =
435437 recordedGaugeMetric .getAndroidMemoryReadingsCount ()
436438 + recordedGaugeMetric .getCpuMetricReadingsCount ();
437- assertThat (recordedGaugeMetricsCount ).isEqualTo (10 );
439+ assertThat (recordedGaugeMetricsCount ).isEqualTo (MAX_GAUGE_COUNTER_BEFORE_LOGGING - 10 );
438440
439441 assertThat (recordedGaugeMetric .getSessionId ()).isEqualTo (testSessionId (1 ));
440442
@@ -448,7 +450,7 @@ public void testUpdateAppStateHandlesMultipleAppStates() {
448450 recordedGaugeMetricsCount =
449451 recordedGaugeMetric .getAndroidMemoryReadingsCount ()
450452 + recordedGaugeMetric .getCpuMetricReadingsCount ();
451- assertThat (recordedGaugeMetricsCount ).isEqualTo (26 );
453+ assertThat (recordedGaugeMetricsCount ).isEqualTo (MAX_GAUGE_COUNTER_BEFORE_LOGGING + 1 );
452454
453455 assertThat (recordedGaugeMetric .getSessionId ()).isEqualTo (testSessionId (1 ));
454456 }
@@ -462,7 +464,7 @@ public void testGaugeManagerHandlesMultipleSessionIds() {
462464 GaugeCounter .setGaugeManager (testGaugeManager );
463465
464466 // Generate metrics that don't exceed the GaugeCounter.MAX_COUNT.
465- generateMetricsAndIncrementCounter (10 );
467+ generateMetricsAndIncrementCounter (MAX_GAUGE_COUNTER_BEFORE_LOGGING - 10 );
466468
467469 PerfSession updatedPerfSession = createTestSession (2 );
468470 updatedPerfSession .setGaugeAndEventCollectionEnabled (true );
@@ -479,7 +481,7 @@ public void testGaugeManagerHandlesMultipleSessionIds() {
479481 shadowOf (Looper .getMainLooper ()).idle ();
480482
481483 // Generate metrics for the new session.
482- generateMetricsAndIncrementCounter (26 );
484+ generateMetricsAndIncrementCounter (MAX_GAUGE_COUNTER_BEFORE_LOGGING + 1 );
483485
484486 GaugeMetric recordedGaugeMetric =
485487 getLastRecordedGaugeMetric (ApplicationProcessState .BACKGROUND );
@@ -488,7 +490,7 @@ public void testGaugeManagerHandlesMultipleSessionIds() {
488490 int recordedGaugeMetricsCount =
489491 recordedGaugeMetric .getAndroidMemoryReadingsCount ()
490492 + recordedGaugeMetric .getCpuMetricReadingsCount ();
491- assertThat (recordedGaugeMetricsCount ).isEqualTo (10 );
493+ assertThat (recordedGaugeMetricsCount ).isEqualTo (MAX_GAUGE_COUNTER_BEFORE_LOGGING - 10 );
492494
493495 assertThat (recordedGaugeMetric .getSessionId ()).isEqualTo (testSessionId (1 ));
494496
@@ -502,7 +504,7 @@ public void testGaugeManagerHandlesMultipleSessionIds() {
502504 recordedGaugeMetricsCount =
503505 recordedGaugeMetric .getAndroidMemoryReadingsCount ()
504506 + recordedGaugeMetric .getCpuMetricReadingsCount ();
505- assertThat (recordedGaugeMetricsCount ).isEqualTo (26 );
507+ assertThat (recordedGaugeMetricsCount ).isEqualTo (MAX_GAUGE_COUNTER_BEFORE_LOGGING + 1 );
506508
507509 assertThat (recordedGaugeMetric .getSessionId ()).isEqualTo (testSessionId (2 ));
508510 }
@@ -638,7 +640,7 @@ private long getMinimumBackgroundCollectionFrequency() {
638640 }
639641
640642 // Simulates the behavior of Cpu and Memory Gauge collector.
641- private void generateMetricsAndIncrementCounter (int count ) {
643+ private void generateMetricsAndIncrementCounter (long count ) {
642644 // TODO(b/394127311): Explore actually collecting metrics using the fake Cpu and Memory
643645 // metric collectors.
644646 Random random = new Random ();
0 commit comments