dsched, dsched_fq - Major cleanup
[dragonfly.git] / test / dsched_fq / fqstats.c
1 #include <sys/types.h>
2 #include <sys/stat.h>
3 #include <sys/sysctl.h>
4
5 #include <db.h>
6 #include <err.h>
7 #include <fcntl.h>
8 #include <paths.h>
9 #include <stdio.h>
10 #include <stdlib.h>
11 #include <string.h>
12
13 #include "../../sys/dsched/fq/dsched_fq.h"
14
15
16 int main(void)
17 {
18         struct dsched_fq_stats  fq_stats;
19         size_t n = sizeof(struct dsched_fq_stats);
20
21         if (sysctlbyname("kern.fq_stats", &fq_stats, &n, NULL, 0) != 0)
22                 err(1, "sysctlbyname");
23
24         printf( "Allocations\n"
25                 "thread_ctx:\t%d\n"
26                 "thread_io:\t%d\n"
27                 "disk_ctx:\t%d\n"
28                 "---------------------------------------------\n"
29                 "Procs/Threads tracked\n"
30                 "procs:\t\t%d\n"
31                 "threads:\t%d\n"
32                 "---------------------------------------------\n"
33                 "Proccesses\n"
34                 "Rate limited:\t%d\n"
35                 "---------------------------------------------\n"
36                 "Transactions\n"
37                 "Issued:\t\t%d\n"
38                 "Completed:\t%d\n"
39                 "without thread_ctx:\t%d\n"
40                 "---------------------------------------------\n"
41                 "Misc\n"
42                 "FQMP refs for buf:\t%d\n",
43
44                 fq_stats.tdctx_allocations,
45                 fq_stats.tdio_allocations,
46                 fq_stats.diskctx_allocations,
47
48                 fq_stats.nprocs,
49                 fq_stats.nthreads,
50
51                 fq_stats.procs_limited,
52
53                 fq_stats.transactions,
54                 fq_stats.transactions_completed,
55                 fq_stats.no_tdctx
56                 );
57
58
59         return 0;
60 }