forked from qt-creator/qt-creator
QmlProfiler: Use annotions instead of custom icons on marks
To display the relative cost in the editor a custom text mark icon was painted with a custom width factor for qml profiler marks. Move this textual information into a line annotation and be a bit more verbose what kind of information was collected in that line. Change-Id: I863c2afa52f2acdf19ffcab3dfc95af566ac0efe Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -156,26 +156,32 @@ QString QmlProfilerStatisticsModel::summary(const QVector<int> &typeIds) const
|
||||
double maximum = 0;
|
||||
double sum = 0;
|
||||
|
||||
QSet<RangeType> types;
|
||||
|
||||
for (int typeId : typeIds) {
|
||||
types << m_modelManager->eventType(typeId).rangeType();
|
||||
const double percentage = durationPercent(typeId);
|
||||
if (percentage > maximum)
|
||||
maximum = percentage;
|
||||
sum += percentage;
|
||||
}
|
||||
|
||||
const QStringList typeNames = Utils::transform<QList>(types, &nameForType);
|
||||
const QString typeSummary = QString(" (%1)").arg(typeNames.join(", "));
|
||||
|
||||
const QLatin1Char percent('%');
|
||||
|
||||
if (sum < cutoff)
|
||||
return QLatin1Char('<') + QString::number(cutoff, 'f', 1) + percent;
|
||||
return QLatin1Char('<') + QString::number(cutoff, 'f', 1) + percent + typeSummary;
|
||||
|
||||
if (typeIds.length() == 1)
|
||||
return QLatin1Char('~') + QString::number(maximum, 'f', 1) + percent;
|
||||
return QLatin1Char('~') + QString::number(maximum, 'f', 1) + percent + typeSummary;
|
||||
|
||||
// add/subtract 0.05 to avoid problematic rounding
|
||||
if (maximum < cutoff)
|
||||
return QChar(0x2264) + QString::number(sum + round, 'f', 1) + percent;
|
||||
return QChar(0x2264) + QString::number(sum + round, 'f', 1) + percent + typeSummary;
|
||||
|
||||
return QChar(0x2265) + QString::number(qMax(maximum - round, cutoff), 'f', 1) + percent;
|
||||
return QChar(0x2265) + QString::number(qMax(maximum - round, cutoff), 'f', 1) + percent + typeSummary;
|
||||
}
|
||||
|
||||
void QmlProfilerStatisticsModel::clear()
|
||||
|
||||
Reference in New Issue
Block a user