Improved thread info (for debugging)

This commit is contained in:
Klaus Basan
2018-08-23 01:47:47 +02:00
parent 1755463ec4
commit 7cbbb1d933
4 changed files with 26 additions and 4 deletions

View File

@@ -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);
}

View File

@@ -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)

View File

@@ -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

View File

@@ -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