diff --git a/rtc_base/task_utils/repeating_task.cc b/rtc_base/task_utils/repeating_task.cc
index 9636680..1f3eb1d 100644
--- a/rtc_base/task_utils/repeating_task.cc
+++ b/rtc_base/task_utils/repeating_task.cc
@@ -70,4 +70,11 @@
   return repeating_task_ != nullptr;
 }
 
+namespace webrtc_repeating_task_impl {
+// These methods are empty, but can be externally equipped with actions using
+// dtrace.
+void RepeatingTaskHandleDTraceProbeStart() {}
+void RepeatingTaskHandleDTraceProbeDelayedStart() {}
+void RepeatingTaskImplDTraceProbeRun() {}
+}  // namespace webrtc_repeating_task_impl
 }  // namespace webrtc
diff --git a/rtc_base/task_utils/repeating_task.h b/rtc_base/task_utils/repeating_task.h
index d5066fd..91a40e0 100644
--- a/rtc_base/task_utils/repeating_task.h
+++ b/rtc_base/task_utils/repeating_task.h
@@ -23,7 +23,14 @@
 #include "system_wrappers/include/clock.h"
 
 namespace webrtc {
+
 namespace webrtc_repeating_task_impl {
+
+// Methods simplifying external tracing of RepeatingTaskHandle operations.
+void RepeatingTaskHandleDTraceProbeStart();
+void RepeatingTaskHandleDTraceProbeDelayedStart();
+void RepeatingTaskImplDTraceProbeRun();
+
 class RepeatingTaskBase : public QueuedTask {
  public:
   RepeatingTaskBase(TaskQueueBase* task_queue,
@@ -67,7 +74,10 @@
   }
 
  private:
-  TimeDelta RunClosure() override { return closure_(); }
+  TimeDelta RunClosure() override {
+    RepeatingTaskImplDTraceProbeRun();
+    return closure_();
+  }
 
   typename std::remove_const<
       typename std::remove_reference<Closure>::type>::type closure_;
@@ -98,6 +108,7 @@
                                    Closure&& closure,
                                    Clock* clock = Clock::GetRealTimeClock()) {
     auto alive_flag = PendingTaskSafetyFlag::CreateDetached();
+    webrtc_repeating_task_impl::RepeatingTaskHandleDTraceProbeStart();
     task_queue->PostTask(
         std::make_unique<
             webrtc_repeating_task_impl::RepeatingTaskImpl<Closure>>(
@@ -115,6 +126,7 @@
       Closure&& closure,
       Clock* clock = Clock::GetRealTimeClock()) {
     auto alive_flag = PendingTaskSafetyFlag::CreateDetached();
+    webrtc_repeating_task_impl::RepeatingTaskHandleDTraceProbeDelayedStart();
     task_queue->PostDelayedTask(
         std::make_unique<
             webrtc_repeating_task_impl::RepeatingTaskImpl<Closure>>(
