< prev index next >

test/hotspot/jtreg/gc/testlibrary/PerfCounter.java

Print this page




  24 package gc.testlibrary;
  25 
  26 import sun.jvmstat.monitor.Monitor;
  27 
  28 /**
  29  * Represents a performance counter in the JVM.
  30  *
  31  * See http://openjdk.java.net/groups/hotspot/docs/Serviceability.html#bjvmstat
  32  * for more details about performance counters.
  33  */
  34 public class PerfCounter {
  35     private final Monitor monitor;
  36     private final String name;
  37 
  38     PerfCounter(Monitor monitor, String name) {
  39         this.monitor = monitor;
  40         this.name = name;
  41     }
  42 
  43     /**









  44      * Returns the value of this performance counter as a long.
  45      *
  46      * @return The long value of this performance counter
  47      * @throws RuntimeException If the value of the performance counter isn't a long
  48      */
  49     public long longValue() {
  50         Object value = monitor.getValue();
  51         if (value instanceof Long) {
  52             return ((Long) value).longValue();
  53         }
  54         throw new RuntimeException("Expected " + monitor.getName() + " to have a long value");
  55     }
  56 
  57     /**
  58      * Returns the name of the performance counter.
  59      *
  60      * @return The name of the performance counter.
  61      */
  62     public String getName() {
  63         return name;


  24 package gc.testlibrary;
  25 
  26 import sun.jvmstat.monitor.Monitor;
  27 
  28 /**
  29  * Represents a performance counter in the JVM.
  30  *
  31  * See http://openjdk.java.net/groups/hotspot/docs/Serviceability.html#bjvmstat
  32  * for more details about performance counters.
  33  */
  34 public class PerfCounter {
  35     private final Monitor monitor;
  36     private final String name;
  37 
  38     PerfCounter(Monitor monitor, String name) {
  39         this.monitor = monitor;
  40         this.name = name;
  41     }
  42 
  43     /**
  44      * Returns the value of this performance counter as an Object.
  45      *
  46      * @return The value of this performance counter
  47      */
  48     public Object value() {
  49         return monitor.getValue();
  50     }
  51 
  52     /**
  53      * Returns the value of this performance counter as a long.
  54      *
  55      * @return The long value of this performance counter
  56      * @throws RuntimeException If the value of the performance counter isn't a long
  57      */
  58     public long longValue() {
  59         Object value = monitor.getValue();
  60         if (value instanceof Long) {
  61             return ((Long) value).longValue();
  62         }
  63         throw new RuntimeException("Expected " + monitor.getName() + " to have a long value");
  64     }
  65 
  66     /**
  67      * Returns the name of the performance counter.
  68      *
  69      * @return The name of the performance counter.
  70      */
  71     public String getName() {
  72         return name;
< prev index next >