Thread 404068 (unwindpmp) - 1000 samples + 100.00% _start + 100.00% __libc_start_main + 100.00% main + 100.00% UwpmpTracer::trace_all() + 99.80% UwpmpTracer::trace(std::shared_ptr) |+ 94.50% _Ux86_64_get_proc_name ||+ 94.50% _Uelf64_get_proc_name || + 51.60% _Uelf64_get_proc_name_in_image || |+ 2.60% __strncpy_avx2 || + 33.60% _Ux86_64_get_elf_image || |+ 26.50% __read || |+ 2.30% __munmap || |+ 1.10% __open64 || |+ 0.40% close || |+ 0.20% __fxstat64 || |+ 0.20% mmap64 || + 7.30% __munmap || + 2.00% _Uelf64_load_debuglink || + 1.00% _Uelf64_load_debuglink || |+ 1.00% __open64 || + 1.00% _Uelf64_find_section |+ 2.30% _Ux86_64_step ||+ 2.30% _Ux86_64_dwarf_step || + 1.60% fetch_proc_info || |+ 1.60% _UPT_find_proc_info || | + 1.10% dwarf_search_unwind_table_int || | |+ 0.80% _UPT_access_mem || | ||+ 0.80% ptrace || | |+ 0.30% _Ux86_64_dwarf_extract_proc_info_from_fde || | | + 0.30% _UPT_access_mem || | | + 0.30% ptrace || | + 0.50% get_unwind_info || | + 0.50% _Ux86_64_get_elf_image || | + 0.30% __read || | + 0.10% __open64 || | + 0.10% mmap64 || + 0.50% create_state_record_for.part.7 || |+ 0.50% run_cfi_program || | + 0.50% _UPT_access_mem || | + 0.50% ptrace || + 0.20% sigprocmask |+ 1.50% waitpid |+ 0.50% ptrace |+ 0.30% std::__cxx11::basic_string, std::allocator >::basic_stri... ||+ 0.10% void std::__cxx11::basic_string, std::allocator >::_M_c... || + 0.10% void std::__cxx11::basic_string, std::allocator >::_M_... || + 0.10% void std::__cxx11::basic_string, std::allocator >::_M... || + 0.10% std::__cxx11::basic_string, std::allocator >::_M_set... |+ 0.30% UwpmpFunc::add_frames(std::vector, ... ||+ 0.10% std::shared_ptr::operator=(std::shared_ptr&&) ||+ 0.10% std::__cxx11::basic_string, std::allocator >::basic_str... |||+ 0.10% std::__cxx11::basic_string, std::allocator >::_M_get_a... ||+ 0.10% UwpmpFunc::get_or_add_func(std::__cxx11::basic_string, std::a... || + 0.10% std::__cxx11::basic_string, std::allocator >::basic_st... || + 0.10% void std::__cxx11::basic_string, std::allocator >::_M... || + 0.10% void std::__cxx11::basic_string, std::allocator >::_... || + 0.10% void std::__cxx11::basic_string, std::allocator >::... || + 0.10% std::__cxx11::basic_string, std::allocator >::_M_s... |+ 0.20% _Ux86_64_init_remote ||+ 0.20% _UPT_access_reg || + 0.20% ptrace |+ 0.10% __cxa_demangle ||+ 0.10% __gnu_cxx::__verbose_terminate_handler() || + 0.10% __gnu_cxx::__verbose_terminate_handler() |+ 0.10% std::vector, std::allocator >... | + 0.10% std::__cxx11::basic_string, std::allocator >& std::vect... | + 0.10% void std::vector, std::allocator<... | + 0.10% std::_Vector_base, std::allocato... | + 0.10% std::allocator_traits, std:... | + 0.10% operator delete(void*) + 0.20% std::basic_ifstream >::basic_ifstream(std::__cxx11::basic_strin... + 0.10% std::basic_filebuf >::open(char const*, std::_Ios_Openmode) |+ 0.10% std::__basic_file::open(char const*, std::_Ios_Openmode, int) | + 0.10% __fopen_internal | + 0.10% _IO_file_fopen | + 0.10% _IO_file_open | + 0.10% __open64 + 0.10% std::basic_ios >::init(std::basic_streambuf >::_M_cache_locale(std::locale const&) + 0.10% bool std::has_facet