Commit | Line | Data |
---|---|---|
002bb86d FW |
1 | #ifndef __TRACE_STAT_H |
2 | #define __TRACE_STAT_H | |
3 | ||
4 | #include <linux/seq_file.h> | |
5 | ||
6 | /* | |
7 | * If you want to provide a stat file (one-shot statistics), fill | |
8 | * an iterator with stat_start/stat_next and a stat_show callbacks. | |
9 | * The others callbacks are optional. | |
10 | */ | |
11 | struct tracer_stat { | |
12 | /* The name of your stat file */ | |
13 | const char *name; | |
14 | /* Iteration over statistic entries */ | |
42548008 | 15 | void *(*stat_start)(struct tracer_stat *trace); |
002bb86d FW |
16 | void *(*stat_next)(void *prev, int idx); |
17 | /* Compare two entries for stats sorting */ | |
18 | int (*stat_cmp)(void *p1, void *p2); | |
19 | /* Print a stat entry */ | |
20 | int (*stat_show)(struct seq_file *s, void *p); | |
d8ea37d5 LJ |
21 | /* Release an entry */ |
22 | void (*stat_release)(void *stat); | |
002bb86d FW |
23 | /* Print the headers of your stat entries */ |
24 | int (*stat_headers)(struct seq_file *s); | |
25 | }; | |
26 | ||
27 | /* | |
28 | * Destroy or create a stat file | |
29 | */ | |
30 | extern int register_stat_tracer(struct tracer_stat *trace); | |
31 | extern void unregister_stat_tracer(struct tracer_stat *trace); | |
32 | ||
33 | #endif /* __TRACE_STAT_H */ |