Fix sampling counter time scales (#33)
* Fix sampling counter time scales - All perfetto trace events have "begin_ns" and "end_ns" debug fields - data for thread start and end timestamp in pthread_create_gotcha - discard samples outside of thread start and end timestamps - rename "CPU User CPU Time" perfetto counter to "CPU User Time" - rename "CPU Kernel CPU Time" perfetto counter to "CPU Kernel Time" - ensure CPU system samples in perfetto are set to zero at end - backtrace uses comp::wall_clock record() for timestamps (consistency) - "Peak Memory Usage [Thread X] (S)" renamed to "Thread Peak Memory Usage [X] (S)" - "Context Switches [Thread X] (S)" renamed to "Thread Context Switches Usage [X] (S)" - "Page Faults [Thread X] (S)" renamed to "Thread Page Faults Usage [X] (S)" - "<PAPI_DESC> [Thread X] (S)" renamed to "Thread <PAPI_DESC> [X] (S)" - samples * Fix includes
Este commit está contenido en:
cometido por
GitHub
padre
a640fbdb29
commit
90ab7a89fc
@@ -26,6 +26,7 @@
|
||||
#include "library/components/functors.hpp"
|
||||
#include "library/components/fwd.hpp"
|
||||
#include "library/components/mpi_gotcha.hpp"
|
||||
#include "library/components/pthread_create_gotcha.hpp"
|
||||
#include "library/components/pthread_gotcha.hpp"
|
||||
#include "library/components/pthread_mutex_gotcha.hpp"
|
||||
#include "library/config.hpp"
|
||||
@@ -752,13 +753,13 @@ omnitrace_init_tooling_hidden()
|
||||
using CategoryT = std::decay_t<decltype(_category)>;
|
||||
uint64_t _ts = comp::wall_clock::record();
|
||||
TRACE_EVENT_BEGIN(trait::name<CategoryT>::value, perfetto::StaticString(name),
|
||||
_ts);
|
||||
_ts, "begin_ns", _ts);
|
||||
};
|
||||
|
||||
auto _pop_perfetto = [](auto _category, const char*) {
|
||||
using CategoryT = std::decay_t<decltype(_category)>;
|
||||
uint64_t _ts = comp::wall_clock::record();
|
||||
TRACE_EVENT_END(trait::name<CategoryT>::value, _ts);
|
||||
TRACE_EVENT_END(trait::name<CategoryT>::value, _ts, "end_ns", _ts);
|
||||
};
|
||||
|
||||
if(get_use_perfetto() && get_use_timemory())
|
||||
@@ -855,6 +856,8 @@ omnitrace_init_tooling_hidden()
|
||||
|
||||
if(dmp::rank() == 0 && get_verbose() >= 0) fprintf(stderr, "\n");
|
||||
|
||||
pthread_create_gotcha::get_execution_time()->first = comp::wall_clock::record();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -949,6 +952,8 @@ omnitrace_init_hidden(const char* _mode, bool _is_binary_rewrite, const char* _a
|
||||
{
|
||||
get_gotcha_bundle()->start();
|
||||
}
|
||||
|
||||
pthread_create_gotcha::get_execution_time()->first = comp::wall_clock::record();
|
||||
}
|
||||
|
||||
//======================================================================================//
|
||||
@@ -970,6 +975,7 @@ omnitrace_finalize_hidden(void)
|
||||
}
|
||||
|
||||
OMNITRACE_VERBOSE_F(0, "finalizing...\n");
|
||||
pthread_create_gotcha::get_execution_time()->second = comp::wall_clock::record();
|
||||
|
||||
// some functions called during finalization may alter the push/pop count so we need
|
||||
// to save them here
|
||||
|
||||
Referencia en una nueva incidencia
Block a user