| 542 | // -------------------------------------------------------- |
| 543 | |
| 544 | mi_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 | |
| 573 | mi_decl_export void mi_process_info_print(void) mi_attr_noexcept { |
| 574 | mi_process_info_print_out(NULL, NULL); |
no test coverage detected