< prev index next >

test/gc/g1/TestGCLogMessages.java

Print this page

        

@@ -22,11 +22,11 @@
  */
 
 /*
  * @test TestGCLogMessages
  * @bug 8035406 8027295 8035398 8019342 8027959 8048179 8027962 8069330
- * @summary Ensure that the PrintGCDetails output for a minor GC with G1
+ * @summary Ensure the output for a minor GC with G1
  * includes the expected necessary messages.
  * @key gc
  * @library /testlibrary
  * @modules java.base/sun.misc
  *          java.management

@@ -36,11 +36,11 @@
 import jdk.test.lib.OutputAnalyzer;
 
 public class TestGCLogMessages {
 
     private enum Level {
-        OFF, FINER, FINEST;
+        OFF, DEBUG, TRACE;
         public boolean lessOrEqualTo(Level other) {
             return this.compareTo(other) < 0;
         }
     }
 

@@ -54,40 +54,40 @@
         }
     };
 
     private LogMessageWithLevel allLogMessages[] = new LogMessageWithLevel[] {
         // Update RS
-        new LogMessageWithLevel("Scan HCC (ms)", Level.FINER),
+        new LogMessageWithLevel("Scan HCC", Level.DEBUG),
         // Ext Root Scan
-        new LogMessageWithLevel("Thread Roots (ms)", Level.FINEST),
-        new LogMessageWithLevel("StringTable Roots (ms)", Level.FINEST),
-        new LogMessageWithLevel("Universe Roots (ms)", Level.FINEST),
-        new LogMessageWithLevel("JNI Handles Roots (ms)", Level.FINEST),
-        new LogMessageWithLevel("ObjectSynchronizer Roots (ms)", Level.FINEST),
-        new LogMessageWithLevel("FlatProfiler Roots", Level.FINEST),
-        new LogMessageWithLevel("Management Roots", Level.FINEST),
-        new LogMessageWithLevel("SystemDictionary Roots", Level.FINEST),
-        new LogMessageWithLevel("CLDG Roots", Level.FINEST),
-        new LogMessageWithLevel("JVMTI Roots", Level.FINEST),
-        new LogMessageWithLevel("SATB Filtering", Level.FINEST),
-        new LogMessageWithLevel("CM RefProcessor Roots", Level.FINEST),
-        new LogMessageWithLevel("Wait For Strong CLD", Level.FINEST),
-        new LogMessageWithLevel("Weak CLD Roots", Level.FINEST),
+        new LogMessageWithLevel("Thread Roots:", Level.DEBUG),
+        new LogMessageWithLevel("StringTable Roots:", Level.DEBUG),
+        new LogMessageWithLevel("Universe Roots:", Level.DEBUG),
+        new LogMessageWithLevel("JNI Handles Roots:", Level.DEBUG),
+        new LogMessageWithLevel("ObjectSynchronizer Roots:", Level.DEBUG),
+        new LogMessageWithLevel("FlatProfiler Roots", Level.DEBUG),
+        new LogMessageWithLevel("Management Roots", Level.DEBUG),
+        new LogMessageWithLevel("SystemDictionary Roots", Level.DEBUG),
+        new LogMessageWithLevel("CLDG Roots", Level.DEBUG),
+        new LogMessageWithLevel("JVMTI Roots", Level.DEBUG),
+        new LogMessageWithLevel("SATB Filtering", Level.DEBUG),
+        new LogMessageWithLevel("CM RefProcessor Roots", Level.DEBUG),
+        new LogMessageWithLevel("Wait For Strong CLD", Level.DEBUG),
+        new LogMessageWithLevel("Weak CLD Roots", Level.DEBUG),
         // Redirty Cards
-        new LogMessageWithLevel("Redirty Cards", Level.FINER),
-        new LogMessageWithLevel("Parallel Redirty", Level.FINEST),
-        new LogMessageWithLevel("Redirtied Cards", Level.FINEST),
+        new LogMessageWithLevel("Redirty Cards", Level.DEBUG),
+        new LogMessageWithLevel("Parallel Redirty", Level.DEBUG),
+        new LogMessageWithLevel("Redirtied Cards", Level.DEBUG),
         // Misc Top-level
-        new LogMessageWithLevel("Code Root Purge", Level.FINER),
-        new LogMessageWithLevel("String Dedup Fixup", Level.FINER),
-        new LogMessageWithLevel("Expand Heap After Collection", Level.FINER),
+        new LogMessageWithLevel("Code Root Purge", Level.DEBUG),
+        new LogMessageWithLevel("String Dedup Fixup", Level.DEBUG),
+        new LogMessageWithLevel("Expand Heap After Collection", Level.DEBUG),
         // Free CSet
-        new LogMessageWithLevel("Young Free CSet", Level.FINEST),
-        new LogMessageWithLevel("Non-Young Free CSet", Level.FINEST),
+        new LogMessageWithLevel("Young Free CSet", Level.TRACE),
+        new LogMessageWithLevel("Non-Young Free CSet", Level.TRACE),
         // Humongous Eager Reclaim
-        new LogMessageWithLevel("Humongous Reclaim", Level.FINER),
-        new LogMessageWithLevel("Humongous Register", Level.FINER),
+        new LogMessageWithLevel("Humongous Reclaim", Level.DEBUG),
+        new LogMessageWithLevel("Humongous Register", Level.DEBUG),
     };
 
     void checkMessagesAtLevel(OutputAnalyzer output, LogMessageWithLevel messages[], Level level) throws Exception {
         for (LogMessageWithLevel l : messages) {
             if (level.lessOrEqualTo(l.level)) {

@@ -114,57 +114,53 @@
         output.shouldHaveExitValue(0);
 
         pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
                                                    "-XX:+UseStringDeduplication",
                                                    "-Xmx10M",
-                                                   "-XX:+PrintGCDetails",
+                                                   "-Xlog:gc+phases=debug",
                                                    GCTest.class.getName());
 
         output = new OutputAnalyzer(pb.start());
-        checkMessagesAtLevel(output, allLogMessages, Level.FINER);
+        checkMessagesAtLevel(output, allLogMessages, Level.DEBUG);
 
         pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
                                                    "-XX:+UseStringDeduplication",
                                                    "-Xmx10M",
-                                                   "-XX:+PrintGCDetails",
-                                                   "-XX:+UnlockExperimentalVMOptions",
-                                                   "-XX:G1LogLevel=finest",
+                                                   "-Xlog:gc+phases=trace",
                                                    GCTest.class.getName());
 
         output = new OutputAnalyzer(pb.start());
-        checkMessagesAtLevel(output, allLogMessages, Level.FINEST);
+        checkMessagesAtLevel(output, allLogMessages, Level.TRACE);
         output.shouldHaveExitValue(0);
     }
 
     LogMessageWithLevel exhFailureMessages[] = new LogMessageWithLevel[] {
-        new LogMessageWithLevel("Evacuation Failure", Level.FINER),
-        new LogMessageWithLevel("Recalculate Used", Level.FINEST),
-        new LogMessageWithLevel("Remove Self Forwards", Level.FINEST),
-        new LogMessageWithLevel("Restore RemSet", Level.FINEST),
+        new LogMessageWithLevel("Evacuation Failure", Level.DEBUG),
+        new LogMessageWithLevel("Recalculate Used", Level.TRACE),
+        new LogMessageWithLevel("Remove Self Forwards", Level.TRACE),
+        new LogMessageWithLevel("Restore RemSet", Level.TRACE),
     };
 
     private void testWithToSpaceExhaustionLogs() throws Exception {
         ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
                                                                   "-Xmx32M",
                                                                   "-Xmn16M",
-                                                                  "-XX:+PrintGCDetails",
+                                                                  "-Xlog:gc+phases=debug",
                                                                   GCTestWithToSpaceExhaustion.class.getName());
 
         OutputAnalyzer output = new OutputAnalyzer(pb.start());
-        checkMessagesAtLevel(output, exhFailureMessages, Level.FINER);
+        checkMessagesAtLevel(output, exhFailureMessages, Level.DEBUG);
         output.shouldHaveExitValue(0);
 
         pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
                                                    "-Xmx32M",
                                                    "-Xmn16M",
-                                                   "-XX:+PrintGCDetails",
-                                                   "-XX:+UnlockExperimentalVMOptions",
-                                                   "-XX:G1LogLevel=finest",
+                                                   "-Xlog:gc+phases=trace",
                                                    GCTestWithToSpaceExhaustion.class.getName());
 
         output = new OutputAnalyzer(pb.start());
-        checkMessagesAtLevel(output, exhFailureMessages, Level.FINEST);
+        checkMessagesAtLevel(output, exhFailureMessages, Level.TRACE);
         output.shouldHaveExitValue(0);
     }
 
     static class GCTest {
         private static byte[] garbage;
< prev index next >