diff --git a/src/plugins/qmldesigner/libs/designercore/CMakeLists.txt b/src/plugins/qmldesigner/libs/designercore/CMakeLists.txt index 4964300ecdb..fb1f6bad44d 100644 --- a/src/plugins/qmldesigner/libs/designercore/CMakeLists.txt +++ b/src/plugins/qmldesigner/libs/designercore/CMakeLists.txt @@ -360,6 +360,8 @@ extend_qtc_library(QmlDesignerCore sourcepathexceptions.h sourcepathstorage.cpp sourcepathstorage.h + sourcepathstoragetracing.cpp + sourcepathstoragetracing.h sourcepathview.h storagecache.h storagecacheentry.h diff --git a/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/sourcepathexceptions.cpp b/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/sourcepathexceptions.cpp index 4e55c977be1..a587ba4ac35 100644 --- a/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/sourcepathexceptions.cpp +++ b/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/sourcepathexceptions.cpp @@ -3,9 +3,9 @@ #include "sourcepathexceptions.h" -#include +#include "sourcepathstoragetracing.h" - namespace QmlDesigner { +namespace QmlDesigner { using namespace NanotraceHR::Literals; using NanotraceHR::keyValue; diff --git a/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/sourcepathstorage.cpp b/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/sourcepathstorage.cpp index 74cedb8cf68..a8f55bc3a8f 100644 --- a/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/sourcepathstorage.cpp +++ b/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/sourcepathstorage.cpp @@ -4,8 +4,7 @@ #include "sourcepathstorage.h" #include "sourcepathexceptions.h" - -#include +#include "sourcepathstoragetracing.h" namespace QmlDesigner { diff --git a/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/sourcepathstoragetracing.cpp b/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/sourcepathstoragetracing.cpp new file mode 100644 index 00000000000..0f4dcb36611 --- /dev/null +++ b/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/sourcepathstoragetracing.cpp @@ -0,0 +1,29 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#include "sourcepathstoragetracing.h" + +#include + +namespace QmlDesigner::SourcePathStorageTracing { +using namespace NanotraceHR::Literals; + +#ifdef ENABLE_SOURCE_PATH_STORAGE_TRACING + +namespace { + +thread_local Category category_{"source path storage", + Tracing::eventQueueWithStringArguments(), + Tracing::eventQueueWithoutArguments(), + category}; + +} // namespace + +Category &category() +{ + return category_; +} + +#endif + +} // namespace QmlDesigner::SourcePathStorageTracing diff --git a/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/sourcepathstoragetracing.h b/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/sourcepathstoragetracing.h new file mode 100644 index 00000000000..ee29b2f29e3 --- /dev/null +++ b/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/sourcepathstoragetracing.h @@ -0,0 +1,30 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#include + +#include + +#pragma once + +namespace QmlDesigner::SourcePathStorageTracing { + +#ifdef ENABLE_SOURCE_PATH_STORAGE_TRACING + +using Category = NanotraceHR::EnabledCategory; +using SourceLocation = Category::SourceLocation; + +[[gnu::pure]] QMLDESIGNERCORE_EXPORT Category &category(); + +#else + +using Category = NanotraceHR::DisabledCategory; +using SourceLocation = Category::SourceLocation; + +inline Category category() +{ + return {}; +} + +#endif +} // namespace QmlDesigner::SourcePathStorageTracing diff --git a/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/storagecache.h b/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/storagecache.h index a455087805d..ade51f5d596 100644 --- a/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/storagecache.h +++ b/src/plugins/qmldesigner/libs/designercore/sourcepathstorage/storagecache.h @@ -4,11 +4,10 @@ #pragma once #include "nonlockingmutex.h" +#include "sourcepathstoragetracing.h" #include "storagecacheentry.h" #include "storagecachefwd.h" -#include - #include #include diff --git a/src/plugins/qmldesigner/libs/designercore/tracing/qmldesignertracing.cpp b/src/plugins/qmldesigner/libs/designercore/tracing/qmldesignertracing.cpp index f92cae6cda8..19db261098c 100644 --- a/src/plugins/qmldesigner/libs/designercore/tracing/qmldesignertracing.cpp +++ b/src/plugins/qmldesigner/libs/designercore/tracing/qmldesignertracing.cpp @@ -68,22 +68,4 @@ Category &category() } // namespace ModelTracing -namespace SourcePathStorageTracing { - -#ifdef ENABLE_SOURCE_PATH_STORAGE_TRACING - -Category &category() -{ - thread_local Category category_{"source path storage", - Tracing::eventQueueWithStringArguments(), - Tracing::eventQueueWithoutArguments(), - category}; - - return category_; -} - -#endif - -} // namespace SourcePathStorageTracing - } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/libs/designercore/tracing/qmldesignertracing.h b/src/plugins/qmldesigner/libs/designercore/tracing/qmldesignertracing.h index 449c9c7419b..cd1f9123178 100644 --- a/src/plugins/qmldesigner/libs/designercore/tracing/qmldesignertracing.h +++ b/src/plugins/qmldesigner/libs/designercore/tracing/qmldesignertracing.h @@ -48,23 +48,4 @@ inline Category category() } // namespace ModelTracing -namespace SourcePathStorageTracing { - -#ifdef ENABLE_SOURCE_PATH_STORAGE_TRACING - -using Category = NanotraceHR::EnabledCategory; - -[[gnu::pure]] QMLDESIGNERCORE_EXPORT Category &category(); -#else - -using Category = NanotraceHR::DisabledCategory; - -inline Category category() -{ - return {}; -} - -#endif - -} // namespace SourcePathStorageTracing } // namespace QmlDesigner