diff --git components/metrics/persistent_system_profile.cc components/metrics/persistent_system_profile.cc
index f594c075834e3..2165b9196ce03 100644
--- components/metrics/persistent_system_profile.cc
+++ components/metrics/persistent_system_profile.cc
@@ -394,6 +394,10 @@ bool PersistentSystemProfile::GetSystemProfile(
   return true;
 }
 
+void PersistentSystemProfile::DetachFromCurrentThread() {
+  DETACH_FROM_THREAD(thread_checker_);
+}
+
 // static
 void PersistentSystemProfile::MergeUpdateRecords(
     const base::PersistentMemoryAllocator& memory_allocator,
diff --git components/metrics/persistent_system_profile.h components/metrics/persistent_system_profile.h
index fc173051fb8c1..3fcc43880e89d 100644
--- components/metrics/persistent_system_profile.h
+++ components/metrics/persistent_system_profile.h
@@ -64,6 +64,10 @@ class PersistentSystemProfile {
       const base::PersistentMemoryAllocator& memory_allocator,
       SystemProfileProto* system_profile);
 
+  // Detaches this object from the current thread in preparation for a move to
+  // a different thread.
+  void DetachFromCurrentThread();
+
  private:
   friend class PersistentSystemProfileTest;