Something went wrong. Try again.
Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435// SPDX-License-Identifier: GPL-2.0#ifndef __TRACE_STAT_H#define __TRACE_STAT_H
#include <linux/seq_file.h>
/* * If you want to provide a stat file (one-shot statistics), fill * an iterator with stat_start/stat_next and a stat_show callbacks. * The others callbacks are optional. */struct tracer_stat { /* The name of your stat file */ const char *name; /* Iteration over statistic entries */ void *(*stat_start)(struct tracer_stat *trace); void *(*stat_next)(void *prev, int idx); /* Compare two entries for stats sorting */ cmp_func_t stat_cmp; /* Print a stat entry */ int (*stat_show)(struct seq_file *s, void *p); /* Release an entry */ void (*stat_release)(void *stat); /* Print the headers of your stat entries */ int (*stat_headers)(struct seq_file *s);};
/* * Destroy or create a stat file */extern int register_stat_tracer(struct tracer_stat *trace);extern void unregister_stat_tracer(struct tracer_stat *trace);
#endif /* __TRACE_STAT_H */