xref: /netbsd-src/external/bsd/jemalloc.old/include/jemalloc/internal/stats.h (revision 8e33eff89e26cf71871ead62f0d5063e1313c33a)
1*8e33eff8Schristos #ifndef JEMALLOC_INTERNAL_STATS_H
2*8e33eff8Schristos #define JEMALLOC_INTERNAL_STATS_H
3*8e33eff8Schristos 
4*8e33eff8Schristos /*  OPTION(opt,		var_name,	default,	set_value_to) */
5*8e33eff8Schristos #define STATS_PRINT_OPTIONS						\
6*8e33eff8Schristos     OPTION('J',		json,		false,		true)		\
7*8e33eff8Schristos     OPTION('g',		general,	true,		false)		\
8*8e33eff8Schristos     OPTION('m',		merged,		config_stats,	false)		\
9*8e33eff8Schristos     OPTION('d',		destroyed,	config_stats,	false)		\
10*8e33eff8Schristos     OPTION('a',		unmerged,	config_stats,	false)		\
11*8e33eff8Schristos     OPTION('b',		bins,		true,		false)		\
12*8e33eff8Schristos     OPTION('l',		large,		true,		false)		\
13*8e33eff8Schristos     OPTION('x',		mutex,		true,		false)
14*8e33eff8Schristos 
15*8e33eff8Schristos enum {
16*8e33eff8Schristos #define OPTION(o, v, d, s) stats_print_option_num_##v,
17*8e33eff8Schristos     STATS_PRINT_OPTIONS
18*8e33eff8Schristos #undef OPTION
19*8e33eff8Schristos     stats_print_tot_num_options
20*8e33eff8Schristos };
21*8e33eff8Schristos 
22*8e33eff8Schristos /* Options for stats_print. */
23*8e33eff8Schristos extern bool opt_stats_print;
24*8e33eff8Schristos extern char opt_stats_print_opts[stats_print_tot_num_options+1];
25*8e33eff8Schristos 
26*8e33eff8Schristos /* Implements je_malloc_stats_print. */
27*8e33eff8Schristos void stats_print(void (*write_cb)(void *, const char *), void *cbopaque,
28*8e33eff8Schristos     const char *opts);
29*8e33eff8Schristos 
30*8e33eff8Schristos #endif /* JEMALLOC_INTERNAL_STATS_H */
31