< prev index next >

test/micro/org/openjdk/bench/java/util/logging/LoggingRuntimeMicros.java

Print this page

 36 
 37 @State(value = Scope.Benchmark)
 38 @BenchmarkMode(Mode.AverageTime)
 39 @OutputTimeUnit(TimeUnit.NANOSECONDS)
 40 public class LoggingRuntimeMicros {
 41 
 42     // TestStack will add this number of calls to the call stack
 43     @Param({"4", "100", "1000"})
 44     // For more thorough testing, consider:
 45     // @Param({"4", "10", "100", "256", "1000"})
 46     public int depth;
 47 
 48     /** Logging handler for testing logging calls. */
 49     @State(value = Scope.Thread) // create a separate one for each worker thread
 50     public static class TestHandler extends java.util.logging.Handler {
 51         private final static AtomicInteger serialNum = new AtomicInteger(0);
 52 
 53         private final java.util.logging.Logger logger;
 54         private volatile LogRecord record;
 55 

 56         public TestHandler() {
 57             // Each instance uses its own logger
 58             logger = java.util.logging.Logger.getLogger("StackWalkBench" + serialNum.incrementAndGet());
 59             logger.setUseParentHandlers(false);
 60             logger.addHandler(this);
 61         }
 62 
 63         @Override
 64         public void publish(LogRecord record) {
 65             record.getSourceMethodName();
 66             this.record = record;
 67         }
 68 
 69         private LogRecord reset() {
 70             LogRecord record = this.record;
 71             this.record = null;
 72             return record;
 73         }
 74 
 75         public final LogRecord testInferCaller(String msg) {

 36 
 37 @State(value = Scope.Benchmark)
 38 @BenchmarkMode(Mode.AverageTime)
 39 @OutputTimeUnit(TimeUnit.NANOSECONDS)
 40 public class LoggingRuntimeMicros {
 41 
 42     // TestStack will add this number of calls to the call stack
 43     @Param({"4", "100", "1000"})
 44     // For more thorough testing, consider:
 45     // @Param({"4", "10", "100", "256", "1000"})
 46     public int depth;
 47 
 48     /** Logging handler for testing logging calls. */
 49     @State(value = Scope.Thread) // create a separate one for each worker thread
 50     public static class TestHandler extends java.util.logging.Handler {
 51         private final static AtomicInteger serialNum = new AtomicInteger(0);
 52 
 53         private final java.util.logging.Logger logger;
 54         private volatile LogRecord record;
 55 
 56         @SuppressWarnings("initialization")
 57         public TestHandler() {
 58             // Each instance uses its own logger
 59             logger = java.util.logging.Logger.getLogger("StackWalkBench" + serialNum.incrementAndGet());
 60             logger.setUseParentHandlers(false);
 61             logger.addHandler(this);
 62         }
 63 
 64         @Override
 65         public void publish(LogRecord record) {
 66             record.getSourceMethodName();
 67             this.record = record;
 68         }
 69 
 70         private LogRecord reset() {
 71             LogRecord record = this.record;
 72             this.record = null;
 73             return record;
 74         }
 75 
 76         public final LogRecord testInferCaller(String msg) {
< prev index next >