From db59cdaf72d626438af8b056b1e334d4921f87f6 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Thu, 12 Oct 2023 10:04:26 +0200 Subject: NanoTrace: Reduce macros with template specialization The nano trace code gets more complicated but the usage get mor readable. Change-Id: I2b829455d1328dc330474abbb804c76232df3e92 Reviewed-by: Tim Jenssen Reviewed-by: Qt CI Patch Build Bot --- src/libs/sqlite/sqlitebasestatement.cpp | 19 ++++++++----------- src/libs/sqlite/sqlitebasestatement.h | 10 ++++++++-- 2 files changed, 16 insertions(+), 13 deletions(-) (limited to 'src/libs/sqlite') diff --git a/src/libs/sqlite/sqlitebasestatement.cpp b/src/libs/sqlite/sqlitebasestatement.cpp index 6b1ad28cff..79e8cd6db6 100644 --- a/src/libs/sqlite/sqlitebasestatement.cpp +++ b/src/libs/sqlite/sqlitebasestatement.cpp @@ -26,24 +26,21 @@ extern "C" int sqlite3_carray_bind( namespace Sqlite { -#ifdef ENABLE_SQLITE_TRACING namespace { -NanotraceHR::TraceFile traceFile{"sqlite.json"}; +using TraceFile = NanotraceHR::TraceFile; + +TraceFile traceFile{"sqlite.json"}; thread_local auto eventQueueData = NanotraceHR::makeEventQueueData( traceFile); -thread_local NanotraceHR::EventQueue eventQueue = eventQueueData; - -NanotraceHR::Category sqliteLowLevelCategory{"sqlite low level"_t, - eventQueue}; -} // namespace +thread_local NanotraceHR::EventQueue eventQueue = eventQueueData.createEventQueue(); -NanotraceHR::Category sqliteHighLevelCategory{"sqlite high level"_t, +NanotraceHR::StringViewCategory sqliteLowLevelCategory{"sqlite low level"_t, eventQueue}; +} // namespace -#else -static NanotraceHR::DisabledCategory sqliteLowLevelCategory; -#endif +NanotraceHR::StringViewCategory sqliteHighLevelCategory{"sqlite high level"_t, + eventQueue}; BaseStatement::BaseStatement(Utils::SmallStringView sqlStatement, Database &database) : m_database(database) diff --git a/src/libs/sqlite/sqlitebasestatement.h b/src/libs/sqlite/sqlitebasestatement.h index 6c20262532..84575ec4db 100644 --- a/src/libs/sqlite/sqlitebasestatement.h +++ b/src/libs/sqlite/sqlitebasestatement.h @@ -44,11 +44,17 @@ constexpr static std::underlying_type_t to_underlying(Enumeration e return static_cast>(enumeration); } +constexpr bool sqliteTracingIsEnabled() +{ #ifdef ENABLE_SQLITE_TRACING -extern NanotraceHR::Category sqliteHighLevelCategory; + return NanotraceHR::isTracerActive(); #else -inline NanotraceHR::DisabledCategory sqliteHighLevelCategory; + return false; #endif +} + +SQLITE_EXPORT extern NanotraceHR::StringViewCategory sqliteHighLevelCategory; + class SQLITE_EXPORT BaseStatement { public: -- cgit v1.2.3