forked from qt-creator/qt-creator
NanoTrace: Remove user literal workaround
Since C++ 20 consteval we can enforce compile time evaluation. So the workaround is not anymore needed. Change-Id: Icfe254431e2d1c364846107474bab911efbf5641 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -62,7 +62,6 @@ struct TracerLiteral
|
||||
: text{text}
|
||||
{}
|
||||
|
||||
friend consteval TracerLiteral operator""_t(const char *text, size_t size);
|
||||
|
||||
constexpr operator std::string_view() const { return text; }
|
||||
|
||||
@@ -74,10 +73,6 @@ private:
|
||||
std::string_view text;
|
||||
};
|
||||
|
||||
consteval TracerLiteral operator""_t(const char *text, size_t size)
|
||||
{
|
||||
return {std::string_view{text, size}};
|
||||
}
|
||||
} // namespace Literals
|
||||
|
||||
using namespace Literals;
|
||||
@@ -333,7 +328,7 @@ template<typename String, typename... Arguments>
|
||||
{
|
||||
static_assert(
|
||||
!std::is_same_v<String, std::string_view>,
|
||||
R"(The arguments type of the tracing event queue is a string view. You can only provide trace token arguments as TracerLiteral (""_t).)");
|
||||
R"(The arguments type of the tracing event queue is a string view. You can only provide trace token arguments as TracerLiteral ("").)");
|
||||
|
||||
if constexpr (std::is_same_v<String, std::string_view>)
|
||||
eventArguments = {};
|
||||
|
@@ -82,7 +82,7 @@ void BaseStatement::waitForUnlockNotify() const
|
||||
|
||||
void BaseStatement::reset() const noexcept
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"reset"_t,
|
||||
NanotraceHR::Tracer tracer{"reset",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle())};
|
||||
|
||||
@@ -91,7 +91,7 @@ void BaseStatement::reset() const noexcept
|
||||
|
||||
bool BaseStatement::next() const
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"next"_t,
|
||||
NanotraceHR::Tracer tracer{"next",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle())};
|
||||
int resultCode;
|
||||
@@ -120,7 +120,7 @@ void BaseStatement::step() const
|
||||
|
||||
void BaseStatement::bindNull(int index)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"bind null"_t,
|
||||
NanotraceHR::Tracer tracer{"bind null",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("index", index)};
|
||||
@@ -137,7 +137,7 @@ void BaseStatement::bind(int index, NullValue)
|
||||
|
||||
void BaseStatement::bind(int index, int value)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"bind int"_t,
|
||||
NanotraceHR::Tracer tracer{"bind int",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("index", index),
|
||||
@@ -150,7 +150,7 @@ void BaseStatement::bind(int index, int value)
|
||||
|
||||
void BaseStatement::bind(int index, long long value)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"bind long long"_t,
|
||||
NanotraceHR::Tracer tracer{"bind long long",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("index", index),
|
||||
@@ -163,7 +163,7 @@ void BaseStatement::bind(int index, long long value)
|
||||
|
||||
void BaseStatement::bind(int index, double value)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"bind double"_t,
|
||||
NanotraceHR::Tracer tracer{"bind double",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("index", index),
|
||||
@@ -176,7 +176,7 @@ void BaseStatement::bind(int index, double value)
|
||||
|
||||
void BaseStatement::bind(int index, void *pointer)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"bind pointer"_t,
|
||||
NanotraceHR::Tracer tracer{"bind pointer",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("index", index),
|
||||
@@ -189,7 +189,7 @@ void BaseStatement::bind(int index, void *pointer)
|
||||
|
||||
void BaseStatement::bind(int index, Utils::span<const int> values)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"bind int span"_t,
|
||||
NanotraceHR::Tracer tracer{"bind int span",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("index", index),
|
||||
@@ -208,7 +208,7 @@ void BaseStatement::bind(int index, Utils::span<const int> values)
|
||||
|
||||
void BaseStatement::bind(int index, Utils::span<const long long> values)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"bind long long span"_t,
|
||||
NanotraceHR::Tracer tracer{"bind long long span",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("index", index),
|
||||
@@ -227,7 +227,7 @@ void BaseStatement::bind(int index, Utils::span<const long long> values)
|
||||
|
||||
void BaseStatement::bind(int index, Utils::span<const double> values)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"bind double span"_t,
|
||||
NanotraceHR::Tracer tracer{"bind double span",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("index", index),
|
||||
@@ -246,7 +246,7 @@ void BaseStatement::bind(int index, Utils::span<const double> values)
|
||||
|
||||
void BaseStatement::bind(int index, Utils::span<const char *> values)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"bind const char* span"_t,
|
||||
NanotraceHR::Tracer tracer{"bind const char* span",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("index", index),
|
||||
@@ -265,7 +265,7 @@ void BaseStatement::bind(int index, Utils::span<const char *> values)
|
||||
|
||||
void BaseStatement::bind(int index, Utils::SmallStringView text)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"bind string"_t,
|
||||
NanotraceHR::Tracer tracer{"bind string",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("index", index),
|
||||
@@ -282,7 +282,7 @@ void BaseStatement::bind(int index, Utils::SmallStringView text)
|
||||
|
||||
void BaseStatement::bind(int index, BlobView blobView)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"bind blob"_t,
|
||||
NanotraceHR::Tracer tracer{"bind blob",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("index", index),
|
||||
@@ -308,7 +308,7 @@ void BaseStatement::bind(int index, BlobView blobView)
|
||||
void BaseStatement::bind(int index, const Value &value)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{
|
||||
"bind value"_t,
|
||||
"bind value",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
};
|
||||
@@ -335,7 +335,7 @@ void BaseStatement::bind(int index, const Value &value)
|
||||
void BaseStatement::bind(int index, ValueView value)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{
|
||||
"bind value"_t,
|
||||
"bind value",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
};
|
||||
@@ -361,7 +361,7 @@ void BaseStatement::bind(int index, ValueView value)
|
||||
|
||||
void BaseStatement::prepare(Utils::SmallStringView sqlStatement)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"prepare"_t,
|
||||
NanotraceHR::Tracer tracer{"prepare",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sql statement", sqlStatement)};
|
||||
|
||||
@@ -380,7 +380,7 @@ void BaseStatement::prepare(Utils::SmallStringView sqlStatement)
|
||||
m_compiledStatement.reset(sqliteStatement);
|
||||
|
||||
if (resultCode == SQLITE_LOCKED) {
|
||||
tracer.tick("wait for unlock"_t);
|
||||
tracer.tick("wait for unlock");
|
||||
waitForUnlockNotify();
|
||||
}
|
||||
|
||||
@@ -468,7 +468,7 @@ StringType convertToTextForColumn(sqlite3_stmt *sqlStatment, int column)
|
||||
|
||||
Type BaseStatement::fetchType(int column) const
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"fetch type"_t,
|
||||
NanotraceHR::Tracer tracer{"fetch type",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("column", column)};
|
||||
@@ -493,7 +493,7 @@ Type BaseStatement::fetchType(int column) const
|
||||
|
||||
int BaseStatement::fetchIntValue(int column) const
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"fetch int"_t,
|
||||
NanotraceHR::Tracer tracer{"fetch int",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("column", column)};
|
||||
@@ -524,7 +524,7 @@ long BaseStatement::fetchValue<long>(int column) const
|
||||
|
||||
long long BaseStatement::fetchLongLongValue(int column) const
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"fetch long long"_t,
|
||||
NanotraceHR::Tracer tracer{"fetch long long",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("column", column)};
|
||||
@@ -544,7 +544,7 @@ long long BaseStatement::fetchValue<long long>(int column) const
|
||||
|
||||
double BaseStatement::fetchDoubleValue(int column) const
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"fetch double"_t,
|
||||
NanotraceHR::Tracer tracer{"fetch double",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("column", column)};
|
||||
@@ -558,7 +558,7 @@ double BaseStatement::fetchDoubleValue(int column) const
|
||||
|
||||
BlobView BaseStatement::fetchBlobValue(int column) const
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"fetch blob"_t,
|
||||
NanotraceHR::Tracer tracer{"fetch blob",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("column", column)};
|
||||
@@ -575,7 +575,7 @@ double BaseStatement::fetchValue<double>(int column) const
|
||||
template<typename StringType>
|
||||
StringType BaseStatement::fetchValue(int column) const
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"fetch string value"_t,
|
||||
NanotraceHR::Tracer tracer{"fetch string value",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("column", column)};
|
||||
@@ -596,7 +596,7 @@ template SQLITE_EXPORT Utils::PathString BaseStatement::fetchValue<Utils::PathSt
|
||||
|
||||
Utils::SmallStringView BaseStatement::fetchSmallStringViewValue(int column) const
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"fetch string view"_t,
|
||||
NanotraceHR::Tracer tracer{"fetch string view",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("column", column)};
|
||||
@@ -610,7 +610,7 @@ Utils::SmallStringView BaseStatement::fetchSmallStringViewValue(int column) cons
|
||||
|
||||
ValueView BaseStatement::fetchValueView(int column) const
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"fetch value view"_t,
|
||||
NanotraceHR::Tracer tracer{"fetch value view",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", handle()),
|
||||
keyValue("column", column)};
|
||||
@@ -635,7 +635,7 @@ ValueView BaseStatement::fetchValueView(int column) const
|
||||
void BaseStatement::Deleter::operator()(sqlite3_stmt *statement)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{
|
||||
"finalize"_t,
|
||||
"finalize",
|
||||
sqliteLowLevelCategory(),
|
||||
keyValue("sqlite statement", reinterpret_cast<std::uintptr_t>(statement)),
|
||||
};
|
||||
|
@@ -154,7 +154,7 @@ public:
|
||||
{
|
||||
using NanotraceHR::keyValue;
|
||||
NanotraceHR::Tracer tracer{
|
||||
"execute"_t,
|
||||
"execute",
|
||||
sqliteHighLevelCategory(),
|
||||
keyValue("sqlite statement", BaseStatement::handle()),
|
||||
};
|
||||
@@ -167,7 +167,7 @@ public:
|
||||
void bindValues(const ValueType &...values)
|
||||
{
|
||||
using NanotraceHR::keyValue;
|
||||
NanotraceHR::Tracer tracer{"bind"_t,
|
||||
NanotraceHR::Tracer tracer{"bind",
|
||||
sqliteHighLevelCategory(),
|
||||
keyValue("sqlite statement", BaseStatement::handle())};
|
||||
|
||||
@@ -181,7 +181,7 @@ public:
|
||||
void write(const ValueType&... values)
|
||||
{
|
||||
using NanotraceHR::keyValue;
|
||||
NanotraceHR::Tracer tracer{"write"_t,
|
||||
NanotraceHR::Tracer tracer{"write",
|
||||
sqliteHighLevelCategory(),
|
||||
keyValue("sqlite statement", BaseStatement::handle())};
|
||||
|
||||
@@ -218,7 +218,7 @@ public:
|
||||
auto values(const QueryTypes &...queryValues)
|
||||
{
|
||||
using NanotraceHR::keyValue;
|
||||
NanotraceHR::Tracer tracer{"values"_t,
|
||||
NanotraceHR::Tracer tracer{"values",
|
||||
sqliteHighLevelCategory(),
|
||||
keyValue("sqlite statement", BaseStatement::handle())};
|
||||
|
||||
@@ -252,7 +252,7 @@ public:
|
||||
auto value(const QueryTypes &...queryValues)
|
||||
{
|
||||
using NanotraceHR::keyValue;
|
||||
NanotraceHR::Tracer tracer{"value"_t,
|
||||
NanotraceHR::Tracer tracer{"value",
|
||||
sqliteHighLevelCategory(),
|
||||
keyValue("sqlite statement", BaseStatement::handle())};
|
||||
|
||||
@@ -271,7 +271,7 @@ public:
|
||||
auto optionalValue(const QueryTypes &...queryValues)
|
||||
{
|
||||
using NanotraceHR::keyValue;
|
||||
NanotraceHR::Tracer tracer{"optionalValue"_t,
|
||||
NanotraceHR::Tracer tracer{"optionalValue",
|
||||
sqliteHighLevelCategory(),
|
||||
keyValue("sqlite statement", BaseStatement::handle())};
|
||||
|
||||
@@ -290,7 +290,7 @@ public:
|
||||
static auto toValue(Utils::SmallStringView sqlStatement, Database &database)
|
||||
{
|
||||
using NanotraceHR::keyValue;
|
||||
NanotraceHR::Tracer tracer{"toValue"_t, sqliteHighLevelCategory()};
|
||||
NanotraceHR::Tracer tracer{"toValue", sqliteHighLevelCategory()};
|
||||
|
||||
StatementImplementation statement(sqlStatement, database);
|
||||
|
||||
@@ -305,7 +305,7 @@ public:
|
||||
void readCallback(Callable &&callable, const QueryTypes &...queryValues)
|
||||
{
|
||||
using NanotraceHR::keyValue;
|
||||
NanotraceHR::Tracer tracer{"readCallback"_t,
|
||||
NanotraceHR::Tracer tracer{"readCallback",
|
||||
sqliteHighLevelCategory(),
|
||||
keyValue("sqlite statement", BaseStatement::handle())};
|
||||
|
||||
@@ -325,7 +325,7 @@ public:
|
||||
void readTo(Container &container, const QueryTypes &...queryValues)
|
||||
{
|
||||
using NanotraceHR::keyValue;
|
||||
NanotraceHR::Tracer tracer{"readTo"_t,
|
||||
NanotraceHR::Tracer tracer{"readTo",
|
||||
sqliteHighLevelCategory(),
|
||||
keyValue("sqlite statement", BaseStatement::handle())};
|
||||
|
||||
@@ -427,7 +427,7 @@ public:
|
||||
using TracerCategory = std::decay_t<decltype(sqliteHighLevelCategory())>;
|
||||
StatementImplementation &m_statement;
|
||||
NanotraceHR::Tracer<TracerCategory, typename TracerCategory::IsActive> tracer{
|
||||
"range"_t,
|
||||
"range",
|
||||
sqliteHighLevelCategory(),
|
||||
NanotraceHR::keyValue("sqlite statement", m_statement.handle())};
|
||||
};
|
||||
|
@@ -38,7 +38,7 @@ void ExceptionWithMessage::printWarning() const
|
||||
StatementIsBusy::StatementIsBusy(Utils::SmallString &&sqliteErrorMessage)
|
||||
: ExceptionWithMessage{std::move(sqliteErrorMessage)}
|
||||
{
|
||||
sqliteHighLevelCategory().threadEvent("StatementIsBusy"_t,
|
||||
sqliteHighLevelCategory().threadEvent("StatementIsBusy",
|
||||
keyValue("error message", std::string_view{what()}));
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ const char *DatabaseIsBusy::what() const noexcept
|
||||
StatementHasError::StatementHasError(Utils::SmallString &&sqliteErrorMessage)
|
||||
: ExceptionWithMessage{std::move(sqliteErrorMessage)}
|
||||
{
|
||||
sqliteHighLevelCategory().threadEvent("StatementHasError"_t,
|
||||
sqliteHighLevelCategory().threadEvent("StatementHasError",
|
||||
keyValue("error message", std::string_view{what()}));
|
||||
}
|
||||
|
||||
|
@@ -23,14 +23,14 @@ thread_local NanotraceHR::EventQueue<NanotraceHR::StringViewWithStringArgumentsT
|
||||
NanotraceHR::StringViewWithStringArgumentsCategory<sqliteTracingStatus()> &sqliteLowLevelCategory()
|
||||
{
|
||||
thread_local NanotraceHR::StringViewWithStringArgumentsCategory<sqliteTracingStatus()>
|
||||
sqliteLowLevelCategory_{"sqlite low level"_t, eventQueue, sqliteLowLevelCategory};
|
||||
sqliteLowLevelCategory_{"sqlite low level", eventQueue, sqliteLowLevelCategory};
|
||||
return sqliteLowLevelCategory_;
|
||||
}
|
||||
|
||||
NanotraceHR::StringViewWithStringArgumentsCategory<sqliteTracingStatus()> &sqliteHighLevelCategory()
|
||||
{
|
||||
thread_local NanotraceHR::StringViewWithStringArgumentsCategory<sqliteTracingStatus()>
|
||||
sqliteHighLevelCategory_{"sqlite high level"_t, eventQueue, sqliteHighLevelCategory};
|
||||
sqliteHighLevelCategory_{"sqlite high level", eventQueue, sqliteHighLevelCategory};
|
||||
|
||||
return sqliteHighLevelCategory_;
|
||||
}
|
||||
|
@@ -83,7 +83,7 @@ void ImageCacheCollector::start(Utils::SmallStringView name,
|
||||
|
||||
using namespace NanotraceHR::Literals;
|
||||
auto [collectorTraceToken, flowtoken] = traceToken.beginDurationWithFlow(
|
||||
"generate image in standard collector"_t);
|
||||
"generate image in standard collector");
|
||||
|
||||
RewriterView rewriterView{m_externalDependencies, RewriterView::Amend};
|
||||
NodeInstanceView nodeInstanceView{m_connectionManager, m_externalDependencies};
|
||||
|
@@ -20,7 +20,7 @@ using namespace NanotraceHR::Literals;
|
||||
namespace ImageCache {
|
||||
namespace {
|
||||
|
||||
thread_local Category category_{"image cache"_t,
|
||||
thread_local Category category_{"image cache",
|
||||
QmlDesigner::Tracing::eventQueueWithStringArguments(),
|
||||
category};
|
||||
} // namespace
|
||||
@@ -63,15 +63,15 @@ void AsynchronousImageCache::request(Utils::SmallStringView name,
|
||||
using namespace std::literals::string_view_literals;
|
||||
|
||||
auto [durationToken, flowToken] = traceToken.beginDurationWithFlow(
|
||||
"AsynchronousImageCache works on the image request"_t,
|
||||
"AsynchronousImageCache works on the image request",
|
||||
keyValue("name", name),
|
||||
keyValue("extra id", extraId));
|
||||
|
||||
auto timeStrampToken = durationToken.beginDuration("getting timestamp"_t);
|
||||
auto timeStrampToken = durationToken.beginDuration("getting timestamp");
|
||||
const auto timeStamp = timeStampProvider.timeStamp(name);
|
||||
timeStrampToken.end(keyValue("time stamp", timeStamp.value));
|
||||
|
||||
auto storageTraceToken = durationToken.beginDuration("fetching image from storage"_t,
|
||||
auto storageTraceToken = durationToken.beginDuration("fetching image from storage",
|
||||
keyValue("storage id", id));
|
||||
auto requestImageFromStorage = [&](RequestType requestType) {
|
||||
switch (requestType) {
|
||||
@@ -92,7 +92,7 @@ void AsynchronousImageCache::request(Utils::SmallStringView name,
|
||||
|
||||
if (entry) {
|
||||
if (entry->isNull()) {
|
||||
storageTraceToken.tick("there was an null image in storage"_t);
|
||||
storageTraceToken.tick("there was an null image in storage");
|
||||
abortCallback(ImageCache::AbortReason::Failed);
|
||||
} else {
|
||||
captureCallback(*entry);
|
||||
@@ -106,7 +106,7 @@ void AsynchronousImageCache::request(Utils::SmallStringView name,
|
||||
const QImage &midSizeImage,
|
||||
const QImage &smallImage,
|
||||
ImageCache::TraceToken traceToken) {
|
||||
auto token = traceToken.beginDuration("call capture callback"_t);
|
||||
auto token = traceToken.beginDuration("call capture callback");
|
||||
auto selectImage = [](RequestType requestType,
|
||||
const QImage &image,
|
||||
const QImage &midSizeImage,
|
||||
@@ -130,11 +130,11 @@ void AsynchronousImageCache::request(Utils::SmallStringView name,
|
||||
auto imageGenerationAbortedCallback =
|
||||
[abortCallback = std::move(abortCallback)](ImageCache::AbortReason reason,
|
||||
ImageCache::TraceToken traceToken) {
|
||||
traceToken.tick("image could not be created"_t);
|
||||
traceToken.tick("image could not be created");
|
||||
abortCallback(reason);
|
||||
};
|
||||
|
||||
traceToken.tick("call the generator"_t);
|
||||
traceToken.tick("call the generator");
|
||||
|
||||
generator.generateImage(name,
|
||||
extraId,
|
||||
@@ -153,7 +153,7 @@ void AsynchronousImageCache::requestImage(Utils::SmallStringView name,
|
||||
ImageCache::AuxiliaryData auxiliaryData)
|
||||
{
|
||||
auto [trace, flowToken] = ImageCache::category().beginDurationWithFlow(
|
||||
"request image in asynchronous image cache"_t);
|
||||
"request image in asynchronous image cache");
|
||||
m_taskQueue.addTask(trace.createToken(),
|
||||
std::move(name),
|
||||
std::move(extraId),
|
||||
@@ -171,7 +171,7 @@ void AsynchronousImageCache::requestMidSizeImage(Utils::SmallStringView name,
|
||||
ImageCache::AuxiliaryData auxiliaryData)
|
||||
{
|
||||
auto [traceToken, flowToken] = ImageCache::category().beginDurationWithFlow(
|
||||
"request mid size image in asynchronous image cache"_t);
|
||||
"request mid size image in asynchronous image cache");
|
||||
m_taskQueue.addTask(traceToken.createToken(),
|
||||
std::move(name),
|
||||
std::move(extraId),
|
||||
@@ -189,7 +189,7 @@ void AsynchronousImageCache::requestSmallImage(Utils::SmallStringView name,
|
||||
ImageCache::AuxiliaryData auxiliaryData)
|
||||
{
|
||||
auto [traceToken, flowtoken] = ImageCache::category().beginDurationWithFlow(
|
||||
"request small size image in asynchronous image cache"_t);
|
||||
"request small size image in asynchronous image cache");
|
||||
m_taskQueue.addTask(traceToken.createToken(),
|
||||
std::move(name),
|
||||
std::move(extraId),
|
||||
@@ -226,7 +226,7 @@ void AsynchronousImageCache::Clean::operator()(Entry &entry)
|
||||
{
|
||||
using namespace NanotraceHR::Literals;
|
||||
|
||||
entry.traceToken.tick("cleaning up in the cache"_t);
|
||||
entry.traceToken.tick("cleaning up in the cache");
|
||||
|
||||
entry.abortCallback(ImageCache::AbortReason::Abort);
|
||||
}
|
||||
|
@@ -27,7 +27,7 @@ void AsynchronousImageFactory::generate(Utils::SmallStringView name,
|
||||
ImageCache::AuxiliaryData auxiliaryData)
|
||||
{
|
||||
auto [trace, flowToken] = ImageCache::category().beginDurationWithFlow(
|
||||
"request image in asynchronous image factory"_t);
|
||||
"request image in asynchronous image factory");
|
||||
m_taskQueue.addTask(trace.createToken(),
|
||||
name,
|
||||
extraId,
|
||||
@@ -45,7 +45,7 @@ void AsynchronousImageFactory::request(Utils::SmallStringView name,
|
||||
ImageCacheCollectorInterface &collector,
|
||||
ImageCache::TraceToken traceToken)
|
||||
{
|
||||
auto [storageTracer, flowToken] = traceToken.beginDurationWithFlow("starte image generator"_t);
|
||||
auto [storageTracer, flowToken] = traceToken.beginDurationWithFlow("starte image generator");
|
||||
const auto id = extraId.empty() ? Utils::PathString{name}
|
||||
: Utils::PathString::join({name, "+", extraId});
|
||||
|
||||
|
@@ -124,10 +124,10 @@ private:
|
||||
return;
|
||||
|
||||
auto [threadCreateToken, flowToken] = traceToken.beginDurationWithFlow(
|
||||
"thread is created in the task queue"_t);
|
||||
"thread is created in the task queue");
|
||||
m_backgroundThread = std::thread{[this](auto traceToken) {
|
||||
auto duration = traceToken.beginDuration(
|
||||
"thread is ready"_t);
|
||||
"thread is ready");
|
||||
|
||||
while (true) {
|
||||
auto [lock, abort] = waitForTasks();
|
||||
@@ -137,7 +137,7 @@ private:
|
||||
return;
|
||||
|
||||
auto getTaskToken = duration.beginDuration(
|
||||
"get task from queue"_t);
|
||||
"get task from queue");
|
||||
if (auto task = getTask(std::move(lock)); task) {
|
||||
getTaskToken.end();
|
||||
m_dispatchCallback(*task);
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -24,7 +24,7 @@ QString InternalBindingProperty::expression() const
|
||||
|
||||
void InternalBindingProperty::setExpression(const QString &expression)
|
||||
{
|
||||
traceToken.tick("expression"_t, keyValue("expression", expression));
|
||||
traceToken.tick("expression", keyValue("expression", expression));
|
||||
|
||||
m_expression = expression;
|
||||
}
|
||||
|
@@ -63,7 +63,7 @@ public:
|
||||
, minorVersion(minorVersion)
|
||||
, isValid(true)
|
||||
, internalId(internalId)
|
||||
, traceToken(flowTraceToken.beginAsynchronous("InternalNode"_t,
|
||||
, traceToken(flowTraceToken.beginAsynchronous("InternalNode",
|
||||
keyValue("type", typeName),
|
||||
keyValue("internal id", internalId)))
|
||||
{}
|
||||
|
@@ -41,8 +41,8 @@ void InternalNodeListProperty::add(const InternalNode::Pointer &internalNode)
|
||||
{
|
||||
Q_ASSERT(!m_nodes.contains(internalNode));
|
||||
|
||||
auto flowToken = traceToken.tickWithFlow("add node"_t);
|
||||
internalNode->traceToken.tick(flowToken, "node added"_t);
|
||||
auto flowToken = traceToken.tickWithFlow("add node");
|
||||
internalNode->traceToken.tick(flowToken, "node added");
|
||||
|
||||
m_nodes.append(internalNode);
|
||||
}
|
||||
@@ -51,8 +51,8 @@ void InternalNodeListProperty::remove(const InternalNodePointer &internalNode)
|
||||
{
|
||||
Q_ASSERT(m_nodes.contains(internalNode));
|
||||
|
||||
auto flowToken = traceToken.tickWithFlow("remove node"_t);
|
||||
internalNode->traceToken.tick(flowToken, "node removed"_t);
|
||||
auto flowToken = traceToken.tickWithFlow("remove node");
|
||||
internalNode->traceToken.tick(flowToken, "node removed");
|
||||
|
||||
m_nodes.removeAll(internalNode);
|
||||
}
|
||||
@@ -64,7 +64,7 @@ const InternalNodeListProperty::FewNodes &InternalNodeListProperty::nodeList() c
|
||||
|
||||
void InternalNodeListProperty::slide(int from, int to)
|
||||
{
|
||||
traceToken.tick("slide"_t, keyValue("from", from), keyValue("to", to));
|
||||
traceToken.tick("slide", keyValue("from", from), keyValue("to", to));
|
||||
|
||||
InternalNode::Pointer internalNode = m_nodes.at(from);
|
||||
m_nodes.remove(from);
|
||||
|
@@ -43,8 +43,8 @@ void InternalNodeProperty::remove([[maybe_unused]] const InternalNode::Pointer &
|
||||
{
|
||||
Q_ASSERT(m_node == node);
|
||||
|
||||
auto flowToken = traceToken.tickWithFlow("remove node"_t);
|
||||
node->traceToken.tick(flowToken, "node removed"_t);
|
||||
auto flowToken = traceToken.tickWithFlow("remove node");
|
||||
node->traceToken.tick(flowToken, "node removed");
|
||||
|
||||
m_node.reset();
|
||||
}
|
||||
@@ -54,8 +54,8 @@ void InternalNodeProperty::add(const InternalNode::Pointer &node)
|
||||
Q_ASSERT(node);
|
||||
Q_ASSERT(node->parentProperty());
|
||||
|
||||
auto flowToken = traceToken.tickWithFlow("add node"_t);
|
||||
node->traceToken.tick(flowToken, "node added"_t);
|
||||
auto flowToken = traceToken.tickWithFlow("add node");
|
||||
node->traceToken.tick(flowToken, "node added");
|
||||
|
||||
m_node = node;
|
||||
}
|
||||
|
@@ -69,14 +69,14 @@ TypeName InternalProperty::dynamicTypeName() const
|
||||
|
||||
void InternalProperty::setDynamicTypeName(const TypeName &name)
|
||||
{
|
||||
traceToken.tick("dynamic type name"_t, keyValue("name", name));
|
||||
traceToken.tick("dynamic type name", keyValue("name", name));
|
||||
|
||||
m_dynamicType = name;
|
||||
}
|
||||
|
||||
void InternalProperty::resetDynamicTypeName()
|
||||
{
|
||||
traceToken.tick("reset dynamic type name"_t);
|
||||
traceToken.tick("reset dynamic type name");
|
||||
|
||||
m_dynamicType.clear();
|
||||
}
|
||||
|
@@ -23,7 +23,7 @@ QString InternalSignalHandlerProperty::source() const
|
||||
}
|
||||
void InternalSignalHandlerProperty::setSource(const QString &source)
|
||||
{
|
||||
traceToken.tick("source"_t, keyValue("source", source));
|
||||
traceToken.tick("source", keyValue("source", source));
|
||||
|
||||
m_source = source;
|
||||
}
|
||||
@@ -40,7 +40,7 @@ QString InternalSignalDeclarationProperty::signature() const
|
||||
|
||||
void InternalSignalDeclarationProperty::setSignature(const QString &signature)
|
||||
{
|
||||
traceToken.tick("signature"_t, keyValue("signature", signature));
|
||||
traceToken.tick("signature", keyValue("signature", signature));
|
||||
|
||||
m_signature = signature;
|
||||
}
|
||||
|
@@ -18,7 +18,7 @@ QVariant InternalVariantProperty::value() const
|
||||
|
||||
void InternalVariantProperty::setValue(const QVariant &value)
|
||||
{
|
||||
traceToken.tick("value"_t, keyValue("value", value));
|
||||
traceToken.tick("value", keyValue("value", value));
|
||||
|
||||
m_value = value;
|
||||
}
|
||||
|
@@ -152,7 +152,7 @@ ModelPrivate::~ModelPrivate()
|
||||
|
||||
void ModelPrivate::detachAllViews()
|
||||
{
|
||||
auto tracer = traceToken.begin("detach all views"_t);
|
||||
auto tracer = traceToken.begin("detach all views");
|
||||
|
||||
for (const QPointer<AbstractView> &view : std::as_const(m_viewList))
|
||||
detachView(view.data(), true);
|
||||
@@ -197,7 +197,7 @@ Storage::Imports createStorageImports(const Imports &imports,
|
||||
|
||||
void ModelPrivate::changeImports(Imports toBeAddedImports, Imports toBeRemovedImports)
|
||||
{
|
||||
auto tracer = traceToken.begin("change imports"_t);
|
||||
auto tracer = traceToken.begin("change imports");
|
||||
|
||||
std::sort(toBeAddedImports.begin(), toBeAddedImports.end());
|
||||
std::sort(toBeRemovedImports.begin(), toBeRemovedImports.end());
|
||||
@@ -274,7 +274,7 @@ void ModelPrivate::setDocumentMessages(const QList<DocumentMessage> &errors,
|
||||
|
||||
void ModelPrivate::setFileUrl(const QUrl &fileUrl)
|
||||
{
|
||||
auto tracer = traceToken.begin("file url"_t);
|
||||
auto tracer = traceToken.begin("file url");
|
||||
|
||||
QUrl oldPath = m_fileUrl;
|
||||
|
||||
@@ -327,7 +327,7 @@ InternalNodePointer ModelPrivate::createNode(TypeNameView typeName,
|
||||
majorVersion,
|
||||
minorVersion,
|
||||
internalId,
|
||||
traceToken.tickWithFlow("create node"_t));
|
||||
traceToken.tickWithFlow("create node"));
|
||||
|
||||
setTypeId(newNode.get(), typeName);
|
||||
|
||||
@@ -538,7 +538,7 @@ void ModelPrivate::changeNodeId(const InternalNodePointer &node, const QString &
|
||||
const QString oldId = node->id;
|
||||
|
||||
node->id = id;
|
||||
node->traceToken.tick("id"_t, std::forward_as_tuple("id", id));
|
||||
node->traceToken.tick("id", std::forward_as_tuple("id", id));
|
||||
if (!oldId.isEmpty())
|
||||
m_idNodeHash.remove(oldId);
|
||||
if (!id.isEmpty())
|
||||
@@ -1175,7 +1175,7 @@ void ModelPrivate::setSelectedNodes(const FewNodes &selectedNodeList)
|
||||
if (sortedSelectedList == m_selectedInternalNodes)
|
||||
return;
|
||||
|
||||
auto flowToken = traceToken.tickWithFlow("selected model nodes"_t);
|
||||
auto flowToken = traceToken.tickWithFlow("selected model nodes");
|
||||
|
||||
if constexpr (decltype(traceToken)::categoryIsActive()) { // the compiler should optimize it away but to be sure
|
||||
std::set_difference(sortedSelectedList.begin(),
|
||||
@@ -1183,7 +1183,7 @@ void ModelPrivate::setSelectedNodes(const FewNodes &selectedNodeList)
|
||||
m_selectedInternalNodes.begin(),
|
||||
m_selectedInternalNodes.end(),
|
||||
Utils::make_iterator([&](const auto &node) {
|
||||
node->traceToken.tick(flowToken, "select model node"_t);
|
||||
node->traceToken.tick(flowToken, "select model node");
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -1196,7 +1196,7 @@ void ModelPrivate::setSelectedNodes(const FewNodes &selectedNodeList)
|
||||
m_selectedInternalNodes.begin(),
|
||||
m_selectedInternalNodes.end(),
|
||||
Utils::make_iterator([&](const auto &node) {
|
||||
node->traceToken.tick(flowToken, "deselect model node"_t);
|
||||
node->traceToken.tick(flowToken, "deselect model node");
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -1205,7 +1205,7 @@ void ModelPrivate::setSelectedNodes(const FewNodes &selectedNodeList)
|
||||
|
||||
void ModelPrivate::clearSelectedNodes()
|
||||
{
|
||||
auto tracer = traceToken.begin("clear selected model nodes"_t);
|
||||
auto tracer = traceToken.begin("clear selected model nodes");
|
||||
|
||||
auto lastSelectedNodeList = m_selectedInternalNodes;
|
||||
m_selectedInternalNodes.clear();
|
||||
@@ -1573,7 +1573,7 @@ void ModelPrivate::changeRootNodeType(const TypeName &type, int majorVersion, in
|
||||
{
|
||||
Q_ASSERT(rootNode());
|
||||
|
||||
m_rootInternalNode->traceToken.tick("type name"_t, keyValue("type name", type));
|
||||
m_rootInternalNode->traceToken.tick("type name", keyValue("type name", type));
|
||||
|
||||
m_rootInternalNode->typeName = type;
|
||||
m_rootInternalNode->majorVersion = majorVersion;
|
||||
@@ -1584,7 +1584,7 @@ void ModelPrivate::changeRootNodeType(const TypeName &type, int majorVersion, in
|
||||
|
||||
void ModelPrivate::setScriptFunctions(const InternalNodePointer &node, const QStringList &scriptFunctionList)
|
||||
{
|
||||
m_rootInternalNode->traceToken.tick("script function"_t);
|
||||
m_rootInternalNode->traceToken.tick("script function");
|
||||
|
||||
node->scriptFunctions = scriptFunctionList;
|
||||
|
||||
@@ -1593,7 +1593,7 @@ void ModelPrivate::setScriptFunctions(const InternalNodePointer &node, const QSt
|
||||
|
||||
void ModelPrivate::setNodeSource(const InternalNodePointer &node, const QString &nodeSource)
|
||||
{
|
||||
m_rootInternalNode->traceToken.tick("node source"_t);
|
||||
m_rootInternalNode->traceToken.tick("node source");
|
||||
|
||||
node->nodeSource = nodeSource;
|
||||
notifyNodeSourceChanged(node, nodeSource);
|
||||
@@ -1858,7 +1858,7 @@ void Model::changeImports(Imports importsToBeAdded, Imports importsToBeRemoved)
|
||||
#ifndef QDS_USE_PROJECTSTORAGE
|
||||
void Model::setPossibleImports(Imports possibleImports)
|
||||
{
|
||||
auto tracer = d->traceToken.begin("possible imports"_t);
|
||||
auto tracer = d->traceToken.begin("possible imports");
|
||||
|
||||
std::sort(possibleImports.begin(), possibleImports.end());
|
||||
|
||||
@@ -1872,7 +1872,7 @@ void Model::setPossibleImports(Imports possibleImports)
|
||||
#ifndef QDS_USE_PROJECTSTORAGE
|
||||
void Model::setUsedImports(Imports usedImports)
|
||||
{
|
||||
auto tracer = d->traceToken.begin("used imports"_t);
|
||||
auto tracer = d->traceToken.begin("used imports");
|
||||
|
||||
std::sort(usedImports.begin(), usedImports.end());
|
||||
|
||||
@@ -2847,7 +2847,7 @@ The view is informed that it has been registered within the model by a call to A
|
||||
*/
|
||||
void Model::attachView(AbstractView *view)
|
||||
{
|
||||
auto traceToken = d->traceToken.begin("attachView"_t,
|
||||
auto traceToken = d->traceToken.begin("attachView",
|
||||
keyValue("name",
|
||||
std::string_view{view->metaObject()->className()}));
|
||||
|
||||
@@ -2877,7 +2877,7 @@ void Model::attachView(AbstractView *view)
|
||||
*/
|
||||
void Model::detachView(AbstractView *view, ViewNotification emitDetachNotify)
|
||||
{
|
||||
auto traceToken = d->traceToken.begin("detachView"_t,
|
||||
auto traceToken = d->traceToken.begin("detachView",
|
||||
keyValue("name",
|
||||
std::string_view{view->metaObject()->className()}));
|
||||
|
||||
|
@@ -345,7 +345,7 @@ private:
|
||||
public:
|
||||
NotNullPointer<ProjectStorageType> projectStorage = nullptr;
|
||||
NotNullPointer<PathCacheType> pathCache = nullptr;
|
||||
ModelTracing::AsynchronousToken traceToken = ModelTracing::category().beginAsynchronous("Model"_t);
|
||||
ModelTracing::AsynchronousToken traceToken = ModelTracing::category().beginAsynchronous("Model");
|
||||
|
||||
private:
|
||||
Model *m_model = nullptr;
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -132,7 +132,7 @@ public:
|
||||
TypeId commonTypeId() const
|
||||
{
|
||||
using NanotraceHR::keyValue;
|
||||
NanotraceHR::Tracer tracer{"get type id from common type cache"_t,
|
||||
NanotraceHR::Tracer tracer{"get type id from common type cache",
|
||||
projectStorageCategory(),
|
||||
keyValue("module name", std::string_view{moduleName}),
|
||||
keyValue("type name", std::string_view{typeName})};
|
||||
@@ -148,7 +148,7 @@ public:
|
||||
TypeId builtinTypeId() const
|
||||
{
|
||||
using NanotraceHR::keyValue;
|
||||
NanotraceHR::Tracer tracer{"get builtin type id from common type cache"_t,
|
||||
NanotraceHR::Tracer tracer{"get builtin type id from common type cache",
|
||||
projectStorageCategory()};
|
||||
|
||||
auto typeId = commonTypeCache_.builtinTypeId<BuiltinType>();
|
||||
@@ -162,7 +162,7 @@ public:
|
||||
TypeId builtinTypeId() const
|
||||
{
|
||||
using NanotraceHR::keyValue;
|
||||
NanotraceHR::Tracer tracer{"get builtin type id from common type cache"_t,
|
||||
NanotraceHR::Tracer tracer{"get builtin type id from common type cache",
|
||||
projectStorageCategory()};
|
||||
|
||||
auto typeId = commonTypeCache_.builtinTypeId<builtinType>();
|
||||
@@ -837,7 +837,7 @@ private:
|
||||
template<typename Relinkable>
|
||||
void removeRelinkableEntries(std::vector<Relinkable> &relinkables, auto &ids, auto projection)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"remove relinkable entries"_t, projectStorageCategory()};
|
||||
NanotraceHR::Tracer tracer{"remove relinkable entries", projectStorageCategory()};
|
||||
|
||||
std::vector<Relinkable> newRelinkables;
|
||||
newRelinkables.reserve(relinkables.size());
|
||||
|
@@ -19,7 +19,7 @@ auto &category()
|
||||
|
||||
TypeHasInvalidSourceId::TypeHasInvalidSourceId()
|
||||
{
|
||||
category().threadEvent("TypeHasInvalidSourceId"_t);
|
||||
category().threadEvent("TypeHasInvalidSourceId");
|
||||
}
|
||||
|
||||
const char *TypeHasInvalidSourceId::what() const noexcept
|
||||
@@ -29,7 +29,7 @@ const char *TypeHasInvalidSourceId::what() const noexcept
|
||||
|
||||
ModuleDoesNotExists::ModuleDoesNotExists()
|
||||
{
|
||||
category().threadEvent("ModuleDoesNotExists"_t);
|
||||
category().threadEvent("ModuleDoesNotExists");
|
||||
}
|
||||
|
||||
const char *ModuleDoesNotExists::what() const noexcept
|
||||
@@ -39,7 +39,7 @@ const char *ModuleDoesNotExists::what() const noexcept
|
||||
|
||||
ModuleAlreadyExists::ModuleAlreadyExists()
|
||||
{
|
||||
category().threadEvent("ModuleAlreadyExists"_t);
|
||||
category().threadEvent("ModuleAlreadyExists");
|
||||
}
|
||||
|
||||
const char *ModuleAlreadyExists::what() const noexcept
|
||||
@@ -53,14 +53,14 @@ TypeNameDoesNotExists::TypeNameDoesNotExists(std::string_view typeName, SourceId
|
||||
Utils::SmallString::join(
|
||||
{"type: ", typeName, ", source id: ", Utils::SmallString::number(sourceId.internalId())})}
|
||||
{
|
||||
category().threadEvent("TypeNameDoesNotExists"_t,
|
||||
category().threadEvent("TypeNameDoesNotExists",
|
||||
keyValue("type name", typeName),
|
||||
keyValue("source id", sourceId));
|
||||
}
|
||||
|
||||
PrototypeChainCycle::PrototypeChainCycle()
|
||||
{
|
||||
category().threadEvent("PrototypeChainCycle"_t);
|
||||
category().threadEvent("PrototypeChainCycle");
|
||||
}
|
||||
|
||||
const char *PrototypeChainCycle::what() const noexcept
|
||||
@@ -70,7 +70,7 @@ const char *PrototypeChainCycle::what() const noexcept
|
||||
|
||||
AliasChainCycle::AliasChainCycle()
|
||||
{
|
||||
category().threadEvent("AliasChainCycle"_t);
|
||||
category().threadEvent("AliasChainCycle");
|
||||
}
|
||||
|
||||
const char *AliasChainCycle::what() const noexcept
|
||||
@@ -80,7 +80,7 @@ const char *AliasChainCycle::what() const noexcept
|
||||
|
||||
CannotParseQmlTypesFile::CannotParseQmlTypesFile()
|
||||
{
|
||||
category().threadEvent("CannotParseQmlTypesFile"_t);
|
||||
category().threadEvent("CannotParseQmlTypesFile");
|
||||
}
|
||||
|
||||
const char *CannotParseQmlTypesFile::what() const noexcept
|
||||
@@ -90,7 +90,7 @@ const char *CannotParseQmlTypesFile::what() const noexcept
|
||||
|
||||
CannotParseQmlDocumentFile::CannotParseQmlDocumentFile()
|
||||
{
|
||||
category().threadEvent("CannotParseQmlDocumentFile"_t);
|
||||
category().threadEvent("CannotParseQmlDocumentFile");
|
||||
}
|
||||
|
||||
const char *CannotParseQmlDocumentFile::what() const noexcept
|
||||
@@ -100,7 +100,7 @@ const char *CannotParseQmlDocumentFile::what() const noexcept
|
||||
|
||||
DirectoryInfoHasInvalidProjectSourceId::DirectoryInfoHasInvalidProjectSourceId()
|
||||
{
|
||||
category().threadEvent("DirectoryInfoHasInvalidProjectSourceId"_t);
|
||||
category().threadEvent("DirectoryInfoHasInvalidProjectSourceId");
|
||||
}
|
||||
|
||||
const char *DirectoryInfoHasInvalidProjectSourceId::what() const noexcept
|
||||
@@ -110,7 +110,7 @@ const char *DirectoryInfoHasInvalidProjectSourceId::what() const noexcept
|
||||
|
||||
DirectoryInfoHasInvalidSourceId::DirectoryInfoHasInvalidSourceId()
|
||||
{
|
||||
category().threadEvent("DirectoryInfoHasInvalidSourceId"_t);
|
||||
category().threadEvent("DirectoryInfoHasInvalidSourceId");
|
||||
}
|
||||
|
||||
const char *DirectoryInfoHasInvalidSourceId::what() const noexcept
|
||||
@@ -120,7 +120,7 @@ const char *DirectoryInfoHasInvalidSourceId::what() const noexcept
|
||||
|
||||
DirectoryInfoHasInvalidModuleId::DirectoryInfoHasInvalidModuleId()
|
||||
{
|
||||
category().threadEvent("DirectoryInfoHasInvalidModuleId"_t);
|
||||
category().threadEvent("DirectoryInfoHasInvalidModuleId");
|
||||
}
|
||||
|
||||
const char *DirectoryInfoHasInvalidModuleId::what() const noexcept
|
||||
@@ -130,7 +130,7 @@ const char *DirectoryInfoHasInvalidModuleId::what() const noexcept
|
||||
|
||||
FileStatusHasInvalidSourceId::FileStatusHasInvalidSourceId()
|
||||
{
|
||||
category().threadEvent("FileStatusHasInvalidSourceId"_t);
|
||||
category().threadEvent("FileStatusHasInvalidSourceId");
|
||||
}
|
||||
|
||||
const char *FileStatusHasInvalidSourceId::what() const noexcept
|
||||
@@ -160,12 +160,12 @@ const char *ProjectStorageErrorWithMessage::what() const noexcept
|
||||
ExportedTypeCannotBeInserted::ExportedTypeCannotBeInserted(std::string_view errorMessage)
|
||||
: ProjectStorageErrorWithMessage{"ExportedTypeCannotBeInserted"sv, errorMessage}
|
||||
{
|
||||
category().threadEvent("ExportedTypeCannotBeInserted"_t, keyValue("error message", errorMessage));
|
||||
category().threadEvent("ExportedTypeCannotBeInserted", keyValue("error message", errorMessage));
|
||||
}
|
||||
|
||||
TypeAnnotationHasInvalidSourceId::TypeAnnotationHasInvalidSourceId()
|
||||
{
|
||||
category().threadEvent("TypeAnnotationHasInvalidSourceId"_t);
|
||||
category().threadEvent("TypeAnnotationHasInvalidSourceId");
|
||||
}
|
||||
|
||||
const char *TypeAnnotationHasInvalidSourceId::what() const noexcept
|
||||
|
@@ -183,7 +183,7 @@ void addModuleExportedImport(Storage::Synchronization::ModuleExportedImports &im
|
||||
Storage::ModuleKind moduleKind,
|
||||
std::string_view exportedModuleName)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"add module exported imports"_t,
|
||||
NanotraceHR::Tracer tracer{"add module exported imports",
|
||||
category(),
|
||||
keyValue("module id", moduleId),
|
||||
keyValue("exported module id", exportedModuleId),
|
||||
@@ -208,7 +208,7 @@ void addModuleExportedImports(Storage::Synchronization::ModuleExportedImports &i
|
||||
const QList<QmlDirParser::Import> &qmldirImports,
|
||||
ProjectStorageInterface &projectStorage)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"add module exported imports"_t,
|
||||
NanotraceHR::Tracer tracer{"add module exported imports",
|
||||
category(),
|
||||
keyValue("cpp module id", cppModuleId),
|
||||
keyValue("module id", moduleId)};
|
||||
@@ -268,7 +268,7 @@ void ProjectStorageUpdater::update(Update update)
|
||||
const QString &propertyEditorResourcesPath = update.propertyEditorResourcesPath;
|
||||
const QStringList &typeAnnotationPaths = update.typeAnnotationPaths;
|
||||
|
||||
NanotraceHR::Tracer tracer{"update"_t,
|
||||
NanotraceHR::Tracer tracer{"update",
|
||||
category(),
|
||||
keyValue("directories", directories),
|
||||
keyValue("qml types paths", qmlTypesPaths)};
|
||||
@@ -307,14 +307,14 @@ void ProjectStorageUpdater::updateQmlTypes(const QStringList &qmlTypesPaths,
|
||||
if (qmlTypesPaths.empty())
|
||||
return;
|
||||
|
||||
NanotraceHR::Tracer tracer{"update qmltypes file"_t, category()};
|
||||
NanotraceHR::Tracer tracer{"update qmltypes file", category()};
|
||||
|
||||
ModuleId moduleId = m_projectStorage.moduleId("QML", Storage::ModuleKind::CppLibrary);
|
||||
|
||||
for (const QString &qmlTypesPath : qmlTypesPaths) {
|
||||
SourceId sourceId = m_pathCache.sourceId(SourcePath{qmlTypesPath});
|
||||
watchedSourceIdsIds.qmltypesSourceIds.push_back(sourceId);
|
||||
tracer.tick("append watched qml types source id"_t,
|
||||
tracer.tick("append watched qml types source id",
|
||||
keyValue("source id", sourceId),
|
||||
keyValue("qml types path", qmlTypesPath));
|
||||
|
||||
@@ -327,9 +327,9 @@ void ProjectStorageUpdater::updateQmlTypes(const QStringList &qmlTypesPaths,
|
||||
notUpdatedSourceIds);
|
||||
|
||||
if (state == FileState::Changed) {
|
||||
tracer.tick("append project data"_t, keyValue("project data", directoryInfo));
|
||||
tracer.tick("append project data", keyValue("project data", directoryInfo));
|
||||
package.directoryInfos.push_back(std::move(directoryInfo));
|
||||
tracer.tick("append updated project source ids"_t, keyValue("source id", sourceId));
|
||||
tracer.tick("append updated project source ids", keyValue("source id", sourceId));
|
||||
package.updatedDirectoryInfoSourceIds.push_back(sourceId);
|
||||
}
|
||||
}
|
||||
@@ -366,7 +366,7 @@ void ProjectStorageUpdater::updateDirectoryChanged(std::string_view directoryPat
|
||||
parser.parse(m_fileSystem.contentAsQString(QString{qmldirSourcePath}));
|
||||
|
||||
if (qmldirState != FileState::NotChanged) {
|
||||
tracer.tick("append updated source id"_t, keyValue("module id", qmldirSourceId));
|
||||
tracer.tick("append updated source id", keyValue("module id", qmldirSourceId));
|
||||
package.updatedSourceIds.push_back(qmldirSourceId);
|
||||
}
|
||||
|
||||
@@ -384,14 +384,14 @@ void ProjectStorageUpdater::updateDirectoryChanged(std::string_view directoryPat
|
||||
moduleName,
|
||||
imports,
|
||||
m_projectStorage);
|
||||
tracer.tick("append updated module id"_t, keyValue("module id", moduleId));
|
||||
tracer.tick("append updated module id", keyValue("module id", moduleId));
|
||||
package.updatedModuleIds.push_back(moduleId);
|
||||
|
||||
const auto qmlDirectoryInfos = m_projectStorage.fetchDirectoryInfos(directorySourceId);
|
||||
addSourceIds(package.updatedSourceIds, qmlDirectoryInfos, "append updated source id"_t, tracer);
|
||||
addSourceIds(package.updatedSourceIds, qmlDirectoryInfos, "append updated source id", tracer);
|
||||
addSourceIds(package.updatedFileStatusSourceIds,
|
||||
qmlDirectoryInfos,
|
||||
"append updated file status source id"_t,
|
||||
"append updated file status source id",
|
||||
tracer);
|
||||
|
||||
auto qmlTypes = filterMultipleEntries(parser.typeInfos());
|
||||
@@ -415,7 +415,7 @@ void ProjectStorageUpdater::updateDirectoryChanged(std::string_view directoryPat
|
||||
notUpdatedSourceIds,
|
||||
watchedSourceIdsIds,
|
||||
qmldirState);
|
||||
tracer.tick("append updated project source id"_t, keyValue("module id", moduleId));
|
||||
tracer.tick("append updated project source id", keyValue("module id", moduleId));
|
||||
package.updatedDirectoryInfoSourceIds.push_back(directorySourceId);
|
||||
}
|
||||
|
||||
@@ -424,7 +424,7 @@ void ProjectStorageUpdater::updateDirectories(const QStringList &directories,
|
||||
NotUpdatedSourceIds ¬UpdatedSourceIds,
|
||||
WatchedSourceIdsIds &watchedSourceIdsIds)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"update directories"_t, category()};
|
||||
NanotraceHR::Tracer tracer{"update directories", category()};
|
||||
|
||||
for (const QString &directory : directories)
|
||||
updateDirectory({directory}, {}, package, notUpdatedSourceIds, watchedSourceIdsIds);
|
||||
@@ -532,7 +532,7 @@ void ProjectStorageUpdater::updateDirectory(const Utils::PathString &directoryPa
|
||||
NotUpdatedSourceIds ¬UpdatedSourceIds,
|
||||
WatchedSourceIdsIds &watchedSourceIdsIds)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"update directory"_t, category(), keyValue("directory", directoryPath)};
|
||||
NanotraceHR::Tracer tracer{"update directory", category(), keyValue("directory", directoryPath)};
|
||||
|
||||
SourcePath qmldirSourcePath{directoryPath + "/qmldir"};
|
||||
auto [directoryId, qmldirSourceId] = m_pathCache.sourceContextAndSourceId(qmldirSourcePath);
|
||||
@@ -549,7 +549,7 @@ void ProjectStorageUpdater::updateDirectory(const Utils::PathString &directoryPa
|
||||
|
||||
switch (combineState(directoryState, qmldirState)) {
|
||||
case FileState::Changed: {
|
||||
tracer.tick("update directory changed"_t);
|
||||
tracer.tick("update directory changed");
|
||||
updateDirectoryChanged(directoryPath,
|
||||
qmldirState,
|
||||
qmldirSourcePath,
|
||||
@@ -563,7 +563,7 @@ void ProjectStorageUpdater::updateDirectory(const Utils::PathString &directoryPa
|
||||
break;
|
||||
}
|
||||
case FileState::NotChanged: {
|
||||
tracer.tick("update directory not changed"_t);
|
||||
tracer.tick("update directory not changed");
|
||||
|
||||
parseDirectoryInfos(m_projectStorage.fetchDirectoryInfos(directorySourceId),
|
||||
package,
|
||||
@@ -572,7 +572,7 @@ void ProjectStorageUpdater::updateDirectory(const Utils::PathString &directoryPa
|
||||
break;
|
||||
}
|
||||
case FileState::NotExists: {
|
||||
tracer.tick("update directory don't exits"_t);
|
||||
tracer.tick("update directory don't exits");
|
||||
|
||||
package.updatedFileStatusSourceIds.push_back(directorySourceId);
|
||||
package.updatedFileStatusSourceIds.push_back(qmldirSourceId);
|
||||
@@ -580,9 +580,9 @@ void ProjectStorageUpdater::updateDirectory(const Utils::PathString &directoryPa
|
||||
package.updatedSourceIds.push_back(qmldirSourceId);
|
||||
auto qmlDirectoryInfos = m_projectStorage.fetchDirectoryInfos(directorySourceId);
|
||||
for (const Storage::Synchronization::DirectoryInfo &directoryInfo : qmlDirectoryInfos) {
|
||||
tracer.tick("append updated source id"_t, keyValue("source id", directoryInfo.sourceId));
|
||||
tracer.tick("append updated source id", keyValue("source id", directoryInfo.sourceId));
|
||||
package.updatedSourceIds.push_back(directoryInfo.sourceId);
|
||||
tracer.tick("append updated file status source id"_t,
|
||||
tracer.tick("append updated file status source id",
|
||||
keyValue("source id", directoryInfo.sourceId));
|
||||
package.updatedFileStatusSourceIds.push_back(directoryInfo.sourceId);
|
||||
}
|
||||
@@ -613,7 +613,7 @@ void ProjectStorageUpdater::updatePropertyEditorPaths(
|
||||
Storage::Synchronization::SynchronizationPackage &package,
|
||||
NotUpdatedSourceIds ¬UpdatedSourceIds)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"update property editor paths"_t,
|
||||
NanotraceHR::Tracer tracer{"update property editor paths",
|
||||
category(),
|
||||
keyValue("property editor resources path", propertyEditorResourcesPath)};
|
||||
|
||||
@@ -661,7 +661,7 @@ void ProjectStorageUpdater::updateTypeAnnotations(const QStringList &directoryPa
|
||||
Storage::Synchronization::SynchronizationPackage &package,
|
||||
NotUpdatedSourceIds ¬UpdatedSourceIds)
|
||||
{
|
||||
NanotraceHR::Tracer tracer("update type annotations"_t, category());
|
||||
NanotraceHR::Tracer tracer("update type annotations", category());
|
||||
|
||||
std::map<SourceId, SmallSourceIds<16>> updatedSourceIdsDictonary;
|
||||
|
||||
@@ -680,7 +680,7 @@ void ProjectStorageUpdater::updateTypeAnnotations(
|
||||
NotUpdatedSourceIds ¬UpdatedSourceIds,
|
||||
std::map<SourceId, SmallSourceIds<16>> &updatedSourceIdsDictonary)
|
||||
{
|
||||
NanotraceHR::Tracer tracer("update type annotation directory"_t,
|
||||
NanotraceHR::Tracer tracer("update type annotation directory",
|
||||
category(),
|
||||
keyValue("path", rootDirectoryPath));
|
||||
|
||||
@@ -753,7 +753,7 @@ void ProjectStorageUpdater::updateTypeAnnotation(const QString &directoryPath,
|
||||
SourceId directorySourceId,
|
||||
Storage::Synchronization::SynchronizationPackage &package)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"update type annotation path"_t,
|
||||
NanotraceHR::Tracer tracer{"update type annotation path",
|
||||
category(),
|
||||
keyValue("path", filePath),
|
||||
keyValue("directory path", directoryPath)};
|
||||
@@ -776,12 +776,12 @@ void ProjectStorageUpdater::updatePropertyEditorPath(
|
||||
SourceId directorySourceId,
|
||||
long long pathOffset)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"update property editor path"_t,
|
||||
NanotraceHR::Tracer tracer{"update property editor path",
|
||||
category(),
|
||||
keyValue("directory path", directoryPath),
|
||||
keyValue("directory source id", directorySourceId)};
|
||||
|
||||
tracer.tick("append updated property editor qml path source id"_t,
|
||||
tracer.tick("append updated property editor qml path source id",
|
||||
keyValue("source id", directorySourceId));
|
||||
package.updatedPropertyEditorQmlPathSourceIds.push_back(directorySourceId);
|
||||
auto dir = QDir{directoryPath};
|
||||
@@ -796,7 +796,7 @@ void ProjectStorageUpdater::updatePropertyEditorFilePath(
|
||||
SourceId directorySourceId,
|
||||
long long pathOffset)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"update property editor file path"_t,
|
||||
NanotraceHR::Tracer tracer{"update property editor file path",
|
||||
category(),
|
||||
keyValue("directory path", path),
|
||||
keyValue("directory source id", directorySourceId)};
|
||||
@@ -819,7 +819,7 @@ void ProjectStorageUpdater::updatePropertyEditorFilePath(
|
||||
typeName,
|
||||
pathId,
|
||||
directorySourceId);
|
||||
tracer.tick("append property editor qml paths"_t,
|
||||
tracer.tick("append property editor qml paths",
|
||||
keyValue("property editor qml paths", paths));
|
||||
}
|
||||
}
|
||||
@@ -854,7 +854,7 @@ bool contains(const Container &container, Id id)
|
||||
|
||||
void ProjectStorageUpdater::pathsWithIdsChanged(const std::vector<IdPaths> &changedIdPaths)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"paths with ids changed"_t,
|
||||
NanotraceHR::Tracer tracer{"paths with ids changed",
|
||||
category(),
|
||||
keyValue("id paths", changedIdPaths)};
|
||||
|
||||
@@ -954,35 +954,35 @@ void ProjectStorageUpdater::parseTypeInfos(const QStringList &typeInfos,
|
||||
NotUpdatedSourceIds ¬UpdatedSourceIds,
|
||||
WatchedSourceIdsIds &watchedSourceIds)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"parse type infos"_t,
|
||||
NanotraceHR::Tracer tracer{"parse type infos",
|
||||
category(),
|
||||
keyValue("directory source id", directorySourceId),
|
||||
keyValue("directory path", directoryPath),
|
||||
keyValue("module id", moduleId)};
|
||||
|
||||
for (const QString &typeInfo : typeInfos) {
|
||||
NanotraceHR::Tracer tracer{"parse type info"_t, category(), keyValue("type info", typeInfo)};
|
||||
NanotraceHR::Tracer tracer{"parse type info", category(), keyValue("type info", typeInfo)};
|
||||
|
||||
Utils::PathString qmltypesPath = Utils::PathString::join(
|
||||
{directoryPath, "/", Utils::SmallString{typeInfo}});
|
||||
SourceId sourceId = m_pathCache.sourceId(SourcePathView{qmltypesPath});
|
||||
|
||||
tracer.tick("append qmltypes source id"_t, keyValue("source id", sourceId));
|
||||
tracer.tick("append qmltypes source id", keyValue("source id", sourceId));
|
||||
watchedSourceIds.qmltypesSourceIds.push_back(sourceId);
|
||||
|
||||
addDependencies(package.moduleDependencies,
|
||||
sourceId,
|
||||
joinImports(qmldirDependencies, qmldirImports),
|
||||
m_projectStorage,
|
||||
"append module dependency"_t,
|
||||
"append module dependency",
|
||||
tracer);
|
||||
|
||||
tracer.tick("append module dependenct source source id"_t, keyValue("source id", sourceId));
|
||||
tracer.tick("append module dependenct source source id", keyValue("source id", sourceId));
|
||||
package.updatedModuleDependencySourceIds.push_back(sourceId);
|
||||
|
||||
const auto &directoryInfo = package.directoryInfos.emplace_back(
|
||||
directorySourceId, sourceId, moduleId, Storage::Synchronization::FileType::QmlTypes);
|
||||
tracer.tick("append project data"_t, keyValue("source id", sourceId));
|
||||
tracer.tick("append project data", keyValue("source id", sourceId));
|
||||
|
||||
parseTypeInfo(directoryInfo, qmltypesPath, package, notUpdatedSourceIds);
|
||||
}
|
||||
@@ -994,7 +994,7 @@ void ProjectStorageUpdater::parseDirectoryInfos(
|
||||
NotUpdatedSourceIds ¬UpdatedSourceIds,
|
||||
WatchedSourceIdsIds &watchedSourceIds)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"parse project datas"_t, category()};
|
||||
NanotraceHR::Tracer tracer{"parse project datas", category()};
|
||||
|
||||
for (const Storage::Synchronization::DirectoryInfo &directoryInfo : directoryInfos) {
|
||||
switch (directoryInfo.fileType) {
|
||||
@@ -1022,14 +1022,14 @@ auto ProjectStorageUpdater::parseTypeInfo(const Storage::Synchronization::Direct
|
||||
Storage::Synchronization::SynchronizationPackage &package,
|
||||
NotUpdatedSourceIds ¬UpdatedSourceIds) -> FileState
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"parse type info"_t,
|
||||
NanotraceHR::Tracer tracer{"parse type info",
|
||||
category(),
|
||||
keyValue("qmltypes path", qmltypesPath)};
|
||||
|
||||
auto state = fileState(directoryInfo.sourceId, package, notUpdatedSourceIds);
|
||||
switch (state) {
|
||||
case FileState::Changed: {
|
||||
tracer.tick("append updated source ids"_t, keyValue("source id", directoryInfo.sourceId));
|
||||
tracer.tick("append updated source ids", keyValue("source id", directoryInfo.sourceId));
|
||||
package.updatedSourceIds.push_back(directoryInfo.sourceId);
|
||||
|
||||
const auto content = m_fileSystem.contentAsQString(QString{qmltypesPath});
|
||||
@@ -1037,7 +1037,7 @@ auto ProjectStorageUpdater::parseTypeInfo(const Storage::Synchronization::Direct
|
||||
break;
|
||||
}
|
||||
case FileState::NotChanged: {
|
||||
tracer.tick("append not updated source ids"_t, keyValue("source id", directoryInfo.sourceId));
|
||||
tracer.tick("append not updated source ids", keyValue("source id", directoryInfo.sourceId));
|
||||
notUpdatedSourceIds.sourceIds.push_back(directoryInfo.sourceId);
|
||||
break;
|
||||
}
|
||||
@@ -1059,7 +1059,7 @@ void ProjectStorageUpdater::parseQmlComponent(Utils::SmallStringView relativeFil
|
||||
WatchedSourceIdsIds &watchedSourceIds,
|
||||
FileState qmldirState)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"parse qml component"_t,
|
||||
NanotraceHR::Tracer tracer{"parse qml component",
|
||||
category(),
|
||||
keyValue("relative file path", relativeFilePath),
|
||||
keyValue("directory path", directoryPath),
|
||||
@@ -1076,18 +1076,18 @@ void ProjectStorageUpdater::parseQmlComponent(Utils::SmallStringView relativeFil
|
||||
Storage::Synchronization::Type type;
|
||||
auto state = fileState(sourceId, package, notUpdatedSourceIds);
|
||||
|
||||
tracer.tick("append watched qml source id"_t, keyValue("source id", sourceId));
|
||||
tracer.tick("append watched qml source id", keyValue("source id", sourceId));
|
||||
watchedSourceIds.qmlSourceIds.push_back(sourceId);
|
||||
|
||||
switch (state) {
|
||||
case FileState::NotChanged:
|
||||
if (qmldirState == FileState::NotExists) {
|
||||
tracer.tick("append not updated source id"_t, keyValue("source id", sourceId));
|
||||
tracer.tick("append not updated source id", keyValue("source id", sourceId));
|
||||
notUpdatedSourceIds.sourceIds.emplace_back(sourceId);
|
||||
|
||||
const auto &directoryInfo = package.directoryInfos.emplace_back(
|
||||
directorySourceId, sourceId, ModuleId{}, Storage::Synchronization::FileType::QmlDocument);
|
||||
tracer.tick("append project data"_t, keyValue("project data", directoryInfo));
|
||||
tracer.tick("append project data", keyValue("project data", directoryInfo));
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -1103,9 +1103,9 @@ void ProjectStorageUpdater::parseQmlComponent(Utils::SmallStringView relativeFil
|
||||
|
||||
const auto &directoryInfo = package.directoryInfos.emplace_back(
|
||||
directorySourceId, sourceId, ModuleId{}, Storage::Synchronization::FileType::QmlDocument);
|
||||
tracer.tick("append project data"_t, keyValue("project data", directoryInfo));
|
||||
tracer.tick("append project data", keyValue("project data", directoryInfo));
|
||||
|
||||
tracer.tick("append updated source id"_t, keyValue("source id", sourceId));
|
||||
tracer.tick("append updated source id", keyValue("source id", sourceId));
|
||||
package.updatedSourceIds.push_back(sourceId);
|
||||
|
||||
type.typeName = SourcePath{qmlFilePath}.name();
|
||||
@@ -1121,13 +1121,13 @@ void ProjectStorageUpdater::parseQmlComponent(SourceId sourceId,
|
||||
Storage::Synchronization::SynchronizationPackage &package,
|
||||
NotUpdatedSourceIds ¬UpdatedSourceIds)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"parse qml component"_t, category(), keyValue("source id", sourceId)};
|
||||
NanotraceHR::Tracer tracer{"parse qml component", category(), keyValue("source id", sourceId)};
|
||||
|
||||
auto state = fileState(sourceId, package, notUpdatedSourceIds);
|
||||
if (state == FileState::NotChanged)
|
||||
return;
|
||||
|
||||
tracer.tick("append updated source id"_t, keyValue("source id", sourceId));
|
||||
tracer.tick("append updated source id", keyValue("source id", sourceId));
|
||||
package.updatedSourceIds.push_back(sourceId);
|
||||
|
||||
if (state == FileState::NotExists)
|
||||
@@ -1191,7 +1191,7 @@ void ProjectStorageUpdater::parseQmlComponents(Components components,
|
||||
WatchedSourceIdsIds &watchedSourceIdsIds,
|
||||
FileState qmldirState)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"parse qml components"_t,
|
||||
NanotraceHR::Tracer tracer{"parse qml components",
|
||||
category(),
|
||||
keyValue("directory source id", directorySourceId),
|
||||
keyValue("directory id", directoryId),
|
||||
@@ -1224,14 +1224,14 @@ ProjectStorageUpdater::FileState ProjectStorageUpdater::fileState(
|
||||
Storage::Synchronization::SynchronizationPackage &package,
|
||||
NotUpdatedSourceIds ¬UpdatedSourceIds) const
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"update property editor paths"_t,
|
||||
NanotraceHR::Tracer tracer{"update property editor paths",
|
||||
category(),
|
||||
keyValue("source id", sourceId)};
|
||||
|
||||
auto currentFileStatus = m_fileStatusCache.find(sourceId);
|
||||
|
||||
if (!currentFileStatus.isValid()) {
|
||||
tracer.tick("append updated file status source id"_t, keyValue("source id", sourceId));
|
||||
tracer.tick("append updated file status source id", keyValue("source id", sourceId));
|
||||
package.updatedFileStatusSourceIds.push_back(sourceId);
|
||||
|
||||
tracer.end(keyValue("state", FileState::NotExists));
|
||||
@@ -1241,17 +1241,17 @@ ProjectStorageUpdater::FileState ProjectStorageUpdater::fileState(
|
||||
auto projectStorageFileStatus = m_projectStorage.fetchFileStatus(sourceId);
|
||||
|
||||
if (!projectStorageFileStatus.isValid() || projectStorageFileStatus != currentFileStatus) {
|
||||
tracer.tick("append file status"_t, keyValue("file status", sourceId));
|
||||
tracer.tick("append file status", keyValue("file status", sourceId));
|
||||
package.fileStatuses.push_back(currentFileStatus);
|
||||
|
||||
tracer.tick("append updated file status source id"_t, keyValue("source id", sourceId));
|
||||
tracer.tick("append updated file status source id", keyValue("source id", sourceId));
|
||||
package.updatedFileStatusSourceIds.push_back(sourceId);
|
||||
|
||||
tracer.end(keyValue("state", FileState::Changed));
|
||||
return FileState::Changed;
|
||||
}
|
||||
|
||||
tracer.tick("append not updated file status source id"_t, keyValue("source id", sourceId));
|
||||
tracer.tick("append not updated file status source id", keyValue("source id", sourceId));
|
||||
notUpdatedSourceIds.fileStatusSourceIds.push_back(sourceId);
|
||||
|
||||
tracer.end(keyValue("state", FileState::NotChanged));
|
||||
|
@@ -101,7 +101,7 @@ QualifiedImports createQualifiedImports(const QList<QmlDom::Import> &qmlImports,
|
||||
Utils::SmallStringView directoryPath,
|
||||
ProjectStorageType &storage)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"create qualified imports"_t,
|
||||
NanotraceHR::Tracer tracer{"create qualified imports",
|
||||
category(),
|
||||
keyValue("sourceId", sourceId),
|
||||
keyValue("directoryPath", directoryPath)};
|
||||
@@ -324,7 +324,7 @@ Storage::Synchronization::Type QmlDocumentParser::parse(const QString &sourceCon
|
||||
SourceId sourceId,
|
||||
Utils::SmallStringView directoryPath)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"qml document parser parse"_t,
|
||||
NanotraceHR::Tracer tracer{"qml document parser parse",
|
||||
category(),
|
||||
keyValue("sourceId", sourceId),
|
||||
keyValue("directoryPath", directoryPath)};
|
||||
|
@@ -39,7 +39,7 @@ using Storage::TypeNameString;
|
||||
|
||||
ComponentWithoutNamespaces createComponentNameWithoutNamespaces(const QList<QQmlJSExportedScope> &objects)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"parse qmltypes file"_t, category()};
|
||||
NanotraceHR::Tracer tracer{"parse qmltypes file", category()};
|
||||
|
||||
ComponentWithoutNamespaces componentWithoutNamespaces;
|
||||
|
||||
@@ -81,7 +81,7 @@ void addImports(Storage::Imports &imports,
|
||||
ModuleId cppModuleId)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{
|
||||
"add imports"_t,
|
||||
"add imports",
|
||||
category(),
|
||||
keyValue("source id", sourceId),
|
||||
keyValue("module id", cppModuleId),
|
||||
@@ -89,16 +89,16 @@ void addImports(Storage::Imports &imports,
|
||||
|
||||
for (const QString &dependency : dependencies) {
|
||||
const auto &import = appendImports(imports, dependency, sourceId, storage);
|
||||
tracer.tick("append import"_t, keyValue("import", import), keyValue("dependency", dependency));
|
||||
tracer.tick("append import", keyValue("import", import), keyValue("dependency", dependency));
|
||||
}
|
||||
|
||||
const auto &import = imports.emplace_back(cppModuleId, Storage::Version{}, sourceId);
|
||||
tracer.tick("append import"_t, keyValue("import", import));
|
||||
tracer.tick("append import", keyValue("import", import));
|
||||
|
||||
if (ModuleId qmlCppModuleId = storage.moduleId("QML", ModuleKind::CppLibrary);
|
||||
cppModuleId != qmlCppModuleId) {
|
||||
const auto &import = imports.emplace_back(qmlCppModuleId, Storage::Version{}, sourceId);
|
||||
tracer.tick("append import"_t, keyValue("import", import));
|
||||
tracer.tick("append import", keyValue("import", import));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -438,7 +438,7 @@ void addType(Storage::Synchronization::Types &types,
|
||||
QmlTypesParser::ProjectStorage &storage,
|
||||
const ComponentWithoutNamespaces &componentNameWithoutNamespace)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"add type"_t,
|
||||
NanotraceHR::Tracer tracer{"add type",
|
||||
category(),
|
||||
keyValue("source id", sourceId),
|
||||
keyValue("module id", cppModuleId)};
|
||||
@@ -503,7 +503,7 @@ void addTypes(Storage::Synchronization::Types &types,
|
||||
QmlTypesParser::ProjectStorage &storage,
|
||||
const ComponentWithoutNamespaces &componentNameWithoutNamespaces)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"add types"_t, category()};
|
||||
NanotraceHR::Tracer tracer{"add types", category()};
|
||||
types.reserve(Utils::usize(objects) + types.size());
|
||||
|
||||
const auto skipList = getSkipList(storage.module(directoryInfo.moduleId));
|
||||
@@ -528,7 +528,7 @@ void QmlTypesParser::parse(const QString &sourceContent,
|
||||
Storage::Synchronization::Types &types,
|
||||
const Storage::Synchronization::DirectoryInfo &directoryInfo)
|
||||
{
|
||||
NanotraceHR::Tracer tracer{"qmltypes parser parse"_t, category()};
|
||||
NanotraceHR::Tracer tracer{"qmltypes parser parse", category()};
|
||||
|
||||
QQmlJSTypeDescriptionReader reader({}, sourceContent);
|
||||
QList<QQmlJSExportedScope> components;
|
||||
|
@@ -55,7 +55,7 @@ StringEventQueue &stringEventQueue()
|
||||
namespace ModelTracing {
|
||||
namespace {
|
||||
|
||||
thread_local Category category_{"model"_t, Tracing::stringEventQueue(), category};
|
||||
thread_local Category category_{"model", Tracing::stringEventQueue(), category};
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -70,7 +70,7 @@ namespace ProjectStorageTracing {
|
||||
|
||||
Category &projectStorageCategory()
|
||||
{
|
||||
thread_local Category category{"project storage"_t,
|
||||
thread_local Category category{"project storage",
|
||||
Tracing::eventQueueWithStringArguments(),
|
||||
projectStorageCategory};
|
||||
|
||||
@@ -79,7 +79,7 @@ Category &projectStorageCategory()
|
||||
|
||||
Category &projectStorageUpdaterCategory()
|
||||
{
|
||||
thread_local Category category{"project storage updater"_t,
|
||||
thread_local Category category{"project storage updater",
|
||||
Tracing::eventQueueWithStringArguments(),
|
||||
projectStorageCategory};
|
||||
|
||||
@@ -91,7 +91,7 @@ Category &projectStorageUpdaterCategory()
|
||||
namespace SourcePathStorageTracing {
|
||||
Category &category()
|
||||
{
|
||||
thread_local Category category_{"project storage updater"_t,
|
||||
thread_local Category category_{"project storage updater",
|
||||
Tracing::eventQueueWithStringArguments(),
|
||||
category};
|
||||
|
||||
@@ -102,7 +102,7 @@ Category &category()
|
||||
namespace MetaInfoTracing {
|
||||
Category &category()
|
||||
{
|
||||
thread_local Category category_{"meta info"_t, Tracing::eventQueueWithStringArguments(), category};
|
||||
thread_local Category category_{"meta info", Tracing::eventQueueWithStringArguments(), category};
|
||||
|
||||
return category_;
|
||||
}
|
||||
|
Reference in New Issue
Block a user