diff --git a/Android.bp b/Android.bp
index e84e70b..cc7b4ad 100644
--- a/Android.bp
+++ b/Android.bp
@@ -5139,6 +5139,7 @@
         "protos/perfetto/metrics/android/android_boot.proto",
         "protos/perfetto/metrics/android/android_boot_unagg.proto",
         "protos/perfetto/metrics/android/android_frame_timeline_metric.proto",
+        "protos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto",
         "protos/perfetto/metrics/android/android_sysui_notifications_blocking_calls_metric.proto",
         "protos/perfetto/metrics/android/android_trusty_workqueues.proto",
         "protos/perfetto/metrics/android/anr_metric.proto",
@@ -5226,6 +5227,7 @@
         "protos/perfetto/metrics/android/android_boot.proto",
         "protos/perfetto/metrics/android/android_boot_unagg.proto",
         "protos/perfetto/metrics/android/android_frame_timeline_metric.proto",
+        "protos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto",
         "protos/perfetto/metrics/android/android_sysui_notifications_blocking_calls_metric.proto",
         "protos/perfetto/metrics/android/android_trusty_workqueues.proto",
         "protos/perfetto/metrics/android/anr_metric.proto",
@@ -5296,6 +5298,7 @@
         "protos/perfetto/metrics/android/android_boot.proto",
         "protos/perfetto/metrics/android/android_boot_unagg.proto",
         "protos/perfetto/metrics/android/android_frame_timeline_metric.proto",
+        "protos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto",
         "protos/perfetto/metrics/android/android_sysui_notifications_blocking_calls_metric.proto",
         "protos/perfetto/metrics/android/android_trusty_workqueues.proto",
         "protos/perfetto/metrics/android/anr_metric.proto",
@@ -11649,6 +11652,7 @@
         "src/trace_processor/metrics/sql/android/android_dvfs.sql",
         "src/trace_processor/metrics/sql/android/android_fastrpc.sql",
         "src/trace_processor/metrics/sql/android/android_frame_timeline_metric.sql",
+        "src/trace_processor/metrics/sql/android/android_garbage_collection_unagg.sql",
         "src/trace_processor/metrics/sql/android/android_gpu.sql",
         "src/trace_processor/metrics/sql/android/android_hwcomposer.sql",
         "src/trace_processor/metrics/sql/android/android_hwui_metric.sql",
diff --git a/BUILD b/BUILD
index 6a44d74..0fd0cb8 100644
--- a/BUILD
+++ b/BUILD
@@ -1949,6 +1949,7 @@
         "src/trace_processor/metrics/sql/android/android_dvfs.sql",
         "src/trace_processor/metrics/sql/android/android_fastrpc.sql",
         "src/trace_processor/metrics/sql/android/android_frame_timeline_metric.sql",
+        "src/trace_processor/metrics/sql/android/android_garbage_collection_unagg.sql",
         "src/trace_processor/metrics/sql/android/android_gpu.sql",
         "src/trace_processor/metrics/sql/android/android_hwcomposer.sql",
         "src/trace_processor/metrics/sql/android/android_hwui_metric.sql",
@@ -4296,6 +4297,7 @@
         "protos/perfetto/metrics/android/android_boot.proto",
         "protos/perfetto/metrics/android/android_boot_unagg.proto",
         "protos/perfetto/metrics/android/android_frame_timeline_metric.proto",
+        "protos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto",
         "protos/perfetto/metrics/android/android_sysui_notifications_blocking_calls_metric.proto",
         "protos/perfetto/metrics/android/android_trusty_workqueues.proto",
         "protos/perfetto/metrics/android/anr_metric.proto",
diff --git a/protos/perfetto/metrics/android/BUILD.gn b/protos/perfetto/metrics/android/BUILD.gn
index 9caeaef..33f4195 100644
--- a/protos/perfetto/metrics/android/BUILD.gn
+++ b/protos/perfetto/metrics/android/BUILD.gn
@@ -26,6 +26,7 @@
     "android_boot.proto",
     "android_boot_unagg.proto",
     "android_frame_timeline_metric.proto",
+    "android_garbage_collection_unagg_metric.proto",
     "android_sysui_notifications_blocking_calls_metric.proto",
     "android_trusty_workqueues.proto",
     "anr_metric.proto",
