]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/jemalloc/include/jemalloc/internal/stats.h
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[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     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 */