@@ -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