diff --git a/protos/perfetto/metrics/android/android_boot_unagg.proto b/protos/perfetto/metrics/android/android_boot_unagg.proto
index 12bf12b..c209840 100644
--- a/protos/perfetto/metrics/android/android_boot_unagg.proto
+++ b/protos/perfetto/metrics/android/android_boot_unagg.proto
@@ -19,7 +19,11 @@
 package perfetto.protos;
 
 import "protos/perfetto/metrics/android/app_process_starts_metric.proto";
+import "protos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto";
 
 message AndroidBootUnagg {
+  // Looks at all apps started after boot complete broadcast.
   optional AndroidAppProcessStartsMetric android_app_process_start_metric = 1;
+  // Looks at all GC that occurs after boot complete broadcast.
+  optional AndroidGarbageCollectionUnaggMetric android_post_boot_gc_metric = 2;
 }
diff --git a/protos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto b/protos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto
new file mode 100644
index 0000000..075b9a0
--- /dev/null
+++ b/protos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License")= ;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto2";
+
+package perfetto.protos;
+
+message AndroidGarbageCollectionUnaggMetric {
+  message GarbageCollectionEvent {
+    // Name of thread running garbage collection.
+    optional string thread_name = 1;
+    // Name of process running garbage collection.
+    optional string process_name = 2;
+    // Type of garbage collection.
+    optional string gc_type = 3;
+    // Whether gargage collection is mark compact or copying.
+    optional int64 is_mark_compact = 4;
+    // MB reclaimed after garbage collection.
+    optional double reclaimed_mb = 5;
+    // Minimum heap size in MB during garbage collection.
+    optional double min_heap_mb = 6;
+    // Maximum heap size in MB during garbage collection.
+    optional double max_heap_mb = 7;
+    // Memory reclaimed per ms of running time.
+    optional double mb_per_ms_of_running_gc = 8;
+    // Memory reclaimed per ms of wall time.
+    optional double mb_per_ms_of_wall_gc = 9;
+    // Garbage collection wall duration.
+    optional int64 gc_dur = 10;
+    // Garbage collection duration spent executing on CPU.
+    optional int64 gc_running_dur = 11;
+    // Garbage collection duration spent waiting for CPU.
+    optional int64 gc_runnable_dur = 12;
+    // Garbage collection duration spent waiting in the Linux kernel on IO.
+    optional int64 gc_unint_io_dur = 13;
+    // Garbage collection duration spent waiting in the Linux kernel without IO.
+    optional int64 gc_unint_non_io_dur = 14;
+    // Garbage collection duration spent waiting in interruptible sleep.
+    optional int64 gc_int_dur = 15;
+    // ts of the event in trace.
+    optional int64 gc_ts = 16;
+    // pid of the event in trace.
+    optional int64 pid = 17;
+    // tid of the event in trace.
+    optional int64 tid = 18;
+    // monotonic duration of event.
+    optional int64 gc_monotonic_dur = 19;
+  }
+  repeated GarbageCollectionEvent gc_events = 1;
+}
\ No newline at end of file
diff --git a/protos/perfetto/metrics/android/app_process_starts_metric.proto b/protos/perfetto/metrics/android/app_process_starts_metric.proto
index dafce94..e8457df 100644
--- a/protos/perfetto/metrics/android/app_process_starts_metric.proto
+++ b/protos/perfetto/metrics/android/app_process_starts_metric.proto
@@ -18,7 +18,6 @@
 
 package perfetto.protos;
 
