mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-23 07:15:35 +08:00
Improved thread info (for debugging)
This commit is contained in:
@@ -173,11 +173,13 @@ namespace BlackCore
|
||||
if (!latestDbTs.isValid()) { return; }
|
||||
if (latestDbTs <= latestCacheTs)
|
||||
{
|
||||
this->addHistory(CLogMessage(this).info("Background updater, no auto sync with DB, entity '%1', DB ts: %2 cache ts: %3") << entityStr << latestDbTs.toString(Qt::ISODate) << latestCacheTsStr);
|
||||
this->addHistory(CLogMessage(this).info("Background updater (%1), no auto synchronization with DB, entity '%2', DB ts: %3 cache ts: %4")
|
||||
<< CThreadUtils::currentThreadInfo() << entityStr << latestDbTs.toString(Qt::ISODate) << latestCacheTsStr);
|
||||
return;
|
||||
}
|
||||
|
||||
this->addHistory(CLogMessage(this).info("Background updater triggering read of '%1' since '%2'") << entityStr << latestCacheTsStr);
|
||||
this->addHistory(CLogMessage(this).info("Background updater (%1) triggering read of '%2' since '%3'")
|
||||
<< CThreadUtils::currentThreadInfo() << entityStr << latestCacheTsStr);
|
||||
sApp->getWebDataServices()->triggerLoadingDirectlyFromDb(entity, latestCacheTs);
|
||||
}
|
||||
|
||||
|
||||
@@ -668,9 +668,9 @@ namespace BlackCore
|
||||
|
||||
void CDatabaseReader::logParseMessage(const QString &entity, int size, int msElapsed, const CDatabaseReader::JsonDatastoreResponse &response) const
|
||||
{
|
||||
CLogMessage(this).info("Parsed %1 %2 in %3ms, thread '%4' | '%5'")
|
||||
CLogMessage(this).info("Parsed %1 %2 in %3ms, thread %4 | '%5'")
|
||||
<< size << entity << msElapsed
|
||||
<< QThread::currentThread()->objectName() << response.toQString();
|
||||
<< CThreadUtils::currentThreadInfo() << response.toQString();
|
||||
}
|
||||
|
||||
QString CDatabaseReader::fileNameForMode(CEntityFlags::Entity entity, CDbFlags::DataRetrievalModeFlag mode)
|
||||
|
||||
@@ -61,4 +61,18 @@ namespace BlackMisc
|
||||
static const QString unknown("unknown");
|
||||
return unknown;
|
||||
}
|
||||
|
||||
const QString CThreadUtils::threadToString(const void *t)
|
||||
{
|
||||
static const QString s("0x%1");
|
||||
return s.arg(reinterpret_cast<long long>(t), 0, 16);
|
||||
}
|
||||
|
||||
const QString CThreadUtils::currentThreadInfo()
|
||||
{
|
||||
static const QString info("thread: %1 name: '%2' priority: '%3'");
|
||||
const QThread *t = QThread::currentThread();
|
||||
if (!t) { return QString("no thread"); }
|
||||
return info.arg(threadToString(t), t->objectName(), priorityToString(t->priority()));
|
||||
}
|
||||
} // ns
|
||||
|
||||
@@ -40,6 +40,12 @@ namespace BlackMisc
|
||||
|
||||
//! Priority to string
|
||||
static const QString &priorityToString(QThread::Priority priority);
|
||||
|
||||
//! Thread to int string info
|
||||
static const QString threadToString(const void *t);
|
||||
|
||||
//! Info about current thread
|
||||
static const QString currentThreadInfo();
|
||||
};
|
||||
} // ns
|
||||
|
||||
|
||||
Reference in New Issue
Block a user