\begin{vindent}
\begin{verbatim}
-timer.profile
+timer.profile.tick
\end{verbatim}
\end{vindent}
Full context information of the interrupted process is available, making
this probe suitable for implementing a time-based sampling profiler.
+It is recommended to use the tapset probe \verb+timer.profile+ rather
+than \verb+timer.profile.tick+. This probe point behaves identically
+to \verb+timer.profile.tick+ when the underlying functionality is
+available, and falls back to using \verb+perf.sw.cpu_clock+ on some
+recent kernels which lack the profile timer facility entirely.
+
The following is an example of timer usage.
\begin{vindent}
registration.
.SAMPLE
-timer.profile
+timer.profile.tick
.ESAMPLE
Full context information of the interrupted process is available, making
this probe suitable for a time-based sampling profiler.
+.PP
+It is recommended to use the tapset probe
+.IR timer.profile
+rather than timer.profile.tick. This probe point behaves identically
+to timer.profile.tick when the underlying functionality is available,
+and falls back to using perf.sw.cpu_clock on some recent kernels which
+lack the corresponding profile timer facility.
.SS DWARF
// however, timer.profile needs to fall back to perf in certain
// circumstances.
+/**
+ * probe timer.profile - timer.profile.tick with a perf fallback on recent kernels
+ *
+ * This probe behaves identically to timer.profile.tick, except on
+ * some recent kernels which lack the underlying profile timer
+ * functionality. In those cases, timer.profile falls back to using
+ * perf.sw.cpu_clock. */
probe timer.profile = timer.profile.tick ! , perf.sw.cpu_clock.sample(1000000) {}