-// Looks at all apps started after boot complete broadcast.
 message AndroidAppProcessStartsMetric {
   // Next id : 4
   message ProcessStart {
diff --git a/protos/perfetto/metrics/metrics.proto b/protos/perfetto/metrics/metrics.proto
index 8bd4d38..5130b29 100644
--- a/protos/perfetto/metrics/metrics.proto
+++ b/protos/perfetto/metrics/metrics.proto
@@ -21,6 +21,7 @@
 import "protos/perfetto/metrics/android/ad_services_metric.proto";
 import "protos/perfetto/metrics/android/android_boot.proto";
 import "protos/perfetto/metrics/android/android_boot_unagg.proto";
+import "protos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto";
 import "protos/perfetto/metrics/android/sysui_notif_shade_list_builder_metric.proto";
 import "protos/perfetto/metrics/android/sysui_update_notif_on_ui_mode_changed_metric.proto";
 import "protos/perfetto/metrics/android/android_frame_timeline_metric.proto";
@@ -286,6 +287,9 @@
   // Android boot unaggregated metrics.
   optional AndroidBootUnagg android_boot_unagg = 62;
 
+  // Android garbage collection metrics
+  optional AndroidGarbageCollectionUnaggMetric android_garbage_collection_unagg = 63;
+
   // Demo extensions.
   extensions 450 to 499;
 
diff --git a/protos/perfetto/metrics/perfetto_merged_metrics.proto b/protos/perfetto/metrics/perfetto_merged_metrics.proto
index 58f9731..eb9ab74 100644
--- a/protos/perfetto/metrics/perfetto_merged_metrics.proto
+++ b/protos/perfetto/metrics/perfetto_merged_metrics.proto
@@ -193,9 +193,55 @@
 
 // End of protos/perfetto/metrics/android/android_boot.proto
 
+// Begin of protos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto
+
+message AndroidGarbageCollectionUnaggMetric {
+  message GarbageCollectionEvent {
+    // Name of thread running garbage collection.
+    optional string thread_name = 1;
+    // Name of process running garbage collection.
+    optional string process_name = 2;
+    // Type of garbage collection.
+    optional string gc_type = 3;
+    // Whether gargage collection is mark compact or copying.
+    optional int64 is_mark_compact = 4;
+    // MB reclaimed after garbage collection.
+    optional double reclaimed_mb = 5;
+    // Minimum heap size in MB during garbage collection.
+    optional double min_heap_mb = 6;
+    // Maximum heap size in MB during garbage collection.
+    optional double max_heap_mb = 7;
+    // Memory reclaimed per ms of running time.
+    optional double mb_per_ms_of_running_gc = 8;
+    // Memory reclaimed per ms of wall time.
+    optional double mb_per_ms_of_wall_gc = 9;
+    // Garbage collection wall duration.
+    optional int64 gc_dur = 10;
+    // Garbage collection duration spent executing on CPU.
+    optional int64 gc_running_dur = 11;
+    // Garbage collection duration spent waiting for CPU.
+    optional int64 gc_runnable_dur = 12;
+    // Garbage collection duration spent waiting in the Linux kernel on IO.
+    optional int64 gc_unint_io_dur = 13;
+    // Garbage collection duration spent waiting in the Linux kernel without IO.
+    optional int64 gc_unint_non_io_dur = 14;
+    // Garbage collection duration spent waiting in interruptible sleep.
+    optional int64 gc_int_dur = 15;
+    // ts of the event in trace.
+    optional int64 gc_ts = 16;
+    // pid of the event in trace.
+    optional int64 pid = 17;
+    // tid of the event in trace.
+    optional int64 tid = 18;
+    // monotonic duration of event.
+    optional int64 gc_monotonic_dur = 19;
+  }
+  repeated GarbageCollectionEvent gc_events = 1;
+}
+// End of protos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto
+
 // Begin of protos/perfetto/metrics/android/app_process_starts_metric.proto
 
-// Looks at all apps started after boot complete broadcast.
 message AndroidAppProcessStartsMetric {
   // Next id : 4
   message ProcessStart {
@@ -223,7 +269,10 @@
 // Begin of protos/perfetto/metrics/android/android_boot_unagg.proto
 
 message AndroidBootUnagg {
+  // Looks at all apps started after boot complete broadcast.
   optional AndroidAppProcessStartsMetric android_app_process_start_metric = 1;
+  // Looks at all GC that occurs after boot complete broadcast.
+  optional AndroidGarbageCollectionUnaggMetric android_post_boot_gc_metric = 2;
 }
 
 // End of protos/perfetto/metrics/android/android_boot_unagg.proto
@@ -2642,6 +2691,9 @@
   // Android boot unaggregated metrics.
   optional AndroidBootUnagg android_boot_unagg = 62;
 
+  // Android garbage collection metrics
+  optional AndroidGarbageCollectionUnaggMetric android_garbage_collection_unagg = 63;
+
   // Demo extensions.
   extensions 450 to 499;
 
diff --git a/python/perfetto/trace_processor/metrics.descriptor b/python/perfetto/trace_processor/metrics.descriptor
index 9783b76..5c04c0a 100644
--- a/python/perfetto/trace_processor/metrics.descriptor
+++ b/python/perfetto/trace_processor/metrics.descriptor
Binary files differ
diff --git a/src/trace_processor/metrics/sql/android/BUILD.gn b/src/trace_processor/metrics/sql/android/BUILD.gn
index c92ba32..0aa6e64 100644
--- a/src/trace_processor/metrics/sql/android/BUILD.gn
+++ b/src/trace_processor/metrics/sql/android/BUILD.gn
@@ -35,6 +35,7 @@
     "android_dvfs.sql",
     "android_fastrpc.sql",
     "android_frame_timeline_metric.sql",
+    "android_garbage_collection_unagg.sql",
     "android_gpu.sql",
     "android_hwcomposer.sql",
     "android_hwui_metric.sql",
diff --git a/src/trace_processor/metrics/sql/android/android_boot_unagg.sql b/src/trace_processor/metrics/sql/android/android_boot_unagg.sql
index 2444b22..a1ba096 100644
--- a/src/trace_processor/metrics/sql/android/android_boot_unagg.sql
+++ b/src/trace_processor/metrics/sql/android/android_boot_unagg.sql
@@ -15,6 +15,8 @@
 --
 
 INCLUDE PERFETTO MODULE android.app_process_starts;
+INCLUDE PERFETTO MODULE android.garbage_collection;
+INCLUDE PERFETTO MODULE android.suspend;
 
 DROP VIEW IF EXISTS android_boot_unagg_output;
 CREATE PERFETTO VIEW android_boot_unagg_output AS
@@ -71,6 +73,35 @@
             ASC LIMIT 1 )
             AND reason = "service"
         )
-    )
-  )
+    )),
+    'android_post_boot_gc_metric', (SELECT AndroidGarbageCollectionUnaggMetric(
+        'gc_events', (
+            SELECT RepeatedField(
+                AndroidGarbageCollectionUnaggMetric_GarbageCollectionEvent(
+                    'thread_name', thread_name,
+                    'process_name', process_name,
+                    'gc_type', gc_type,
+                    'is_mark_compact', is_mark_compact,
+                    'reclaimed_mb', reclaimed_mb,
+                    'min_heap_mb', min_heap_mb,
+                    'max_heap_mb', max_heap_mb,
+                    'mb_per_ms_of_running_gc', reclaimed_mb/(gc_running_dur/1e6),
+                    'mb_per_ms_of_wall_gc', reclaimed_mb/(gc_dur/1e6),
+                    'gc_dur', gc_dur,
+                    'gc_running_dur', gc_running_dur,
+                    'gc_runnable_dur', gc_runnable_dur,
+                    'gc_unint_io_dur', gc_unint_io_dur,
+                    'gc_unint_non_io_dur', gc_unint_non_io_dur,
+                    'gc_int_dur', gc_int_dur,
+                    'gc_ts', gc_ts,
+                    'tid', tid,
+                    'pid', pid,
+                    'gc_monotonic_dur', _extract_duration_without_suspend(gc_ts, gc_dur)
+                )
+            ) FROM android_garbage_collection_events WHERE gc_ts > (SELECT COALESCE(MIN(ts), 0)
+                FROM thread_slice WHERE name GLOB "*android.intent.action.USER_UNLOCKED*" ORDER BY ts
+                ASC LIMIT 1
+            )
+        )
+    ))
 );
