Skip to content

Commit

Permalink
feat: open more perf files
Browse files Browse the repository at this point in the history
Currently `hotspot dir` only opens perf.data files. This patch extends
this to perf.data, perf.data.old and perf.data.perfparser files.
  • Loading branch information
lievenhey committed Sep 17, 2024
1 parent 36bedef commit 4bcf805
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,15 @@ int main(int argc, char** argv)
if (!files.isEmpty()) {
auto file = files.constFirst();
if (QFileInfo(file).isDir()) {
file.append(QLatin1String("/perf.data"));
// search for common perf data files in dir and open the first one found
// if none is found, hotspot will complain, that `file` is not a file
for (const auto& perfDataFile : {QStringLiteral("/perf.data"), QStringLiteral("/perf.data.old"),
QStringLiteral("/perf.data.perfparser")}) {
if (QFileInfo::exists(file + perfDataFile)) {
file.append(perfDataFile);
break;
}
}
}

if (parser.isSet(exportTo)) {
Expand Down Expand Up @@ -267,9 +275,12 @@ int main(int argc, char** argv)
} else {
// open perf.data in current CWD, if it exists
// this brings hotspot closer to the behavior of "perf report"
const auto perfDataFile = QStringLiteral("perf.data");
if (QFile::exists(perfDataFile) && window) {
window->openFile(perfDataFile);
for (const auto& perfDataFile :
{QStringLiteral("perf.data"), QStringLiteral("perf.data.old"), QStringLiteral("perf.data.perfparser")}) {
if (QFileInfo::exists(perfDataFile) && window) {
window->openFile(perfDataFile);
break;
}
}
}
if (window)
Expand Down

0 comments on commit 4bcf805

Please sign in to comment.