From 21d01b29a0b406dcd42e35c27d79b8dd02d93d02 Mon Sep 17 00:00:00 2001 From: Egor Ushakov Date: Wed, 10 Jun 2020 18:23:46 +0300 Subject: [PATCH] [performance watcher] some symbols in class and method names may not be valid for a freeze folder name GitOrigin-RevId: c3f40d14c7a3d84c1e0bae8f94fc397d4f699011 --- .../src/com/intellij/diagnostic/PerformanceWatcher.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/diagnostic/PerformanceWatcher.java b/platform/platform-impl/src/com/intellij/diagnostic/PerformanceWatcher.java index d93ed2adfdf2..e54c44bfee50 100644 --- a/platform/platform-impl/src/com/intellij/diagnostic/PerformanceWatcher.java +++ b/platform/platform-impl/src/com/intellij/diagnostic/PerformanceWatcher.java @@ -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 ""; }