QmlDesigner: Fix issue with duration tracking

An event can start and end duration tracking at the same time.

Task-number: QDS-9961
Change-Id: I97265f753887e87ef5bdb9b4bc93ca97922a51d4
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Thomas Hartmann
2023-06-02 14:38:27 +02:00
parent 3c36e77858
commit 602e08dbee
2 changed files with 14 additions and 7 deletions

View File

@@ -710,17 +710,17 @@ void QmlDesignerPlugin::emitUsageStatistics(const QString &identifier)
const int currentTime = privateInstance()->timer.elapsed();
const int currentDuration = (currentTime - activeData.time);
if (currentDuration < activeData.maxDuration)
emit instance()->usageStatisticsUsageDuration(activeData.newIdentifer, currentDuration);
instance()->emitUsageStatisticsUsageDuration(activeData.newIdentifer, currentDuration);
privateInstance()->m_activeTraceIdentifierDataHash.remove(identifier);
} else {
}
TraceIdentifierData data = privateInstance()->m_traceIdentifierDataHash.value(identifier);
if (!data.identifier.isEmpty()) {
data.time = privateInstance()->timer.elapsed();
privateInstance()->m_activeTraceIdentifierDataHash.insert(data.identifier, data);
}
}
const auto values = privateInstance()->m_activeTraceIdentifierDataHash.values();
for (const auto &activeData : values) {
@@ -862,6 +862,12 @@ void QmlDesignerPlugin::emitUsageStatisticsTime(const QString &identifier, int e
emit instance()->usageStatisticsUsageTimer(normalizeIdentifier(identifier), elapsed);
}
void QmlDesignerPlugin::emitUsageStatisticsUsageDuration(const QString &identifier, int elapsed)
{
QTC_ASSERT(instance(), return );
emit instance()->usageStatisticsUsageDuration(identifier, elapsed);
}
QmlDesignerPlugin *QmlDesignerPlugin::instance()
{
return m_instance;

View File

@@ -76,6 +76,7 @@ public:
static void emitUsageStatisticsContextAction(const QString &identifier);
static void emitUsageStatisticsHelpRequested(const QString &identifier);
static void emitUsageStatisticsTime(const QString &identifier, int elapsed);
static void emitUsageStatisticsUsageDuration(const QString &identifier, int elapsed);
static AsynchronousImageCache &imageCache();