102 // Misc Top-level
103 new LogMessageWithLevel("Code Roots Purge", Level.DEBUG),
104 new LogMessageWithLevel("String Dedup Fixup", Level.DEBUG),
105 new LogMessageWithLevel("Expand Heap After Collection", Level.DEBUG),
106 // Free CSet
107 new LogMessageWithLevel("Free Collection Set", Level.DEBUG),
108 new LogMessageWithLevel("Free Collection Set Serial", Level.TRACE),
109 new LogMessageWithLevel("Young Free Collection Set", Level.TRACE),
110 new LogMessageWithLevel("Non-Young Free Collection Set", Level.TRACE),
111 // Humongous Eager Reclaim
112 new LogMessageWithLevel("Humongous Reclaim", Level.DEBUG),
113 new LogMessageWithLevel("Humongous Register", Level.DEBUG),
114 // Preserve CM Referents
115 new LogMessageWithLevel("Preserve CM Refs", Level.DEBUG),
116 // Merge PSS
117 new LogMessageWithLevel("Merge Per-Thread State", Level.DEBUG),
118 // TLAB handling
119 new LogMessageWithLevel("Prepare TLABs", Level.DEBUG),
120 new LogMessageWithLevel("Resize TLABs", Level.DEBUG),
121
122 new LogMessageWithLevel("DPT Update", Level.DEBUG),
123 new LogMessageWithLevel("Start New Collection Set", Level.DEBUG),
124 };
125
126 void checkMessagesAtLevel(OutputAnalyzer output, LogMessageWithLevel messages[], Level level) throws Exception {
127 for (LogMessageWithLevel l : messages) {
128 if (level.lessThan(l.level)) {
129 output.shouldNotContain(l.message);
130 } else {
131 output.shouldMatch("\\[" + l.level + ".*" + l.message);
132 }
133 }
134 }
135
136 public static void main(String[] args) throws Exception {
137 new TestGCLogMessages().testNormalLogs();
138 new TestGCLogMessages().testWithToSpaceExhaustionLogs();
139 new TestGCLogMessages().testWithInitialMark();
140 }
141
142 private void testNormalLogs() throws Exception {
|
102 // Misc Top-level
103 new LogMessageWithLevel("Code Roots Purge", Level.DEBUG),
104 new LogMessageWithLevel("String Dedup Fixup", Level.DEBUG),
105 new LogMessageWithLevel("Expand Heap After Collection", Level.DEBUG),
106 // Free CSet
107 new LogMessageWithLevel("Free Collection Set", Level.DEBUG),
108 new LogMessageWithLevel("Free Collection Set Serial", Level.TRACE),
109 new LogMessageWithLevel("Young Free Collection Set", Level.TRACE),
110 new LogMessageWithLevel("Non-Young Free Collection Set", Level.TRACE),
111 // Humongous Eager Reclaim
112 new LogMessageWithLevel("Humongous Reclaim", Level.DEBUG),
113 new LogMessageWithLevel("Humongous Register", Level.DEBUG),
114 // Preserve CM Referents
115 new LogMessageWithLevel("Preserve CM Refs", Level.DEBUG),
116 // Merge PSS
117 new LogMessageWithLevel("Merge Per-Thread State", Level.DEBUG),
118 // TLAB handling
119 new LogMessageWithLevel("Prepare TLABs", Level.DEBUG),
120 new LogMessageWithLevel("Resize TLABs", Level.DEBUG),
121
122 new LogMessageWithLevel("DerivedPointerTable Update", Level.DEBUG),
123 new LogMessageWithLevel("Start New Collection Set", Level.DEBUG),
124 };
125
126 void checkMessagesAtLevel(OutputAnalyzer output, LogMessageWithLevel messages[], Level level) throws Exception {
127 for (LogMessageWithLevel l : messages) {
128 if (level.lessThan(l.level)) {
129 output.shouldNotContain(l.message);
130 } else {
131 output.shouldMatch("\\[" + l.level + ".*" + l.message);
132 }
133 }
134 }
135
136 public static void main(String[] args) throws Exception {
137 new TestGCLogMessages().testNormalLogs();
138 new TestGCLogMessages().testWithToSpaceExhaustionLogs();
139 new TestGCLogMessages().testWithInitialMark();
140 }
141
142 private void testNormalLogs() throws Exception {
|