summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authormarkj <markj@FreeBSD.org>2015-05-05 03:13:02 +0000
committermarkj <markj@FreeBSD.org>2015-05-05 03:13:02 +0000
commit3118272e9f10409d0ff5a1abd6d27ad0f5b4dd0c (patch)
tree992051cb9937a9e0f98dada668ec9199788990e1 /share
parent0da2a8acdea0c8ad4249795ea7e35a89a6bb3e68 (diff)
downloadFreeBSD-src-3118272e9f10409d0ff5a1abd6d27ad0f5b4dd0c.zip
FreeBSD-src-3118272e9f10409d0ff5a1abd6d27ad0f5b4dd0c.tar.gz
MFC 281701:
SDT(9): add a section on SDT providers, mentioning the "sdt" provider. Add examples demonstrating how one can list available providers and the DTrace probes provided by a provider.
Diffstat (limited to 'share')
-rw-r--r--share/man/man9/SDT.932
1 files changed, 31 insertions, 1 deletions
diff --git a/share/man/man9/SDT.9 b/share/man/man9/SDT.9
index ba8ccc5..f394c20 100644
--- a/share/man/man9/SDT.9
+++ b/share/man/man9/SDT.9
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd March 8, 2015
+.Dd April 18, 2015
.Dt SDT 9
.Os
.Sh NAME
@@ -194,7 +194,37 @@ macros are used to create
trace points.
They are meant to be added to executable code and can be used to instrument the
code in which they are called.
+.Sh PROVIDERS
+A number of kernel DTrace providers are available.
+In general, these providers define stable interfaces and should be treated as
+such: existing D scripts may be broken if a probe is renamed or its arguments
+are modified.
+However, it is often useful to define ad-hoc
+.Nm
+probes for debugging a subsystem or driver.
+Similarly, a developer may wish to provide a group of
+.Nm
+probes without committing to their future stability.
+Such probes should be added to the
+.Ql sdt
+provider instead of defining a new provider.
.Sh EXAMPLES
+The DTrace providers available on the current system can be listed with
+.Bd -literal -offset indent
+dtrace -l | sed 1d | awk '{print $2}' | sort -u
+.Ed
+.Pp
+A detailed list of the probes offered by a given provider can be obtained by
+specifying the provider using the
+.Fl P
+flag.
+For example, to view the probes and argument types for the
+.Ql sched
+provider, run
+.Bd -literal -offset indent
+dtrace -lv -P sched
+.Ed
+.Pp
The following probe definition will create a DTrace probe called
.Ql icmp:::receive-unreachable ,
which would hypothetically be triggered when the kernel receives an ICMP packet
OpenPOWER on IntegriCloud