diff --git a/app/workers/members/prune_deletions_worker.rb b/app/workers/members/prune_deletions_worker.rb
index 134b4d61de57c250c5af996e7da6d3ecab9959be..29ad90a36e189b2e9b044c9b0c0fd70fb860dbf5 100644
--- a/app/workers/members/prune_deletions_worker.rb
+++ b/app/workers/members/prune_deletions_worker.rb
@@ -52,15 +52,17 @@ def remove_user_from_namespace(member_deletion_schedule)
       memberships = ::Member.in_hierarchy(namespace).with_user(user).limit(MEMBER_BATCH_SIZE)
 
       destroyed_count = 0
-      memberships.each do |member|
-        # limit deletion to execute only for 60s (execution_tracker::MAX_RUNTIME)
-        break if execution_tracker.over_limit?
-
-        ::Members::DestroyService.new(scheduled_by).execute(member, skip_subresources: true)
-        destroyed_count += 1
+      destroy_duration = Benchmark.realtime do
+        memberships.each do |member|
+          # limit deletion to execute only for 60s (execution_tracker::MAX_RUNTIME)
+          break if execution_tracker.over_limit?
+
+          ::Members::DestroyService.new(scheduled_by).execute(member, skip_subresources: true)
+          destroyed_count += 1
+        end
       end
 
-      log_monitoring_data(user.id, namespace.id, destroyed_count)
+      log_monitoring_data(user.id, namespace.id, destroyed_count, destroy_duration)
 
       # when all memberships removed, cleanup schedule:
       member_deletion_schedule.destroy! if memberships.count === 0
@@ -71,12 +73,13 @@ def member_deletion_schedules
     end
     strong_memoize_attr :member_deletion_schedules
 
-    def log_monitoring_data(user_id, namespace_id, destroyed_count)
+    def log_monitoring_data(user_id, namespace_id, destroyed_count, destroy_duration)
       Gitlab::AppLogger.info(
         message: 'Processed scheduled member deletion',
         user_id: user_id,
         namespace_id: namespace_id,
-        destroyed_count: destroyed_count
+        destroyed_count: destroyed_count,
+        destroy_duration_s: destroy_duration
       )
     end
   end
diff --git a/spec/workers/members/prune_deletions_worker_spec.rb b/spec/workers/members/prune_deletions_worker_spec.rb
index b94eb93f73e59bee236488a9d29d930e05e493aa..e05320f848cf649c0074a9418a18100f31f07f34 100644
--- a/spec/workers/members/prune_deletions_worker_spec.rb
+++ b/spec/workers/members/prune_deletions_worker_spec.rb
@@ -59,7 +59,8 @@
               message: 'Processed scheduled member deletion',
               user_id: user.id,
               namespace_id: group.id,
-              destroyed_count: 1
+              destroyed_count: 1,
+              destroy_duration_s: an_instance_of(Float)
             )
 
             perform_work