[performance watcher] some symbols in class and method names may not be valid for a freeze folder name

GitOrigin-RevId: c3f40d14c7a3d84c1e0bae8f94fc397d4f699011
This commit is contained in:
Egor Ushakov
2020-06-10 18:24:47 +03:00
committed by intellij-monorepo-bot
parent 88c64951a0
commit 21d01b29a0
@@ -480,6 +480,7 @@ public final class PerformanceWatcher implements Disposable {
cleanup(dir);
reportDir = new File(myLogDir, dir.getName() + getFreezePlaceSuffix() + "-" + TimeUnit.MILLISECONDS.toSeconds(durationMs) + "sec");
if (!dir.renameTo(reportDir)) {
LOG.warn("Unable to create freeze folder " + reportDir);
reportDir = dir;
}
String message = "UI was frozen for " + durationMs + "ms, details saved to " + reportDir;
@@ -519,7 +520,10 @@ public final class PerformanceWatcher implements Disposable {
if (!ContainerUtil.isEmpty(stacktraceCommonPart)) {
StackTraceElement element = stacktraceCommonPart.get(0);
return "-" + StringUtil.getShortName(element.getClassName()) + "." + element.getMethodName();
return "-" +
FileUtil.sanitizeFileName(StringUtil.getShortName(element.getClassName())) +
"." +
FileUtil.sanitizeFileName(element.getMethodName());
}
return "";
}