< prev index next >

test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorTest.java

Print this page
rev 49264 : [mq]: event-only
rev 49267 : [mq]: event5
rev 49268 : [mq]: event6


  25 
  26 import java.util.List;
  27 
  28 /**
  29  * @test
  30  * @summary Verifies the JVMTI Heap Monitor API
  31  * @build Frame HeapMonitor
  32  * @compile HeapMonitorTest.java
  33  * @run main/othervm/native -agentlib:HeapMonitor MyPackage.HeapMonitorTest
  34  */
  35 
  36 public class HeapMonitorTest {
  37 
  38   private static native boolean framesAreNotLive(Frame[] frames);
  39 
  40   public static void main(String[] args) {
  41     if (!HeapMonitor.eventStorageIsEmpty()) {
  42       throw new RuntimeException("Storage is not empty at test start...");
  43     }
  44 
  45     HeapMonitor.enableSamplingRate();
  46     List<Frame> frameList = HeapMonitor.allocate();
  47     frameList.add(new Frame("main", "([Ljava/lang/String;)V", "HeapMonitorTest.java", 46));
  48 
  49     Frame[] frames = frameList.toArray(new Frame[0]);
  50     if (!HeapMonitor.obtainedEvents(frames)) {
  51       throw new RuntimeException("Events not found with the right frames.");
  52     }
  53 
  54     HeapMonitor.disableSamplingRate();
  55     HeapMonitor.resetEventStorage();
  56     if (!HeapMonitor.eventStorageIsEmpty()) {
  57       throw new RuntimeException("Storage is not empty after reset.");
  58     }
  59 
  60     HeapMonitor.allocate();
  61     if (!HeapMonitor.eventStorageIsEmpty()) {
  62       throw new RuntimeException("Storage is not empty after allocation while disabled.");
  63     }
  64   }
  65 }


  25 
  26 import java.util.List;
  27 
  28 /**
  29  * @test
  30  * @summary Verifies the JVMTI Heap Monitor API
  31  * @build Frame HeapMonitor
  32  * @compile HeapMonitorTest.java
  33  * @run main/othervm/native -agentlib:HeapMonitor MyPackage.HeapMonitorTest
  34  */
  35 
  36 public class HeapMonitorTest {
  37 
  38   private static native boolean framesAreNotLive(Frame[] frames);
  39 
  40   public static void main(String[] args) {
  41     if (!HeapMonitor.eventStorageIsEmpty()) {
  42       throw new RuntimeException("Storage is not empty at test start...");
  43     }
  44 
  45     HeapMonitor.enableSamplingEvents();
  46     List<Frame> frameList = HeapMonitor.allocate();
  47     frameList.add(new Frame("main", "([Ljava/lang/String;)V", "HeapMonitorTest.java", 46));
  48 
  49     Frame[] frames = frameList.toArray(new Frame[0]);
  50     if (!HeapMonitor.obtainedEvents(frames)) {
  51       throw new RuntimeException("Events not found with the right frames.");
  52     }
  53 
  54     HeapMonitor.disableSamplingEvents();
  55     HeapMonitor.resetEventStorage();
  56     if (!HeapMonitor.eventStorageIsEmpty()) {
  57       throw new RuntimeException("Storage is not empty after reset.");
  58     }
  59 
  60     HeapMonitor.allocate();
  61     if (!HeapMonitor.eventStorageIsEmpty()) {
  62       throw new RuntimeException("Storage is not empty after allocation while disabled.");
  63     }
  64   }
  65 }
< prev index next >