changeset 59897:d2816784605b

8241885: JFR tool: print does not work with inner class events Reviewed-by: jbachorik
author egahlin
date Tue, 23 Jun 2020 21:28:45 +0200
parents fc52ceda935a
children c0868ae5a16b
files src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Main.java src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Print.java
diffstat 2 files changed, 13 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Main.java	Tue Jun 23 20:15:54 2020 +0200
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Main.java	Tue Jun 23 21:28:45 2020 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -66,9 +66,10 @@
             System.out.println();
             System.out.println(" jfr print --json --events CPULoad recording.jfr");
             System.out.println();
-            System.out.println(" jfr print --categories \"GC,JVM,Java*\" recording.jfr");
+            char q = Print.quoteCharacter();
+            System.out.println(" jfr print --categories " + q + "GC,JVM,Java*" + q + " recording.jfr");
             System.out.println();
-            System.out.println(" jfr print --events \"jdk.*\" --stack-depth 64 recording.jfr");
+            System.out.println(" jfr print --events " + q + "jdk.*" + q + " --stack-depth 64 recording.jfr");
             System.out.println();
             System.out.println(" jfr summary recording.jfr");
             System.out.println();
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Print.java	Tue Jun 23 20:15:54 2020 +0200
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/tool/Print.java	Tue Jun 23 21:28:45 2020 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
 
 package jdk.jfr.internal.tool;
 
+import java.io.File;
 import java.io.IOException;
 import java.io.PrintStream;
 import java.io.PrintWriter;
@@ -92,9 +93,10 @@
         stream.println();
         stream.println(" jfr print --events CPULoad,GarbageCollection recording.jfr");
         stream.println();
-        stream.println(" jfr print --categories \"GC,JVM,Java*\" recording.jfr");
+        char q = quoteCharacter();
+        stream.println(" jfr print --categories " + q + "GC,JVM,Java*" + q + " recording.jfr");
         stream.println();
-        stream.println(" jfr print --events \"jdk.*\" --stack-depth 64 recording.jfr");
+        stream.println(" jfr print --events "+ q + "jdk.*" + q +" --stack-depth 64 recording.jfr");
         stream.println();
         stream.println(" jfr print --json --events CPULoad recording.jfr");
     }
@@ -279,4 +281,8 @@
         }
         return list;
     }
+
+    static char quoteCharacter() {
+        return File.pathSeparatorChar == ';' ? '"' : '\'';
+    }
 }