30 * collection time increase.
31 * @modules java.base/jdk.internal.misc
32 * @library /test/lib
33 * @library ../share
34 * @requires vm.opt.ExplicitGCInvokesConcurrent != true
35 * @run main/othervm -XX:+UsePerfData -Xmx128M GcCauseTest01
36 */
37 import utils.*;
38
39 public class GcCauseTest01 {
40
41 public static void main(String[] args) throws Exception {
42
43 // We will be running "jstat -gc" tool
44 JstatGcCauseTool jstatGcTool = new JstatGcCauseTool(ProcessHandle.current().getPid());
45
46 // Run once and get the results asserting that they are reasonable
47 JstatGcCauseResults measurement1 = jstatGcTool.measure();
48 measurement1.assertConsistency();
49
50 GcProvoker gcProvoker = GcProvoker.createGcProvoker();
51
52 // Provoke GC then run the tool again and get the results asserting that they are reasonable
53 gcProvoker.provokeGc();
54 JstatGcCauseResults measurement2 = jstatGcTool.measure();
55 measurement2.assertConsistency();
56
57 // Assert the increase in GC events and time between the measurements
58 JstatResults.assertGCEventsIncreased(measurement1, measurement2);
59 JstatResults.assertGCTimeIncreased(measurement1, measurement2);
60
61 // Provoke GC 3rd time then run the tool 3rd time twice and get the results
62 // asserting that they are reasonable
63 gcProvoker.provokeGc();
64 JstatGcCauseResults measurement3 = jstatGcTool.measure();
65 measurement3.assertConsistency();
66
67 // Assert the increase in GC events and time between the measurements
68 JstatResults.assertGCEventsIncreased(measurement2, measurement3);
69 JstatResults.assertGCTimeIncreased(measurement2, measurement3);
70 }
|
30 * collection time increase.
31 * @modules java.base/jdk.internal.misc
32 * @library /test/lib
33 * @library ../share
34 * @requires vm.opt.ExplicitGCInvokesConcurrent != true
35 * @run main/othervm -XX:+UsePerfData -Xmx128M GcCauseTest01
36 */
37 import utils.*;
38
39 public class GcCauseTest01 {
40
41 public static void main(String[] args) throws Exception {
42
43 // We will be running "jstat -gc" tool
44 JstatGcCauseTool jstatGcTool = new JstatGcCauseTool(ProcessHandle.current().getPid());
45
46 // Run once and get the results asserting that they are reasonable
47 JstatGcCauseResults measurement1 = jstatGcTool.measure();
48 measurement1.assertConsistency();
49
50 GcProvoker gcProvoker = new GcProvoker();
51
52 // Provoke GC then run the tool again and get the results asserting that they are reasonable
53 gcProvoker.provokeGc();
54 JstatGcCauseResults measurement2 = jstatGcTool.measure();
55 measurement2.assertConsistency();
56
57 // Assert the increase in GC events and time between the measurements
58 JstatResults.assertGCEventsIncreased(measurement1, measurement2);
59 JstatResults.assertGCTimeIncreased(measurement1, measurement2);
60
61 // Provoke GC 3rd time then run the tool 3rd time twice and get the results
62 // asserting that they are reasonable
63 gcProvoker.provokeGc();
64 JstatGcCauseResults measurement3 = jstatGcTool.measure();
65 measurement3.assertConsistency();
66
67 // Assert the increase in GC events and time between the measurements
68 JstatResults.assertGCEventsIncreased(measurement2, measurement3);
69 JstatResults.assertGCTimeIncreased(measurement2, measurement3);
70 }
|