aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/ktrace
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2009-03-11 21:48:36 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2009-03-11 21:48:36 +0000
commita56be37e68ba06161b1b8258b19bd019aff9544b (patch)
tree48083c4fab749cb8da99377a83f7d470672d4c2c /usr.bin/ktrace
parenta9d9537110686054ec6c7a469f976c5b2c7fd51a (diff)
downloadsrc-a56be37e68ba06161b1b8258b19bd019aff9544b.tar.gz
src-a56be37e68ba06161b1b8258b19bd019aff9544b.zip
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
Notes
Notes: svn path=/head/; revision=189707
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 83c80c9fd0ee..88e80a2c8fef 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 51d85eeb45d7..e8f4d0bf7868 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 cfc4f3ae0eeb..a9d3f6442cb0 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;