1
0
mirror of https://git.FreeBSD.org/src.git synced 2026-06-02 11:24:32 +00:00

dtrace_mib.4: Document the DTrace MIB provider

Reviewed by:	kp
MFC after:	1 week
Obtained from:	60d8dbbef0 netinet: add a probe point for IP, IP6, ICMP, ICMP6, UDP and TCP stats counters
Differential Revision:	https://reviews.freebsd.org/D53709
This commit is contained in:
Mateusz Piotrowski
2025-07-18 17:46:25 +02:00
parent 242050278a
commit ef19cae253
14 changed files with 149 additions and 11 deletions
@@ -1304,6 +1304,7 @@ in
.Xr dtrace_ip 4 ,
.Xr dtrace_kinst 4 ,
.Xr dtrace_lockstat 4 ,
.Xr dtrace_mib 4 ,
.Xr dtrace_pid 4 ,
.Xr dtrace_proc 4 ,
.Xr dtrace_priv 4 ,
+2 -1
View File
@@ -28,7 +28,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd January 31, 2025
.Dd May 7, 2026
.Dt SYSCTL 8
.Os
.Sh NAME
@@ -336,6 +336,7 @@ The
option has been deprecated and is silently ignored.
.Sh SEE ALSO
.Xr sysctl 3 ,
.Xr dtrace_mib 4 ,
.Xr loader.conf 5 ,
.Xr sysctl.conf 5 ,
.Xr security 7 ,
+1
View File
@@ -1023,6 +1023,7 @@ _dtrace_provs= dtrace_audit.4 \
dtrace_ip.4 \
dtrace_kinst.4 \
dtrace_lockstat.4 \
dtrace_mib.4 \
dtrace_pid.4 \
dtrace_priv.4 \
dtrace_proc.4 \
+2 -1
View File
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd September 14, 2015
.Dd May 7, 2026
.Dt DTRACE_IP 4
.Os
.Sh NAME
@@ -266,6 +266,7 @@ This provider is compatible with the
providers found in Solaris and Darwin.
.Sh SEE ALSO
.Xr dtrace 1 ,
.Xr dtrace_mib 4 ,
.Xr dtrace_tcp 4 ,
.Xr dtrace_udp 4 ,
.Xr ip 4 ,
+123
View File
@@ -0,0 +1,123 @@
.\"
.\" Copyright (c) 2025-2026 Mateusz Piotrowski <0mp@FreeBSD.org>
.\"
.\" SPDX-License-Identifier: BSD-2-Clause
.\"
.Dd May 7, 2026
.Dt DTRACE_MIB 4
.Os
.Sh NAME
.Nm dtrace_mib
.Nd a DTrace provider for Management Information Base
.Sh SYNOPSIS
.Cm mib: Ns Ar module Ns Cm \&:count: Ns Ar counter
.Pp
In
.Xr config 5 :
.Cd "options KDTRACE_MIB_SDT"
.Sh DESCRIPTION
The
.Nm mib
provider allows tracing of Management Information Base stats counters.
.Pp
The list of instrumented
.Ar module Ns s
includes:
.Bl -tag -offset indent -width ipcomp -compact
.It Cm ah
IP Authentication Header (RFC 2402),
.Xr ipsec 4
.It Cm esp
IP Encapsulating Security Payload (RFC 1827, RFC 2406),
.Xr ipsec 4
.It Cm icmp
.Xr icmp 4
.It Cm icmp6
.Xr icmp6 4
.It Cm ip
.Xr ip 4
.It Cm ip6
.Xr ip6 4
.It Cm ipcomp
IP Payload Compression Protocol,
.Xr ipsec 4
.It Cm ipsec
.Xr ipsec 4
.It Cm tcp
.Xr tcp 4
.It Cm udp
.Xr udp 4
.El
.Pp
The
.Cm mib: Ns Ar module Ns Cm \&:count: Ns Ar counter
probes fire when the
.Ar counter
in
.Ar module Ns s
increases.
.Pp
The first probe argument,
.Vt uint64_t Va args[0] ,
is the increment that the
.Ar counter
will increase by.
.Pp
Note that some probes like
.Cm mib:esp:count:esps_hist
or
.Cm mib:icmp6:count:icp6s_outhist
provide additional probe-specific arguments.
.Sh EXAMPLES
.Ss Example 1 : Tracing IP Stats Counters
When debugging network issues one common clue is an unexpectedly
incrementing error counter.
This is helpful, in that it gives us an
idea of what might be going wrong, but often these counters may be
incremented in different functions.
.Pp
Trace all
.Nm mib
probes in the
.Xr ip 4
module and print the current count and a stack trace:
.Pp
.Bd -literal -offset 2n
# dtrace -n 'mib:ip:count: { printf("%d", arg0); stack(); }'
dtrace: description 'mib:ip:count: ' matched 29 probes
CPU ID FUNCTION:NAME
7 98784 count:ips_localout 1
kernel`ip_output+0x17a2
kernel`udp_send+0xaca
kernel`sosend_dgram+0x315
kernel`sousrsend+0x79
kernel`kern_sendit+0x1be
kernel`sendit+0x1ab
kernel`sys_sendmsg+0x5b
kernel`amd64_syscall+0x169
kernel`0xffffffff81094b8b
.Ed
.Sh SEE ALSO
.Xr dtrace 1 ,
.Xr dtrace_ip 4 ,
.Xr dtrace_tcp 4 ,
.Xr dtrace_udp 4 ,
.Xr tracing 7 ,
.Xr sysctl 8
.Sh STANDARDS
The probe descriptions in
the
.Fx
.Nm mib
provider are not compatible with those in the Solaris/illumos mib provider.
.Sh AUTHORS
.An -nosplit
The
.Nm mib
provider was added to
.Fx
by
.An Kristof Provost Aq Mt kp@FreeBSD.org .
.Pp
This manual page was written by
.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org .
+2 -1
View File
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd July 2, 2023
.Dd May 7, 2026
.Dt DTRACE_TCP 4
.Os
.Sh NAME
@@ -501,6 +501,7 @@ provider in Solaris.
.Sh SEE ALSO
.Xr dtrace 1 ,
.Xr dtrace_ip 4 ,
.Xr dtrace_mib 4 ,
.Xr dtrace_sctp 4 ,
.Xr dtrace_udp 4 ,
.Xr dtrace_udplite 4 ,
+2 -1
View File
@@ -25,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd December 11, 2024
.Dd May 7, 2026
.Dt ICMP 4
.Os
.Sh NAME
@@ -264,6 +264,7 @@ exists.
.Xr recv 2 ,
.Xr send 2 ,
.Xr sysctl 3 ,
.Xr dtrace_mib 4 ,
.Xr inet 4 ,
.Xr intro 4 ,
.Xr ip 4 ,
+2 -1
View File
@@ -28,7 +28,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd November 1, 2018
.Dd May 7, 2026
.Dt ICMP6 4
.Os
.Sh NAME
@@ -243,6 +243,7 @@ structure as the option value.
.Xr setsockopt 2 ,
.Xr socket 2 ,
.Xr getprotobyname 3 ,
.Xr dtrace_mib 4 ,
.Xr inet6 4 ,
.Xr ip6 4 ,
.Xr netintro 4
+2 -1
View File
@@ -25,7 +25,7 @@
.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd December 26, 2020
.Dd May 7, 2026
.Dt IFMIB 4
.Os
.Sh NAME
@@ -165,6 +165,7 @@ and implements a superset of the
MIB for Ethernet-like networks.
.Sh SEE ALSO
.Xr sysctl 3 ,
.Xr dtrace_mib 4 ,
.Xr intro 4 ,
.Xr ifnet 9
.\" .Xr ethermib 4 ,
+2 -1
View File
@@ -25,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd August 9, 2021
.Dd May 7, 2026
.Dt IP 4
.Os
.Sh NAME
@@ -907,6 +907,7 @@ field was not equal to the length of the datagram written to the socket.
.Xr byteorder 3 ,
.Xr CMSG_DATA 3 ,
.Xr sourcefilter 3 ,
.Xr dtrace_mib 4 ,
.Xr icmp 4 ,
.Xr igmp 4 ,
.Xr inet 4 ,
+2 -1
View File
@@ -27,7 +27,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd March 4, 2025
.Dd May 7, 2026
.Dt IPSEC 4
.Os
.Sh NAME
@@ -336,6 +336,7 @@ routines from looking into the IP payload.
.Xr socket 2 ,
.Xr ipsec_set_policy 3 ,
.Xr crypto 4 ,
.Xr dtrace_mib 4 ,
.Xr enc 4 ,
.Xr icmp6 4 ,
.Xr if_ipsec 4 ,
+2 -1
View File
@@ -31,7 +31,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd September 5, 2025
.Dd May 7, 2026
.Dt TCP 4
.Os
.Sh NAME
@@ -1098,6 +1098,7 @@ when trying to use a TCP function block that is not available;
.Xr stats 3 ,
.Xr sysctl 3 ,
.Xr blackhole 4 ,
.Xr dtrace_mib 4 ,
.Xr inet 4 ,
.Xr intro 4 ,
.Xr ip 4 ,
+2 -1
View File
@@ -25,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd January 20, 2025
.Dd May 7, 2026
.Dt UDP 4
.Os
.Sh NAME
@@ -175,6 +175,7 @@ exists.
.Xr send 2 ,
.Xr socket 2 ,
.Xr blackhole 4 ,
.Xr dtrace_mib 4 ,
.Xr inet 4 ,
.Xr intro 4 ,
.Xr ip 4 ,
+4 -1
View File
@@ -24,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd October 28, 2025
.Dd May 7, 2026
.Dt STATS 7
.Os
.Sh NAME
@@ -44,6 +44,8 @@ are currently included in the base system, with more appearing periodically.
Show Bluetooth socket information
.It Nm ctlstat
CAM Target Layer statistics utility
.It Nm dtrace_mib
Access the MIB stats counters with DTrace
.It Nm dwatch
Watch processes as they trigger a particular DTrace probe
.It Nm fstat
@@ -99,6 +101,7 @@ Report ZFS I/O statistics
.Xr sockstat 1 ,
.Xr stat 1 ,
.Xr systat 1 ,
.Xr dtrace_mib 4 ,
.Xr intro 7 ,
.Xr tuning 7 ,
.Xr ctlstat 8 ,