Merge pull request #15761 from alalek:core_trace_itt_parameter

This commit is contained in:
Alexander Alekhin 2019-10-26 21:39:08 +00:00
commit d8ab83600b

View File

@ -196,14 +196,27 @@ static __itt_domain* domain = NULL;
static bool isITTEnabled()
{
static bool isInitialized = false;
static volatile bool isInitialized = false;
static bool isEnabled = false;
if (!isInitialized)
{
isEnabled = !!(__itt_api_version());
CV_LOG_ITT("ITT is " << (isEnabled ? "enabled" : "disabled"));
domain = __itt_domain_create("OpenCVTrace");
isInitialized = true;
cv::AutoLock lock(cv::getInitializationMutex());
if (!isInitialized)
{
bool param_traceITTEnable = utils::getConfigurationParameterBool("OPENCV_TRACE_ITT_ENABLE", true);
if (param_traceITTEnable)
{
isEnabled = !!(__itt_api_version());
CV_LOG_ITT("ITT is " << (isEnabled ? "enabled" : "disabled"));
domain = __itt_domain_create("OpenCVTrace");
}
else
{
CV_LOG_ITT("ITT is disabled through OpenCV parameter");
isEnabled = false;
}
isInitialized = true;
}
}
return isEnabled;
}