diff --git a/src/trace_processor/metrics/sql/android/android_garbage_collection_unagg.sql b/src/trace_processor/metrics/sql/android/android_garbage_collection_unagg.sql
new file mode 100644
index 0000000..ee54b7e
--- /dev/null
+++ b/src/trace_processor/metrics/sql/android/android_garbage_collection_unagg.sql
@@ -0,0 +1,47 @@
+--
+-- Copyright 2024 The Android Open Source Project
+--
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+--
+--     https://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+INCLUDE PERFETTO MODULE android.garbage_collection;
+INCLUDE PERFETTO MODULE android.suspend;
+
+DROP VIEW IF EXISTS android_garbage_collection_unagg_output;
+CREATE PERFETTO VIEW android_garbage_collection_unagg_output AS
+SELECT AndroidGarbageCollectionUnaggMetric(
+  'gc_events', (
+    SELECT RepeatedField(
+      AndroidGarbageCollectionUnaggMetric_GarbageCollectionEvent(
+        'thread_name', thread_name,
+        'process_name', process_name,
+        'gc_type', gc_type,
+        'is_mark_compact', is_mark_compact,
+        'reclaimed_mb', reclaimed_mb,
+        'min_heap_mb', min_heap_mb,
+        'max_heap_mb', max_heap_mb,
+        'mb_per_ms_of_running_gc', reclaimed_mb/(gc_running_dur/1e6),
+        'mb_per_ms_of_wall_gc', reclaimed_mb/(gc_dur/1e6),
+        'gc_dur', gc_dur,
+        'gc_running_dur', gc_running_dur,
+        'gc_runnable_dur', gc_runnable_dur,
+        'gc_unint_io_dur', gc_unint_io_dur,
+        'gc_unint_non_io_dur', gc_unint_non_io_dur,
+        'gc_int_dur', gc_int_dur,
+        'gc_ts', gc_ts,
+        'tid', tid,
+        'pid', pid,
+        'gc_monotonic_dur', _extract_duration_without_suspend(gc_ts, gc_dur)
+      )) FROM android_garbage_collection_events
+  )
+);
diff --git a/test/trace_processor/diff_tests/metrics/android/android_boot_unagg.out b/test/trace_processor/diff_tests/metrics/android/android_boot_unagg.out
index 568da0b..cb0d712 100644
--- a/test/trace_processor/diff_tests/metrics/android/android_boot_unagg.out
+++ b/test/trace_processor/diff_tests/metrics/android/android_boot_unagg.out
@@ -214,4 +214,80 @@
       total_dur: 583162190
     }
   }
