MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / mi_process_info

Function mi_process_info

system/lib/mimalloc/src/stats.c:544–571  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

542// --------------------------------------------------------
543
544mi_decl_export void mi_process_info(size_t* elapsed_msecs, size_t* user_msecs, size_t* system_msecs, size_t* current_rss, size_t* peak_rss, size_t* current_commit, size_t* peak_commit, size_t* page_faults) mi_attr_noexcept
545{
546 mi_process_info_t pinfo;
547 _mi_memzero_var(pinfo);
548 pinfo.elapsed = _mi_clock_end(mi_process_start);
549 { const mi_subproc_t* subproc = _mi_subproc_main();
550 if (subproc!=NULL) {
551 pinfo.current_commit = (size_t)(mi_atomic_loadi64_relaxed((_Atomic(int64_t)*)(&subproc->stats.committed.current)));
552 pinfo.peak_commit = (size_t)(mi_atomic_loadi64_relaxed((_Atomic(int64_t)*)(&subproc->stats.committed.peak)));
553 }
554 }
555 pinfo.current_rss = pinfo.current_commit;
556 pinfo.peak_rss = pinfo.peak_commit;
557 pinfo.utime = 0;
558 pinfo.stime = 0;
559 pinfo.page_faults = 0;
560
561 _mi_prim_process_info(&pinfo);
562
563 if (elapsed_msecs!=NULL) *elapsed_msecs = (pinfo.elapsed < 0 ? 0 : (pinfo.elapsed < (mi_msecs_t)PTRDIFF_MAX ? (size_t)pinfo.elapsed : PTRDIFF_MAX));
564 if (user_msecs!=NULL) *user_msecs = (pinfo.utime < 0 ? 0 : (pinfo.utime < (mi_msecs_t)PTRDIFF_MAX ? (size_t)pinfo.utime : PTRDIFF_MAX));
565 if (system_msecs!=NULL) *system_msecs = (pinfo.stime < 0 ? 0 : (pinfo.stime < (mi_msecs_t)PTRDIFF_MAX ? (size_t)pinfo.stime : PTRDIFF_MAX));
566 if (current_rss!=NULL) *current_rss = pinfo.current_rss;
567 if (peak_rss!=NULL) *peak_rss = pinfo.peak_rss;
568 if (current_commit!=NULL) *current_commit = pinfo.current_commit;
569 if (peak_commit!=NULL) *peak_commit = pinfo.peak_commit;
570 if (page_faults!=NULL) *page_faults = pinfo.page_faults;
571}
572
573mi_decl_export void mi_process_info_print(void) mi_attr_noexcept {
574 mi_process_info_print_out(NULL, NULL);

Callers 2

mi_stats_get_json_fromFunction · 0.85

Calls 3

_mi_clock_endFunction · 0.85
_mi_subproc_mainFunction · 0.85
_mi_prim_process_infoFunction · 0.50

Tested by

no test coverage detected