summaryrefslogtreecommitdiffstats
path: root/usr.bin/ktrace
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2009-03-11 21:48:36 +0000
committerjhb <jhb@FreeBSD.org>2009-03-11 21:48:36 +0000
commit2548f05c6c8be3fe53f4191e634699bb4fa4c56b (patch)
tree48083c4fab749cb8da99377a83f7d470672d4c2c /usr.bin/ktrace
parentde74558fd8fae07358ec61b9001d0a7590bb9d22 (diff)
downloadFreeBSD-src-2548f05c6c8be3fe53f4191e634699bb4fa4c56b.zip
FreeBSD-src-2548f05c6c8be3fe53f4191e634699bb4fa4c56b.tar.gz
Add a new type of KTRACE record for sysctl(3) invocations. It uses the
internal sysctl_sysctl_name() handler to map the MIB array to a string name and logs this name in the trace log. This can be useful to see exactly which sysctls a thread is invoking. MFC after: 1 month
Diffstat (limited to 'usr.bin/ktrace')
-rw-r--r--usr.bin/ktrace/ktrace.14
-rw-r--r--usr.bin/ktrace/ktrace.h3
-rw-r--r--usr.bin/ktrace/subr.c3
3 files changed, 9 insertions, 1 deletions
diff --git a/usr.bin/ktrace/ktrace.1 b/usr.bin/ktrace/ktrace.1
index 83c80c9..88e80a2 100644
--- a/usr.bin/ktrace/ktrace.1
+++ b/usr.bin/ktrace/ktrace.1
@@ -125,6 +125,10 @@ trace various structures
userland traces
.It Cm w
context switches
+.It Cm y
+trace
+.Xr sysctl 3
+requests
.It Cm +
trace the default set of trace points -
.Cm c , n , i , s , t , u
diff --git a/usr.bin/ktrace/ktrace.h b/usr.bin/ktrace/ktrace.h
index 51d85ee..e8f4d0b 100644
--- a/usr.bin/ktrace/ktrace.h
+++ b/usr.bin/ktrace/ktrace.h
@@ -35,7 +35,8 @@
*/
#define DEF_POINTS (KTRFAC_SYSCALL | KTRFAC_SYSRET | KTRFAC_NAMEI | \
- KTRFAC_GENIO | KTRFAC_PSIG | KTRFAC_USER | KTRFAC_STRUCT)
+ KTRFAC_GENIO | KTRFAC_PSIG | KTRFAC_USER | \
+ KTRFAC_STRUCT | KTRFAC_SYSCTL)
#define ALL_POINTS (DEF_POINTS | KTRFAC_CSW)
diff --git a/usr.bin/ktrace/subr.c b/usr.bin/ktrace/subr.c
index cfc4f3a..a9d3f64 100644
--- a/usr.bin/ktrace/subr.c
+++ b/usr.bin/ktrace/subr.c
@@ -83,6 +83,9 @@ getpoints(char *s)
case 'w':
facs |= KTRFAC_CSW;
break;
+ case 'y':
+ facs |= KTRFAC_SYSCTL;
+ break;
case '+':
facs |= DEF_POINTS;
break;
OpenPOWER on IntegriCloud