+  android_post_boot_gc_metric {
+    gc_events {
+      thread_name: "HeapTaskDaemon"
+      process_name: "com.google.android.deskclock"
+      gc_type: "full"
+      is_mark_compact: 1
+      reclaimed_mb: 3.1430000000000002
+      min_heap_mb: 2.754000
+      max_heap_mb: 5.897000
+      mb_per_ms_of_running_gc: 0.3262420579054222
+      mb_per_ms_of_wall_gc: 0.004718018639325977
+      gc_dur: 666169475
+      gc_running_dur: 9633951
+      gc_runnable_dur: 44371461
+      gc_unint_io_dur: 0
+      gc_unint_non_io_dur: 0
+      gc_int_dur: 0
+      gc_ts: 39041818011
+      tid: 3185
+      pid: 3162
+      gc_monotonic_dur: 666169475
+    }
+    gc_events {
+      thread_name: "HeapTaskDaemon"
+      process_name: "com.google.android.apps.nexuslauncher"
+      gc_type: "full"
+      is_mark_compact: 1
+      reclaimed_mb: 10.640000
+      min_heap_mb: 6.861000
+      max_heap_mb: 17.501000
+      mb_per_ms_of_running_gc: 93.68918788028213
+      mb_per_ms_of_wall_gc: 0.18073523433053545
+      gc_dur: 58870646
+      gc_running_dur: 113567
+      gc_runnable_dur: 0
+      gc_unint_io_dur: 0
+      gc_unint_non_io_dur: 0
+      gc_int_dur: 0
+      gc_ts: 39849615741
+      tid: 2534
+      pid: 2523
+      gc_monotonic_dur: 58870646
+    }
+    gc_events {
+      thread_name: "HeapTaskDaemon"
+      process_name: "com.google.android.apps.wellbeing"
+      gc_type: "full"
+      is_mark_compact: 1
+      gc_dur: 168393585
+      gc_running_dur: 1714233
+      gc_runnable_dur: 28482219
+      gc_unint_io_dur: 0
+      gc_unint_non_io_dur: 0
+      gc_int_dur: -1
+      gc_ts: 40022150450
+      tid: 2917
+      pid: 2909
+      gc_monotonic_dur: 168393585
+    }
+    gc_events {
+      thread_name: "HeapTaskDaemon"
+      process_name: "com.google.android.euicc"
+      gc_type: "full"
+      is_mark_compact: 1
+      gc_dur: 148630605
+      gc_running_dur: 4148763
+      gc_runnable_dur: -1
+      gc_unint_io_dur: 0
+      gc_unint_non_io_dur: 0
+      gc_int_dur: 0
+      gc_ts: 40041913430
+      tid: 2865
+      pid: 2855
+      gc_monotonic_dur: 148630605
+    }
+  }
 }
