Unify printing for prof counts object
This commit is contained in:
parent
5d292b5660
commit
c8683bee80
@ -3437,7 +3437,7 @@ heap_v2/524288
|
|||||||
[...]
|
[...]
|
||||||
@ 0x5f86da8 0x5f5a1dc [...] 0x29e4d4e 0xa200316 0xabb2988 [...]
|
@ 0x5f86da8 0x5f5a1dc [...] 0x29e4d4e 0xa200316 0xabb2988 [...]
|
||||||
t*: 13: 6688 [0: 0]
|
t*: 13: 6688 [0: 0]
|
||||||
t3: 12: 6496 [0: ]
|
t3: 12: 6496 [0: 0]
|
||||||
t99: 1: 192 [0: 0]
|
t99: 1: 192 [0: 0]
|
||||||
[...]
|
[...]
|
||||||
|
|
||||||
@ -3448,9 +3448,9 @@ descriptions of the corresponding fields. <programlisting><![CDATA[
|
|||||||
<heap_profile_format_version>/<mean_sample_interval>
|
<heap_profile_format_version>/<mean_sample_interval>
|
||||||
<aggregate>: <curobjs>: <curbytes> [<cumobjs>: <cumbytes>]
|
<aggregate>: <curobjs>: <curbytes> [<cumobjs>: <cumbytes>]
|
||||||
[...]
|
[...]
|
||||||
<thread_3_aggregate>: <curobjs>: <curbytes>[<cumobjs>: <cumbytes>]
|
<thread_3_aggregate>: <curobjs>: <curbytes> [<cumobjs>: <cumbytes>]
|
||||||
[...]
|
[...]
|
||||||
<thread_99_aggregate>: <curobjs>: <curbytes>[<cumobjs>: <cumbytes>]
|
<thread_99_aggregate>: <curobjs>: <curbytes> [<cumobjs>: <cumbytes>]
|
||||||
[...]
|
[...]
|
||||||
@ <top_frame> <frame> [...] <frame> <frame> <frame> [...]
|
@ <top_frame> <frame> [...] <frame> <frame> <frame> [...]
|
||||||
<backtrace_aggregate>: <curobjs>: <curbytes> [<cumobjs>: <cumbytes>]
|
<backtrace_aggregate>: <curobjs>: <curbytes> [<cumobjs>: <cumbytes>]
|
||||||
|
@ -573,6 +573,12 @@ prof_dump_printf(const char *format, ...) {
|
|||||||
prof_dump_write(buf);
|
prof_dump_write(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
prof_dump_print_cnts(const prof_cnt_t *cnts) {
|
||||||
|
prof_dump_printf("%"FMTu64": %"FMTu64" [%"FMTu64": %"FMTu64"]",
|
||||||
|
cnts->curobjs, cnts->curbytes, cnts->accumobjs, cnts->accumbytes);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
prof_tctx_merge_tdata(tsdn_t *tsdn, prof_tctx_t *tctx, prof_tdata_t *tdata) {
|
prof_tctx_merge_tdata(tsdn_t *tsdn, prof_tctx_t *tctx, prof_tdata_t *tdata) {
|
||||||
malloc_mutex_assert_owner(tsdn, tctx->tdata->lock);
|
malloc_mutex_assert_owner(tsdn, tctx->tdata->lock);
|
||||||
@ -649,11 +655,9 @@ prof_tctx_dump_iter(prof_tctx_tree_t *tctxs, prof_tctx_t *tctx, void *arg) {
|
|||||||
break;
|
break;
|
||||||
case prof_tctx_state_dumping:
|
case prof_tctx_state_dumping:
|
||||||
case prof_tctx_state_purgatory:
|
case prof_tctx_state_purgatory:
|
||||||
prof_dump_printf(
|
prof_dump_printf(" t%"FMTu64": ", tctx->thr_uid);
|
||||||
" t%"FMTu64": %"FMTu64": %"FMTu64" [%"FMTu64": "
|
prof_dump_print_cnts(&tctx->dump_cnts);
|
||||||
"%"FMTu64"]\n", tctx->thr_uid, tctx->dump_cnts.curobjs,
|
prof_dump_write("\n");
|
||||||
tctx->dump_cnts.curbytes, tctx->dump_cnts.accumobjs,
|
|
||||||
tctx->dump_cnts.accumbytes);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
not_reached();
|
not_reached();
|
||||||
@ -820,22 +824,21 @@ prof_tdata_dump_iter(prof_tdata_tree_t *tdatas, prof_tdata_t *tdata,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
prof_dump_printf(
|
prof_dump_printf(" t%"FMTu64": ", tdata->thr_uid);
|
||||||
" t%"FMTu64": %"FMTu64": %"FMTu64" [%"FMTu64": %"FMTu64"]%s%s\n",
|
prof_dump_print_cnts(&tdata->cnt_summed);
|
||||||
tdata->thr_uid, tdata->cnt_summed.curobjs,
|
if (tdata->thread_name != NULL) {
|
||||||
tdata->cnt_summed.curbytes, tdata->cnt_summed.accumobjs,
|
prof_dump_printf(" %s", tdata->thread_name);
|
||||||
tdata->cnt_summed.accumbytes,
|
}
|
||||||
(tdata->thread_name != NULL) ? " " : "",
|
prof_dump_write("\n");
|
||||||
(tdata->thread_name != NULL) ? tdata->thread_name : "");
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
prof_dump_header_impl(tsdn_t *tsdn, const prof_cnt_t *cnt_all) {
|
prof_dump_header_impl(tsdn_t *tsdn, const prof_cnt_t *cnt_all) {
|
||||||
prof_dump_printf("heap_v2/%"FMTu64"\n"
|
prof_dump_printf("heap_v2/%"FMTu64"\n t*: ",
|
||||||
" t*: %"FMTu64": %"FMTu64" [%"FMTu64": %"FMTu64"]\n",
|
((uint64_t)1U << lg_prof_sample));
|
||||||
((uint64_t)1U << lg_prof_sample), cnt_all->curobjs,
|
prof_dump_print_cnts(cnt_all);
|
||||||
cnt_all->curbytes, cnt_all->accumobjs, cnt_all->accumbytes);
|
prof_dump_write("\n");
|
||||||
|
|
||||||
malloc_mutex_lock(tsdn, &tdatas_mtx);
|
malloc_mutex_lock(tsdn, &tdatas_mtx);
|
||||||
tdata_tree_iter(&tdatas, NULL, prof_tdata_dump_iter, NULL);
|
tdata_tree_iter(&tdatas, NULL, prof_tdata_dump_iter, NULL);
|
||||||
@ -864,10 +867,9 @@ prof_dump_gctx(tsdn_t *tsdn, prof_gctx_t *gctx, const prof_bt_t *bt,
|
|||||||
prof_dump_printf(" %#"FMTxPTR, (uintptr_t)bt->vec[i]);
|
prof_dump_printf(" %#"FMTxPTR, (uintptr_t)bt->vec[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
prof_dump_printf(
|
prof_dump_write("\n t*: ");
|
||||||
"\n t*: %"FMTu64": %"FMTu64" [%"FMTu64": %"FMTu64"]\n",
|
prof_dump_print_cnts(&gctx->cnt_summed);
|
||||||
gctx->cnt_summed.curobjs, gctx->cnt_summed.curbytes,
|
prof_dump_write("\n");
|
||||||
gctx->cnt_summed.accumobjs, gctx->cnt_summed.accumbytes);
|
|
||||||
|
|
||||||
tctx_tree_iter(&gctx->tctxs, NULL, prof_tctx_dump_iter,
|
tctx_tree_iter(&gctx->tctxs, NULL, prof_tctx_dump_iter,
|
||||||
(void *)tsdn);
|
(void *)tsdn);
|
||||||
|
Loading…
Reference in New Issue
Block a user