linux/kernel/trace/trace_stat.h
<<
>>
Prefs
   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 */
  11struct tracer_stat {
  12        /* The name of your stat file */
  13        const char              *name;
  14        /* Iteration over statistic entries */
  15        void                    *(*stat_start)(struct tracer_stat *trace);
  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        /* Release an entry */
  22        void                    (*stat_release)(void *stat);
  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 */
  30extern int register_stat_tracer(struct tracer_stat *trace);
  31extern void unregister_stat_tracer(struct tracer_stat *trace);
  32
  33#endif /* __TRACE_STAT_H */
  34