]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/jemalloc/include/jemalloc/internal/stats.h
MFV r348568: 9466 add JSON output support to channel programs
[FreeBSD/FreeBSD.git] / contrib / jemalloc / include / jemalloc / internal / stats.h
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
15 enum {
16 #define OPTION(o, v, d, s) stats_print_option_num_##v,
17     STATS_PRINT_OPTIONS
18 #undef OPTION
19     stats_print_tot_num_options
20 };
21
22 /* Options for stats_print. */
23 extern bool opt_stats_print;
24 extern char opt_stats_print_opts[stats_print_tot_num_options+1];
25
26 /* Implements je_malloc_stats_print. */
27 void stats_print(void (*write_cb)(void *, const char *), void *cbopaque,
28     const char *opts);
29
30 #endif /* JEMALLOC_INTERNAL_STATS_H */