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