diff options
author | Mike Krus <mike.krus@kdab.com> | 2019-12-05 10:33:32 +0000 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2019-12-13 15:36:59 +0000 |
commit | ef886f79f99cdae94da8bf5a4ca6e94164d56677 (patch) | |
tree | 98caf12195cb24763292305326d40c6838066312 /src/core/jobs/task.cpp | |
parent | 6e448dd5918c70ddfd0d52f62522fa49c02e8ba8 (diff) |
Make tracing a runtime option
- Moved most of the code QSystemInformationService (private class
for now)
- Tracing can be enabled by setting QT3D_TRACE_ENABLED or
calling QSystemInformationService::setTraceEnabled(bool)
- Introduced QTaskLogger class to easy logging (RAII)
Change-Id: I2a3e08e4371fcee3e9ef3cf575725f13f57d1a94
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/core/jobs/task.cpp')
-rw-r--r-- | src/core/jobs/task.cpp | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/src/core/jobs/task.cpp b/src/core/jobs/task.cpp index 7c3ebf6eb..1dd5712c9 100644 --- a/src/core/jobs/task.cpp +++ b/src/core/jobs/task.cpp @@ -44,6 +44,7 @@ #include <QtCore/QMutexLocker> #include <Qt3DCore/private/qthreadpooler_p.h> +#include <Qt3DCore/private/qsysteminformationservice_p_p.h> QT_BEGIN_NAMESPACE @@ -55,8 +56,9 @@ RunnableInterface::~RunnableInterface() // Aspect task -AspectTaskRunnable::AspectTaskRunnable() - : m_pooler(nullptr) +AspectTaskRunnable::AspectTaskRunnable(QSystemInformationService *service) + : m_service(service) + , m_pooler(nullptr) , m_id(0) , m_reserved(false) { @@ -69,21 +71,9 @@ AspectTaskRunnable::~AspectTaskRunnable() void AspectTaskRunnable::run() { if (m_job) { -#if QT_CONFIG(qt3d_profile_jobs) QAspectJobPrivate *jobD = QAspectJobPrivate::get(m_job.data()); - if (m_pooler) { - jobD->m_stats.startTime = QThreadPooler::m_jobsStatTimer.nsecsElapsed(); - jobD->m_stats.threadId = reinterpret_cast<quint64>(QThread::currentThreadId()); - } -#endif + QTaskLogger logger(m_pooler ? m_service : nullptr, jobD->m_jobId, QTaskLogger::AspectJob); m_job->run(); -#if QT_CONFIG(qt3d_profile_jobs) - if (m_pooler) { - jobD->m_stats.endTime = QThreadPooler::m_jobsStatTimer.nsecsElapsed(); - // Add current job's stats to log output - QThreadPooler::addJobLogStatsEntry(jobD->m_stats); - } -#endif } // We could have an append sub task or something in here |