|
11 | 11 |
|
12 | 12 | import com.tagtraum.perf.gcviewer.UnittestHelper; |
13 | 13 | import com.tagtraum.perf.gcviewer.UnittestHelper.FOLDER; |
| 14 | +import com.tagtraum.perf.gcviewer.model.AbstractGCEvent.Type; |
14 | 15 | import com.tagtraum.perf.gcviewer.model.GCModel; |
15 | 16 | import com.tagtraum.perf.gcviewer.model.GCResource; |
16 | 17 | import com.tagtraum.perf.gcviewer.model.GcResourceFile; |
@@ -131,7 +132,36 @@ public void testFullGcWithPhases() throws Exception { |
131 | 132 | assertThat("number of warnings", handler.getCount(), is(0)); |
132 | 133 | assertThat("number of events", model.size(), is(1)); |
133 | 134 | assertThat("total heap", model.get(0).getTotal(), is(128 * 1024)); |
134 | | - |
135 | 135 | } |
136 | 136 |
|
| 137 | + @Test |
| 138 | + public void testPauseYoungConcurrentStartMetadataGcThreshold() throws Exception { |
| 139 | + TestLogHandler handler = new TestLogHandler(); |
| 140 | + handler.setLevel(Level.WARNING); |
| 141 | + GCResource gcResource = new GcResourceFile("byteArray"); |
| 142 | + gcResource.getLogger().addHandler(handler); |
| 143 | + InputStream in = new ByteArrayInputStream( |
| 144 | + ("[1.459s][info][gc,start ] GC(1) Pause Young (Concurrent Start) (Metadata GC Threshold)\n" + |
| 145 | + "[1.459s][info][gc,task ] GC(1) Using 8 workers of 8 for evacuation\n" + |
| 146 | + "[1.464s][info][gc,phases ] GC(1) Pre Evacuate Collection Set: 0.0ms\n" + |
| 147 | + "[1.464s][info][gc,phases ] GC(1) Evacuate Collection Set: 4.1ms\n" + |
| 148 | + "[1.464s][info][gc,phases ] GC(1) Post Evacuate Collection Set: 1.1ms\n" + |
| 149 | + "[1.464s][info][gc,phases ] GC(1) Other: 0.4ms\n" + |
| 150 | + "[1.464s][info][gc,heap ] GC(1) Eden regions: 8->0(38)\n" + |
| 151 | + "[1.465s][info][gc,heap ] GC(1) Survivor regions: 3->1(3)\n" + |
| 152 | + "[1.465s][info][gc,heap ] GC(1) Old regions: 4->7\n" + |
| 153 | + "[1.465s][info][gc,heap ] GC(1) Humongous regions: 5->5\n" + |
| 154 | + "[1.465s][info][gc,metaspace ] GC(1) Metaspace: 20599K->20599K(1069056K)\n" + |
| 155 | + "[1.465s][info][gc ] GC(1) Pause Young (Concurrent Start) (Metadata GC Threshold) 19M->12M(256M) 5.774ms\n" + |
| 156 | + "[1.465s][info][gc,cpu ] GC(1) User=0.03s Sys=0.00s Real=0.00s\n") |
| 157 | + .getBytes()); |
| 158 | + |
| 159 | + DataReader reader = new DataReaderUnifiedJvmLogging(gcResource, in); |
| 160 | + GCModel model = reader.read(); |
| 161 | + |
| 162 | + assertThat("number of warnings", handler.getCount(), is(0)); |
| 163 | + assertThat("number of events", model.size(), is(1)); |
| 164 | + assertThat("event type", model.get(0).getExtendedType().getType(), is(Type.UJL_PAUSE_YOUNG)); |
| 165 | + assertThat("total heap", model.get(0).getTotal(), is(256 * 1024)); |
| 166 | + } |
137 | 167 | } |
0 commit comments