• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/jemalloc/src/

Lines Matching refs:emitter

7 #include "jemalloc/internal/emitter.h"
193 mutex_stats_emit(emitter_t *emitter, emitter_row_t *row,
197 emitter_table_row(emitter, row);
210 emitter_json_kv(emitter, #counter, EMITTER_TYPE_##type, \
219 stats_arena_bins_print(emitter_t *emitter, bool mutex, unsigned i) {
288 emitter_table_printf(emitter, "bins:");
289 emitter_table_row(emitter, &header_row);
290 emitter_json_arr_begin(emitter, "bins");
306 emitter_table_printf(emitter,
336 emitter_json_arr_obj_begin(emitter);
337 emitter_json_kv(emitter, "nmalloc", emitter_type_uint64,
339 emitter_json_kv(emitter, "ndalloc", emitter_type_uint64,
341 emitter_json_kv(emitter, "curregs", emitter_type_size,
343 emitter_json_kv(emitter, "nrequests", emitter_type_uint64,
345 emitter_json_kv(emitter, "nfills", emitter_type_uint64,
347 emitter_json_kv(emitter, "nflushes", emitter_type_uint64,
349 emitter_json_kv(emitter, "nreslabs", emitter_type_uint64,
351 emitter_json_kv(emitter, "curslabs", emitter_type_size,
354 emitter_json_dict_begin(emitter, "mutex");
355 mutex_stats_emit(emitter, NULL, col_mutex64,
357 emitter_json_dict_end(emitter);
359 emitter_json_arr_obj_end(emitter);
401 emitter_table_row(emitter, &row);
403 emitter_json_arr_end(emitter); /* Close "bins". */
406 emitter_table_printf(emitter, " ---\n");
411 stats_arena_lextents_print(emitter_t *emitter, unsigned i) {
448 emitter_table_printf(emitter, "large:");
449 emitter_table_row(emitter, &header_row);
450 emitter_json_arr_begin(emitter, "lextents");
466 emitter_table_printf(emitter,
474 emitter_json_arr_obj_begin(emitter);
475 emitter_json_kv(emitter, "curlextents", emitter_type_size,
477 emitter_json_arr_obj_end(emitter);
488 emitter_table_row(emitter, &row);
491 emitter_json_arr_end(emitter); /* Close "lextents". */
493 emitter_table_printf(emitter, " ---\n");
498 stats_arena_mutexes_print(emitter_t *emitter, unsigned arena_ind) {
507 emitter_json_dict_begin(emitter, "mutexes");
508 emitter_table_row(emitter, &row);
513 emitter_json_dict_begin(emitter, name);
516 mutex_stats_emit(emitter, &row, col64, col32);
517 emitter_json_dict_end(emitter); /* Close the mutex dict. */
519 emitter_json_dict_end(emitter); /* End "mutexes". */
523 stats_arena_print(emitter_t *emitter, unsigned i, bool bins, bool large,
542 emitter_kv(emitter, "nthreads", "assigned threads",
546 emitter_kv(emitter, "uptime_ns", "uptime", emitter_type_uint64,
550 emitter_kv(emitter, "dss", "dss allocation precedence",
573 emitter_json_kv(emitter, "dirty_decay_ms", emitter_type_ssize,
575 emitter_json_kv(emitter, "muzzy_decay_ms", emitter_type_ssize,
578 emitter_json_kv(emitter, "pactive", emitter_type_size, &pactive);
579 emitter_json_kv(emitter, "pdirty", emitter_type_size, &pdirty);
580 emitter_json_kv(emitter, "pmuzzy", emitter_type_size, &pmuzzy);
582 emitter_json_kv(emitter, "dirty_npurge", emitter_type_uint64,
584 emitter_json_kv(emitter, "dirty_nmadvise", emitter_type_uint64,
586 emitter_json_kv(emitter, "dirty_purged", emitter_type_uint64,
589 emitter_json_kv(emitter, "muzzy_npurge", emitter_type_uint64,
591 emitter_json_kv(emitter, "muzzy_nmadvise", emitter_type_uint64,
593 emitter_json_kv(emitter, "muzzy_purged", emitter_type_uint64,
640 emitter_table_row(emitter, &decay_row);
665 emitter_table_row(emitter, &decay_row);
690 emitter_table_row(emitter, &decay_row);
731 emitter_table_row(emitter, &alloc_count_row);
736 emitter_json_kv(emitter, #name, emitter_type_##valtype, \
741 emitter_json_dict_begin(emitter, "small");
749 emitter_table_row(emitter, &alloc_count_row);
750 emitter_json_dict_end(emitter); /* Close "small". */
752 emitter_json_dict_begin(emitter, "large");
760 emitter_table_row(emitter, &alloc_count_row);
761 emitter_json_dict_end(emitter); /* Close "large". */
765 /* Aggregated small + large stats are emitter only in table mode. */
771 emitter_table_row(emitter, &alloc_count_row);
790 emitter_table_row(emitter, &mem_count_row);
796 emitter_table_row(emitter, &mem_count_row);
800 emitter_json_kv(emitter, #stat, emitter_type_size, &stat); \
803 emitter_table_row(emitter, &mem_count_row);
815 stats_arena_mutexes_print(emitter, i);
818 stats_arena_bins_print(emitter, mutex, i);
821 stats_arena_lextents_print(emitter, i);
826 stats_general_print(emitter_t *emitter) {
842 emitter_kv(emitter, "version", "Version", emitter_type_string, &cpv);
845 emitter_dict_begin(emitter, "config", "Build-time option settings");
849 emitter_kv(emitter, #name, "config."#name, \
857 emitter_kv(emitter, "malloc_conf", "config.malloc_conf",
867 emitter_dict_end(emitter); /* Close "config" dict. */
873 emitter_kv(emitter, name, "opt."name, emitter_type, \
882 emitter_kv_note(emitter, name, "opt."name, \
903 emitter_dict_begin(emitter, "opt", "Run-time option settings");
937 emitter_dict_end(emitter);
950 emitter_dict_begin(emitter, "prof", "Profiling settings");
953 emitter_kv(emitter, "thread_active_init",
957 emitter_kv(emitter, "active", "prof.active", emitter_type_bool,
961 emitter_kv(emitter, "gdump", "prof.gdump", emitter_type_bool,
965 emitter_kv(emitter, "interval", "prof.interval",
969 emitter_kv(emitter, "lg_sample", "prof.lg_sample",
972 emitter_dict_end(emitter); /* Close "prof". */
980 emitter_json_dict_begin(emitter, "arenas");
983 emitter_kv(emitter, "narenas", "Arenas", emitter_type_unsigned, &uv);
990 emitter_json_kv(emitter, "dirty_decay_ms", emitter_type_ssize, &ssv);
993 emitter_json_kv(emitter, "muzzy_decay_ms", emitter_type_ssize, &ssv);
996 emitter_kv(emitter, "quantum", "Quantum size", emitter_type_size, &sv);
999 emitter_kv(emitter, "page", "Page size", emitter_type_size, &sv);
1002 emitter_kv(emitter, "tcache_max",
1008 emitter_kv(emitter, "nbins", "Number of bin size classes",
1013 emitter_kv(emitter, "nhbins", "Number of thread-cache bin size classes",
1020 if (emitter->output == emitter_output_json) {
1021 emitter_json_arr_begin(emitter, "bin");
1023 emitter_json_arr_obj_begin(emitter);
1026 emitter_json_kv(emitter, "size", emitter_type_size,
1030 emitter_json_kv(emitter, "nregs", emitter_type_uint32,
1034 emitter_json_kv(emitter, "slab_size", emitter_type_size,
1037 emitter_json_arr_obj_end(emitter);
1039 emitter_json_arr_end(emitter); /* Close "bin". */
1044 emitter_kv(emitter, "nlextents", "Number of large size classes",
1047 if (emitter->output == emitter_output_json) {
1048 emitter_json_arr_begin(emitter, "lextent");
1050 emitter_json_arr_obj_begin(emitter);
1053 emitter_json_kv(emitter, "size", emitter_type_size,
1056 emitter_json_arr_obj_end(emitter);
1058 emitter_json_arr_end(emitter); /* Close "lextent". */
1061 emitter_json_dict_end(emitter); /* Close "arenas" */
1065 stats_print_helper(emitter_t *emitter, bool merged, bool destroyed,
1069 * the transition to the emitter code.
1098 emitter_json_dict_begin(emitter, "stats");
1099 emitter_json_kv(emitter, "allocated", emitter_type_size, &allocated);
1100 emitter_json_kv(emitter, "active", emitter_type_size, &active);
1101 emitter_json_kv(emitter, "metadata", emitter_type_size, &metadata);
1102 emitter_json_kv(emitter, "metadata_thp", emitter_type_size,
1104 emitter_json_kv(emitter, "resident", emitter_type_size, &resident);
1105 emitter_json_kv(emitter, "mapped", emitter_type_size, &mapped);
1106 emitter_json_kv(emitter, "retained", emitter_type_size, &retained);
1108 emitter_table_printf(emitter, "Allocated: %zu, active: %zu, "
1114 emitter_json_dict_begin(emitter, "background_thread");
1115 emitter_json_kv(emitter, "num_threads", emitter_type_size,
1117 emitter_json_kv(emitter, "num_runs", emitter_type_uint64,
1119 emitter_json_kv(emitter, "run_interval", emitter_type_uint64,
1121 emitter_json_dict_end(emitter); /* Close "background_thread". */
1123 emitter_table_printf(emitter, "Background threads: %zu, "
1137 emitter_table_row(emitter, &row);
1138 emitter_json_dict_begin(emitter, "mutexes");
1143 emitter_json_dict_begin(emitter, global_mutex_names[i]);
1144 mutex_stats_emit(emitter, &row, col64, col32);
1145 emitter_json_dict_end(emitter);
1148 emitter_json_dict_end(emitter); /* Close "mutexes". */
1151 emitter_json_dict_end(emitter); /* Close "stats". */
1156 emitter_json_dict_begin(emitter, "stats.arenas");
1184 emitter_table_printf(emitter, "Merged arenas stats:\n");
1185 emitter_json_dict_begin(emitter, "merged");
1186 stats_arena_print(emitter, MALLCTL_ARENAS_ALL, bins,
1188 emitter_json_dict_end(emitter); /* Close "merged". */
1194 emitter_table_printf(emitter,
1196 emitter_json_dict_begin(emitter, "destroyed");
1197 stats_arena_print(emitter, MALLCTL_ARENAS_DESTROYED,
1199 emitter_json_dict_end(emitter); /* Close "destroyed". */
1209 emitter_json_dict_begin(emitter,
1211 emitter_table_printf(emitter,
1213 stats_arena_print(emitter, i, bins,
1216 emitter_json_dict_end(emitter);
1220 emitter_json_dict_end(emitter); /* Close "stats.arenas". */
1267 emitter_t emitter;
1268 emitter_init(&emitter,
1271 emitter_begin(&emitter);
1272 emitter_table_printf(&emitter, "___ Begin jemalloc statistics ___\n");
1273 emitter_json_dict_begin(&emitter, "jemalloc");
1276 stats_general_print(&emitter);
1279 stats_print_helper(&emitter, merged, destroyed, unmerged,
1283 emitter_json_dict_end(&emitter); /* Closes the "jemalloc" dict. */
1284 emitter_table_printf(&emitter, "--- End jemalloc statistics ---\n");
1285 emitter_end(&emitter);