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