29 * test several times provokes garbage collection in the debuggee application and after each garbage
30 * collection runs jstat. jstat should show that after garbage collection number of GC events and garbage
31 * collection time increase.
32 * @modules java.base/jdk.internal.misc
33 * @library /test/lib
34 * @library ../share
35 * @run main/othervm -XX:+UsePerfData -Xmx128M GcNewTest
36 */
37
38 public class GcNewTest {
39
40 public static void main(String[] args) throws Exception {
41
42 // We will be running "jstat -gc" tool
43 JstatGcNewTool jstatGcTool = new JstatGcNewTool(ProcessHandle.current().getPid());
44
45 // Run once and get the results asserting that they are reasonable
46 JstatGcNewResults measurement1 = jstatGcTool.measure();
47 measurement1.assertConsistency();
48
49 GcProvoker gcProvoker = GcProvoker.createGcProvoker();
50
51 // Provoke GC and run the tool again
52 gcProvoker.provokeGc();
53 JstatGcNewResults measurement2 = jstatGcTool.measure();
54 measurement2.assertConsistency();
55
56 // Assert the increase in GC events and time between the measurements
57 assertThat(measurement2.getFloatValue("YGC") > measurement1.getFloatValue("YGC"), "YGC didn't increase between measurements 1 and 2");
58 assertThat(measurement2.getFloatValue("YGCT") > measurement1.getFloatValue("YGCT"), "YGCT time didn't increase between measurements 1 and 2");
59
60 // Provoke GC and run the tool again
61 gcProvoker.provokeGc();
62 JstatGcNewResults measurement3 = jstatGcTool.measure();
63 measurement3.assertConsistency();
64
65 // Assert the increase in GC events and time between the measurements
66 assertThat(measurement3.getFloatValue("YGC") > measurement2.getFloatValue("YGC"), "YGC didn't increase between measurements 1 and 2");
67 assertThat(measurement3.getFloatValue("YGCT") > measurement2.getFloatValue("YGCT"), "YGCT time didn't increase between measurements 1 and 2");
68
69 }
|
29 * test several times provokes garbage collection in the debuggee application and after each garbage
30 * collection runs jstat. jstat should show that after garbage collection number of GC events and garbage
31 * collection time increase.
32 * @modules java.base/jdk.internal.misc
33 * @library /test/lib
34 * @library ../share
35 * @run main/othervm -XX:+UsePerfData -Xmx128M GcNewTest
36 */
37
38 public class GcNewTest {
39
40 public static void main(String[] args) throws Exception {
41
42 // We will be running "jstat -gc" tool
43 JstatGcNewTool jstatGcTool = new JstatGcNewTool(ProcessHandle.current().getPid());
44
45 // Run once and get the results asserting that they are reasonable
46 JstatGcNewResults measurement1 = jstatGcTool.measure();
47 measurement1.assertConsistency();
48
49 GcProvoker gcProvoker = new GcProvoker();
50
51 // Provoke GC and run the tool again
52 gcProvoker.provokeGc();
53 JstatGcNewResults measurement2 = jstatGcTool.measure();
54 measurement2.assertConsistency();
55
56 // Assert the increase in GC events and time between the measurements
57 assertThat(measurement2.getFloatValue("YGC") > measurement1.getFloatValue("YGC"), "YGC didn't increase between measurements 1 and 2");
58 assertThat(measurement2.getFloatValue("YGCT") > measurement1.getFloatValue("YGCT"), "YGCT time didn't increase between measurements 1 and 2");
59
60 // Provoke GC and run the tool again
61 gcProvoker.provokeGc();
62 JstatGcNewResults measurement3 = jstatGcTool.measure();
63 measurement3.assertConsistency();
64
65 // Assert the increase in GC events and time between the measurements
66 assertThat(measurement3.getFloatValue("YGC") > measurement2.getFloatValue("YGC"), "YGC didn't increase between measurements 1 and 2");
67 assertThat(measurement3.getFloatValue("YGCT") > measurement2.getFloatValue("YGCT"), "YGCT time didn't increase between measurements 1 and 2");
68
69 }
|