diff --git a/inc/roctracer.h b/inc/roctracer.h index cc96b455d9..36fa080578 100644 --- a/inc/roctracer.h +++ b/inc/roctracer.h @@ -253,6 +253,7 @@ roctracer_status_t roctracer_get_timestamp( // Load/Unload methods bool roctracer_load(); void roctracer_unload(); +void roctracer_flush_buf(); // Set properties roctracer_status_t roctracer_set_properties( diff --git a/src/core/roctracer.cpp b/src/core/roctracer.cpp index 94c19a36b3..2d15bbba38 100644 --- a/src/core/roctracer.cpp +++ b/src/core/roctracer.cpp @@ -1283,11 +1283,16 @@ PUBLIC_API void roctracer_unload() { roctracer::act_journal = NULL; } - roctracer::trace_buffer.Flush(); roctracer::close_output_file(roctracer::kernel_file_handle); ONLOAD_TRACE_END(); } +PUBLIC_API void roctracer_flush_buf() { + ONLOAD_TRACE_BEG(); + roctracer::trace_buffer.Flush(); + ONLOAD_TRACE_END(); +} + CONSTRUCTOR_API void constructor() { ONLOAD_TRACE_BEG(); roctracer::util::Logger::Create(); diff --git a/test/tool/tracer_tool.cpp b/test/tool/tracer_tool.cpp index cdbdbab4e8..78d7f92f2e 100644 --- a/test/tool/tracer_tool.cpp +++ b/test/tool/tracer_tool.cpp @@ -974,12 +974,15 @@ extern "C" PUBLIC_API void OnUnload() { extern "C" CONSTRUCTOR_API void constructor() { ONLOAD_TRACE_BEG(); + roctracer_load(); tool_load(); ONLOAD_TRACE_END(); } extern "C" DESTRUCTOR_API void destructor() { ONLOAD_TRACE_BEG(); + roctracer_flush_buf(); tool_unload(); + roctracer_unload(); ONLOAD_TRACE_END(); }