diff --git a/test/tool/tool.cpp b/test/tool/tool.cpp index 99124af96a..b3ffdfb679 100644 --- a/test/tool/tool.cpp +++ b/test/tool/tool.cpp @@ -1286,6 +1286,8 @@ extern "C" PUBLIC_API void OnLoadToolProp(rocprofiler_settings_t* settings) { const uint32_t features_found = metrics_vec.size(); // Getting Trace Period + bool b_disable_queue_callback = false; + const char* ctrl_str = getenv("ROCP_CTRL_RATE"); if (ctrl_str != nullptr) { uint32_t ctrl_delay = 0; @@ -1307,6 +1309,7 @@ extern "C" PUBLIC_API void OnLoadToolProp(rocprofiler_settings_t* settings) { << "us), rate(" << ctrl_rate << "us)" << std::endl; trace_period_thread = new std::thread(trace_period_fun); } else { + b_disable_queue_callback = true; std::cout << "ROCProfiler: trace start disabled" << std::endl; } } else { @@ -1389,6 +1392,8 @@ extern "C" PUBLIC_API void OnLoadToolProp(rocprofiler_settings_t* settings) { rocprofiler_set_queue_callbacks(callbacks_ptrs, callbacks_data); } + if (b_disable_queue_callback) rocprofiler_stop_queue_callbacks(); + xml::Xml::Destroy(xml); if (CTX_OUTSTANDING_MON != 0) {