\ No newline at end of file
diff --git a/test/trace_processor/diff_tests/metrics/android/android_garbage_collection_unagg.out b/test/trace_processor/diff_tests/metrics/android/android_garbage_collection_unagg.out
new file mode 100644
index 0000000..1341536
--- /dev/null
+++ b/test/trace_processor/diff_tests/metrics/android/android_garbage_collection_unagg.out
@@ -0,0 +1,76 @@
+android_garbage_collection_unagg {
+  gc_events {
+    thread_name: "HeapTaskDaemon"
+    process_name: "com.google.android.deskclock"
+    gc_type: "full"
+    is_mark_compact: 1
+    reclaimed_mb: 3.1430000000000002
+    min_heap_mb: 2.754000
+    max_heap_mb: 5.897000
+    mb_per_ms_of_running_gc: 0.3262420579054222
+    mb_per_ms_of_wall_gc: 0.004718018639325977
+    gc_dur: 666169475
+    gc_running_dur: 9633951
+    gc_runnable_dur: 44371461
+    gc_unint_io_dur: 0
+    gc_unint_non_io_dur: 0
+    gc_int_dur: 0
+    gc_ts: 39041818011
+    tid: 3185
+    pid: 3162
+    gc_monotonic_dur: 666169475
+  }
+  gc_events {
+    thread_name: "HeapTaskDaemon"
+    process_name: "com.google.android.apps.nexuslauncher"
+    gc_type: "full"
+    is_mark_compact: 1
+    reclaimed_mb: 10.640000
+    min_heap_mb: 6.861000
+    max_heap_mb: 17.501000
+    mb_per_ms_of_running_gc: 93.68918788028213
+    mb_per_ms_of_wall_gc: 0.18073523433053545
+    gc_dur: 58870646
+    gc_running_dur: 113567
+    gc_runnable_dur: 0
+    gc_unint_io_dur: 0
+    gc_unint_non_io_dur: 0
+    gc_int_dur: 0
+    gc_ts: 39849615741
+    tid: 2534
+    pid: 2523
+    gc_monotonic_dur: 58870646
+  }
+  gc_events {
+    thread_name: "HeapTaskDaemon"
+    process_name: "com.google.android.apps.wellbeing"
+    gc_type: "full"
+    is_mark_compact: 1
+    gc_dur: 168393585
+    gc_running_dur: 1714233
+    gc_runnable_dur: 28482219
+    gc_unint_io_dur: 0
+    gc_unint_non_io_dur: 0
+    gc_int_dur: -1
+    gc_ts: 40022150450
+    tid: 2917
+    pid: 2909
+    gc_monotonic_dur: 168393585
+  }
+  gc_events {
+    thread_name: "HeapTaskDaemon"
+    process_name: "com.google.android.euicc"
+    gc_type: "full"
+    is_mark_compact: 1
+    gc_dur: 148630605
+    gc_running_dur: 4148763
+    gc_runnable_dur: -1
+    gc_unint_io_dur: 0
+    gc_unint_non_io_dur: 0
+    gc_int_dur: 0
+    gc_ts: 40041913430
+    tid: 2865
+    pid: 2855
+    gc_monotonic_dur: 148630605
+  }
+}
\ No newline at end of file
diff --git a/test/trace_processor/diff_tests/metrics/android/tests.py b/test/trace_processor/diff_tests/metrics/android/tests.py
index cb0c0a2..f5de58f 100644
--- a/test/trace_processor/diff_tests/metrics/android/tests.py
+++ b/test/trace_processor/diff_tests/metrics/android/tests.py
@@ -229,4 +229,10 @@
       trace=DataPath('android_postboot_unlock.pftrace'),
       query=Metric("android_app_process_starts"),
       out=Path('android_app_process_starts.out')
-    )
\ No newline at end of file
+    )
+
+  def test_android_garbage_collection(self):
+    return DiffTestBlueprint(
+        trace=DataPath('android_postboot_unlock.pftrace'),
+        query=Metric('android_garbage_collection_unagg'),
+        out=Path('android_garbage_collection_unagg.out'))
\ No newline at end of file
