aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libs/nanotrace/nanotracehr.h32
-rw-r--r--src/libs/sqlite/sqlitebasestatement.cpp5
-rw-r--r--src/plugins/qmldesigner/designercore/tracing/qmldesignertracing.cpp15
3 files changed, 23 insertions, 29 deletions
diff --git a/src/libs/nanotrace/nanotracehr.h b/src/libs/nanotrace/nanotracehr.h
index d59073ede5..454ebec12a 100644
--- a/src/libs/nanotrace/nanotracehr.h
+++ b/src/libs/nanotrace/nanotracehr.h
@@ -239,16 +239,16 @@ void convertToString(String &string, const Container<Arguments...> &container)
template<typename String, typename... Arguments>
String toArguments(Arguments &&...arguments)
{
- String text;
- constexpr auto argumentCount = sizeof...(Arguments);
- text.append("{");
- (convertDictonaryEntryToString(text, arguments), ...);
- if (argumentCount)
- text.pop_back();
+ String text;
+ constexpr auto argumentCount = sizeof...(Arguments);
+ text.append("{");
+ (convertDictonaryEntryToString(text, arguments), ...);
+ if (argumentCount)
+ text.pop_back();
- text.append("}");
+ text.append("}");
- return text;
+ return text;
}
inline std::string_view toArguments(std::string_view arguments)
@@ -501,33 +501,29 @@ extern template class NANOTRACE_EXPORT EventQueue<StringTraceEvent, Tracing::IsE
extern template class NANOTRACE_EXPORT EventQueue<StringViewWithStringArgumentsTraceEvent, Tracing::IsEnabled>;
template<typename TraceEvent, std::size_t eventCount, Tracing isEnabled>
-class EventQueueData
+class EventQueueData : public EventQueue<TraceEvent, isEnabled>
{
public:
using IsActive = std::true_type;
EventQueueData(TraceFile<Tracing::IsDisabled> &) {}
-
- EventQueue<TraceEvent, Tracing::IsDisabled> createEventQueue() { return {}; }
};
template<typename TraceEvent, std::size_t eventCount>
class EventQueueData<TraceEvent, eventCount, Tracing::IsEnabled>
+ : public EventQueue<TraceEvent, Tracing::IsEnabled>
{
using TraceEvents = std::array<TraceEvent, eventCount>;
+ using Base = EventQueue<TraceEvent, Tracing::IsEnabled>;
public:
using IsActive = std::true_type;
EventQueueData(EnabledTraceFile &file)
- : file{file}
+ : Base{&file, eventsOne, eventsTwo}
+ , file{file}
{}
- EventQueue<TraceEvent, Tracing::IsEnabled> createEventQueue()
- {
- return {&file, eventsOne, eventsTwo};
- }
-
EnabledTraceFile &file;
TraceEvents eventsOne;
TraceEvents eventsTwo;
@@ -572,6 +568,7 @@ public:
BasicEnabledToken &operator=(const BasicEnabledToken &) = default;
BasicEnabledToken(BasicEnabledToken &&other) noexcept = default;
BasicEnabledToken &operator=(BasicEnabledToken &&other) noexcept = default;
+
~BasicEnabledToken() {}
constexpr explicit operator bool() const { return false; }
@@ -783,7 +780,6 @@ public:
static constexpr bool categoryIsActive() { return Category::isActive(); }
};
-
using DisabledAsynchronousToken = AsynchronousToken<StringViewCategory<Tracing::IsDisabled>,
Tracing::IsDisabled>;
diff --git a/src/libs/sqlite/sqlitebasestatement.cpp b/src/libs/sqlite/sqlitebasestatement.cpp
index 406d49d248..23466c0cea 100644
--- a/src/libs/sqlite/sqlitebasestatement.cpp
+++ b/src/libs/sqlite/sqlitebasestatement.cpp
@@ -33,12 +33,11 @@ TraceFile traceFile{"sqlite.json"};
thread_local NanotraceHR::EventQueueData<NanotraceHR::StringViewTraceEvent, 10000, sqliteTracingStatus()>
eventQueueData(traceFile);
-thread_local NanotraceHR::EventQueue eventQueue = eventQueueData.createEventQueue();
NanotraceHR::StringViewCategory<sqliteTracingStatus()> &sqliteLowLevelCategory();
thread_local NanotraceHR::StringViewCategory<sqliteTracingStatus()> sqliteLowLevelCategory_{
- "sqlite low level"_t, eventQueue, sqliteLowLevelCategory};
+ "sqlite low level"_t, eventQueueData, sqliteLowLevelCategory};
NanotraceHR::StringViewCategory<sqliteTracingStatus()> &sqliteLowLevelCategory()
{
@@ -46,7 +45,7 @@ NanotraceHR::StringViewCategory<sqliteTracingStatus()> &sqliteLowLevelCategory()
}
thread_local NanotraceHR::StringViewCategory<sqliteTracingStatus()> sqliteHighLevelCategory_{
- "sqlite high level"_t, eventQueue, sqliteHighLevelCategory};
+ "sqlite high level"_t, eventQueueData, sqliteHighLevelCategory};
} // namespace
NanotraceHR::StringViewCategory<sqliteTracingStatus()> &sqliteHighLevelCategory()
diff --git a/src/plugins/qmldesigner/designercore/tracing/qmldesignertracing.cpp b/src/plugins/qmldesigner/designercore/tracing/qmldesignertracing.cpp
index 2b3700c260..c23ebc2e3c 100644
--- a/src/plugins/qmldesigner/designercore/tracing/qmldesignertracing.cpp
+++ b/src/plugins/qmldesigner/designercore/tracing/qmldesignertracing.cpp
@@ -12,23 +12,20 @@ using TraceFile = NanotraceHR::TraceFile<tracingStatus()>;
TraceFile traceFile{"qml_designer.json"};
thread_local NanotraceHR::EventQueueData<NanotraceHR::StringViewTraceEvent, 10000, tracingStatus()>
- strinViewEventQueueData(traceFile);
-thread_local NanotraceHR::EventQueue stringViewEventQueue_ = strinViewEventQueueData.createEventQueue();
+ stringViewEventQueueData(traceFile);
thread_local NanotraceHR::EventQueueData<NanotraceHR::StringViewWithStringArgumentsTraceEvent, 1000, tracingStatus()>
stringViewWithStringArgumentsEventQueueData(traceFile);
-thread_local NanotraceHR::EventQueue stringViewEventWithStringArgumentsQueue_ = stringViewWithStringArgumentsEventQueueData
- .createEventQueue();
} // namespace
-[[gnu::pure]] EventQueue &eventQueue()
+EventQueue &eventQueue()
{
- return stringViewEventQueue_;
+ return stringViewEventQueueData;
}
EventQueueWithStringArguments &eventQueueWithStringArguments()
{
- return stringViewEventWithStringArgumentsQueue_;
+ return stringViewWithStringArgumentsEventQueueData;
}
} // namespace Tracing
@@ -37,7 +34,9 @@ namespace ModelTracing {
namespace {
using namespace NanotraceHR::Literals;
-thread_local Category category_{"model"_t, Tracing::stringViewEventWithStringArgumentsQueue_, category};
+thread_local Category category_{"model"_t,
+ Tracing::stringViewWithStringArgumentsEventQueueData,
+ category};
} // namespace