]>
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 */ | |
15 | void *(*stat_start)(void); | |
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); | |
21 | /* Print the headers of your stat entries */ | |
22 | int (*stat_headers)(struct seq_file *s); | |
23 | }; | |
24 | ||
25 | /* | |
26 | * Destroy or create a stat file | |
27 | */ | |
28 | extern int register_stat_tracer(struct tracer_stat *trace); | |
29 | extern void unregister_stat_tracer(struct tracer_stat *trace); | |
30 | ||
31 | #endif /* __TRACE_STAT_H */ |