xref: /freebsd/share/man/man4/dtrace_callout_execute.4 (revision 3ccb2d9513e6a2e046e635c186da68acf8f8498b)
1.\"
2.\" Copyright (c) 2025 Mateusz Piotrowski <0mp@FreeBSD.org>
3.\"
4.\" SPDX-License-Identifier: BSD-2-Clause
5.\"
6.Dd November 4, 2025
7.Dt DTRACE_CALLOUT_EXECUTE 4
8.Os
9.Sh NAME
10.Nm dtrace_callout_execute
11.Nd a DTrace provider for the callout API
12.Sh SYNOPSIS
13.Nm callout_execute Ns Cm :kernel::callout_start
14.Nm callout_execute Ns Cm :kernel::callout_end
15.Sh DESCRIPTION
16The
17.Nm callout_execute
18provider allows for tracing the
19.Xr callout 9
20mechanism.
21.Pp
22The
23.Nm callout_execute Ns Cm :kernel::callout_start
24probe fires just before a callout.
25.Pp
26The
27.Nm callout_execute Ns Cm :kernel::callout_end
28probe fires right after a callout.
29.Pp
30The only argument to the
31.Nm callout_execute
32probes,
33.Fa args[0] ,
34is a callout handler
35.Ft struct callout *
36of the invoked callout.
37.Sh EXAMPLES
38.Ss Example 1: Graph of Callout Execution Time
39The following
40.Xr d 7
41script generates a distribution graph of
42.Xr callout 9
43execution times:
44.Bd -literal -offset 2n
45callout_execute:::callout_start
46{
47    self->cstart = timestamp;
48}
49
50callout_execute:::callout_end
51{
52    @length = quantize(timestamp - self->cstart);
53}
54.Ed
55.Sh SEE ALSO
56.Xr dtrace 1 ,
57.Xr tracing 7 ,
58.Xr callout 9 ,
59.Xr SDT 9
60.Sh AUTHORS
61.An -nosplit
62The
63.Nm callout_execute
64provider was written by
65.An Robert N. M. Watson Aq Mt rwatson@FreeBSD.org .
66.Pp
67This manual page was written by
68.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org .
69