@@ -66,9 +66,6 @@ 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- 
7269  private  GaugeManager  testGaugeManager  = null ;
7370  private  FakeScheduledExecutorService  fakeScheduledExecutorService  = null ;
7471  private  TransportManager  mockTransportManager  = null ;
@@ -343,7 +340,8 @@ public void testGaugeCounterStartsAJobToConsumeTheGeneratedMetrics() {
343340    // There's no job to log the gauges. 
344341    assertThat (fakeScheduledExecutorService .isEmpty ()).isTrue ();
345342
346-     generateMetricsAndIncrementCounter (MAX_GAUGE_COUNTER_BEFORE_LOGGING  - 10 );
343+     // Generate metrics that don't exceed the GaugeCounter.MAX_COUNT. 
344+     generateMetricsAndIncrementCounter (20 );
347345
348346    // There's still no job to log the gauges. 
349347    assertThat (fakeScheduledExecutorService .isEmpty ()).isTrue ();
@@ -368,7 +366,7 @@ public void testGaugeCounterStartsAJobToConsumeTheGeneratedMetrics() {
368366    int  recordedGaugeMetricsCount  =
369367        recordedGaugeMetric .getAndroidMemoryReadingsCount ()
370368            + recordedGaugeMetric .getCpuMetricReadingsCount ();
371-     assertThat (recordedGaugeMetricsCount ).isEqualTo (MAX_GAUGE_COUNTER_BEFORE_LOGGING );
369+     assertThat (recordedGaugeMetricsCount ).isEqualTo (30 );
372370
373371    assertThat (recordedGaugeMetric .getSessionId ()).isEqualTo (testSessionId (1 ));
374372  }
@@ -385,7 +383,8 @@ public void testGaugeCounterIsDecrementedWhenLogged() {
385383    // There's no job to log the gauges. 
386384    assertThat (fakeScheduledExecutorService .isEmpty ()).isTrue ();
387385
388-     generateMetricsAndIncrementCounter (MAX_GAUGE_COUNTER_BEFORE_LOGGING  - 10 );
386+     // Generate metrics that don't exceed the GaugeCounter.MAX_COUNT. 
387+     generateMetricsAndIncrementCounter (20 );
389388
390389    // There's still no job to log the gauges. 
391390    assertThat (fakeScheduledExecutorService .isEmpty ()).isTrue ();
@@ -396,8 +395,7 @@ public void testGaugeCounterIsDecrementedWhenLogged() {
396395    assertThat (fakeScheduledExecutorService .getDelayToNextTask (TimeUnit .MILLISECONDS ))
397396        .isEqualTo (TIME_TO_WAIT_BEFORE_FLUSHING_GAUGES_QUEUE_MS );
398397
399-     assertThat (GaugeCounter .count ())
400-         .isEqualTo (priorGaugeCounter  + MAX_GAUGE_COUNTER_BEFORE_LOGGING );
398+     assertThat (GaugeCounter .count ()).isEqualTo (priorGaugeCounter  + 30 );
401399    fakeScheduledExecutorService .simulateSleepExecutingAtMostOneTask ();
402400
403401    assertThat (GaugeCounter .count ()).isEqualTo (priorGaugeCounter );
@@ -412,7 +410,7 @@ public void testUpdateAppStateHandlesMultipleAppStates() {
412410    GaugeCounter .setGaugeManager (testGaugeManager );
413411
414412    // Generate metrics that don't exceed the GaugeCounter.MAX_COUNT. 
415-     generateMetricsAndIncrementCounter (MAX_GAUGE_COUNTER_BEFORE_LOGGING  -  10 );
413+     generateMetricsAndIncrementCounter (10 );
416414
417415    // There's no job to log the gauges. 
418416    assertThat (fakeScheduledExecutorService .isEmpty ()).isTrue ();
@@ -427,7 +425,7 @@ public void testUpdateAppStateHandlesMultipleAppStates() {
427425    shadowOf (Looper .getMainLooper ()).idle ();
428426
429427    // Generate additional metrics in the new app state. 
430-     generateMetricsAndIncrementCounter (MAX_GAUGE_COUNTER_BEFORE_LOGGING  +  1 );
428+     generateMetricsAndIncrementCounter (26 );
431429
432430    GaugeMetric  recordedGaugeMetric  =
433431        getLastRecordedGaugeMetric (ApplicationProcessState .FOREGROUND );
@@ -436,7 +434,7 @@ public void testUpdateAppStateHandlesMultipleAppStates() {
436434    int  recordedGaugeMetricsCount  =
437435        recordedGaugeMetric .getAndroidMemoryReadingsCount ()
438436            + recordedGaugeMetric .getCpuMetricReadingsCount ();
439-     assertThat (recordedGaugeMetricsCount ).isEqualTo (MAX_GAUGE_COUNTER_BEFORE_LOGGING  -  10 );
437+     assertThat (recordedGaugeMetricsCount ).isEqualTo (10 );
440438
441439    assertThat (recordedGaugeMetric .getSessionId ()).isEqualTo (testSessionId (1 ));
442440
@@ -450,7 +448,7 @@ public void testUpdateAppStateHandlesMultipleAppStates() {
450448    recordedGaugeMetricsCount  =
451449        recordedGaugeMetric .getAndroidMemoryReadingsCount ()
452450            + recordedGaugeMetric .getCpuMetricReadingsCount ();
453-     assertThat (recordedGaugeMetricsCount ).isEqualTo (MAX_GAUGE_COUNTER_BEFORE_LOGGING  +  1 );
451+     assertThat (recordedGaugeMetricsCount ).isEqualTo (26 );
454452
455453    assertThat (recordedGaugeMetric .getSessionId ()).isEqualTo (testSessionId (1 ));
456454  }
@@ -464,7 +462,7 @@ public void testGaugeManagerHandlesMultipleSessionIds() {
464462    GaugeCounter .setGaugeManager (testGaugeManager );
465463
466464    // Generate metrics that don't exceed the GaugeCounter.MAX_COUNT. 
467-     generateMetricsAndIncrementCounter (MAX_GAUGE_COUNTER_BEFORE_LOGGING  -  10 );
465+     generateMetricsAndIncrementCounter (10 );
468466
469467    PerfSession  updatedPerfSession  = createTestSession (2 );
470468    updatedPerfSession .setGaugeAndEventCollectionEnabled (true );
@@ -481,7 +479,7 @@ public void testGaugeManagerHandlesMultipleSessionIds() {
481479    shadowOf (Looper .getMainLooper ()).idle ();
482480
483481    // Generate metrics for the new session. 
484-     generateMetricsAndIncrementCounter (MAX_GAUGE_COUNTER_BEFORE_LOGGING  +  1 );
482+     generateMetricsAndIncrementCounter (26 );
485483
486484    GaugeMetric  recordedGaugeMetric  =
487485        getLastRecordedGaugeMetric (ApplicationProcessState .BACKGROUND );
@@ -490,7 +488,7 @@ public void testGaugeManagerHandlesMultipleSessionIds() {
490488    int  recordedGaugeMetricsCount  =
491489        recordedGaugeMetric .getAndroidMemoryReadingsCount ()
492490            + recordedGaugeMetric .getCpuMetricReadingsCount ();
493-     assertThat (recordedGaugeMetricsCount ).isEqualTo (MAX_GAUGE_COUNTER_BEFORE_LOGGING  -  10 );
491+     assertThat (recordedGaugeMetricsCount ).isEqualTo (10 );
494492
495493    assertThat (recordedGaugeMetric .getSessionId ()).isEqualTo (testSessionId (1 ));
496494
@@ -504,7 +502,7 @@ public void testGaugeManagerHandlesMultipleSessionIds() {
504502    recordedGaugeMetricsCount  =
505503        recordedGaugeMetric .getAndroidMemoryReadingsCount ()
506504            + recordedGaugeMetric .getCpuMetricReadingsCount ();
507-     assertThat (recordedGaugeMetricsCount ).isEqualTo (MAX_GAUGE_COUNTER_BEFORE_LOGGING  +  1 );
505+     assertThat (recordedGaugeMetricsCount ).isEqualTo (26 );
508506
509507    assertThat (recordedGaugeMetric .getSessionId ()).isEqualTo (testSessionId (2 ));
510508  }
@@ -561,7 +559,7 @@ public void testLogGaugeMetadataSendDataToTransport() {
561559    when (fakeGaugeMetadataManager .getMaxAppJavaHeapMemoryKb ()).thenReturn (1000 );
562560    when (fakeGaugeMetadataManager .getMaxEncouragedAppJavaHeapMemoryKb ()).thenReturn (800 );
563561
564-     testGaugeManager .logGaugeMetadata (testSessionId (1 ));
562+     testGaugeManager .logGaugeMetadata (testSessionId (1 ),  ApplicationProcessState . FOREGROUND );
565563
566564    GaugeMetric  recordedGaugeMetric  =
567565        getLastRecordedGaugeMetric (ApplicationProcessState .FOREGROUND );
@@ -588,7 +586,9 @@ public void testLogGaugeMetadataDoesNotLogWhenGaugeMetadataManagerNotAvailable()
588586            new  Lazy <>(() -> fakeCpuGaugeCollector ),
589587            new  Lazy <>(() -> fakeMemoryGaugeCollector ));
590588
591-     assertThat (testGaugeManager .logGaugeMetadata (testSessionId (1 ))).isFalse ();
589+     assertThat (
590+             testGaugeManager .logGaugeMetadata (testSessionId (1 ), ApplicationProcessState .FOREGROUND ))
591+         .isFalse ();
592592  }
593593
594594  @ Test 
@@ -603,10 +603,14 @@ public void testLogGaugeMetadataLogsAfterApplicationContextIsSet() {
603603            new  Lazy <>(() -> fakeCpuGaugeCollector ),
604604            new  Lazy <>(() -> fakeMemoryGaugeCollector ));
605605
606-     assertThat (testGaugeManager .logGaugeMetadata (testSessionId (1 ))).isFalse ();
606+     assertThat (
607+             testGaugeManager .logGaugeMetadata (testSessionId (1 ), ApplicationProcessState .FOREGROUND ))
608+         .isFalse ();
607609
608610    testGaugeManager .initializeGaugeMetadataManager (ApplicationProvider .getApplicationContext ());
609-     assertThat (testGaugeManager .logGaugeMetadata (testSessionId (1 ))).isTrue ();
611+     assertThat (
612+             testGaugeManager .logGaugeMetadata (testSessionId (1 ), ApplicationProcessState .FOREGROUND ))
613+         .isTrue ();
610614
611615    GaugeMetric  recordedGaugeMetric  =
612616        getLastRecordedGaugeMetric (ApplicationProcessState .FOREGROUND );
@@ -634,7 +638,7 @@ private long getMinimumBackgroundCollectionFrequency() {
634638  }
635639
636640  // Simulates the behavior of Cpu and Memory Gauge collector. 
637-   private  void  generateMetricsAndIncrementCounter (long  count ) {
641+   private  void  generateMetricsAndIncrementCounter (int  count ) {
638642    // TODO(b/394127311): Explore actually collecting metrics using the fake Cpu and Memory 
639643    //  metric collectors. 
640644    Random  random  = new  Random ();
0 commit comments