You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2014/06/04 17:23:25 UTC

svn commit: r1600291 - in /logging/log4j/log4j2/trunk/log4j-perf: ./ src/main/java/org/apache/logging/log4j/perf/jmh/ src/main/resources/

Author: rpopma
Date: Wed Jun  4 15:23:25 2014
New Revision: 1600291

URL: http://svn.apache.org/r1600291
Log:
added benchmarks for Async Loggers and Async Appenders

Added:
    logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/AsyncLoggersBenchmark.java   (with props)
    logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4j1AsyncAppenderBenchmark.java   (with props)
    logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4j2AsyncAppenderBenchmark.java   (with props)
    logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/LogbackAsyncAppenderBenchmark.java   (with props)
    logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf-log4j12-async.xml   (with props)
    logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf-logback-async.xml   (with props)
    logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf3PlainNoLoc.xml   (with props)
    logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf5AsyncApndNoLoc.xml   (with props)
Modified:
    logging/log4j/log4j2/trunk/log4j-perf/pom.xml

Modified: logging/log4j/log4j2/trunk/log4j-perf/pom.xml
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-perf/pom.xml?rev=1600291&r1=1600290&r2=1600291&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-perf/pom.xml (original)
+++ logging/log4j/log4j2/trunk/log4j-perf/pom.xml Wed Jun  4 15:23:25 2014
@@ -78,6 +78,11 @@
       <artifactId>log4j</artifactId>
       <version>1.2.17</version>
     </dependency>
+    <dependency>
+      <groupId>com.lmax</groupId>
+      <artifactId>disruptor</artifactId>
+      <version>3.2.1</version>
+    </dependency>
   </dependencies>
 
   <build>

Added: logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/AsyncLoggersBenchmark.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/AsyncLoggersBenchmark.java?rev=1600291&view=auto
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/AsyncLoggersBenchmark.java (added)
+++ logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/AsyncLoggersBenchmark.java Wed Jun  4 15:23:25 2014
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+
+package org.apache.logging.log4j.perf.jmh;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.LifeCycle;
+import org.openjdk.jmh.annotations.BenchmarkMode;
+import org.openjdk.jmh.annotations.GenerateMicroBenchmark;
+import org.openjdk.jmh.annotations.Level;
+import org.openjdk.jmh.annotations.Mode;
+import org.openjdk.jmh.annotations.OutputTimeUnit;
+import org.openjdk.jmh.annotations.Scope;
+import org.openjdk.jmh.annotations.Setup;
+import org.openjdk.jmh.annotations.State;
+import org.openjdk.jmh.annotations.TearDown;
+
+/**
+ * Tests Log4j2 Async Loggers performance.
+ */
+// ============================== HOW TO RUN THIS TEST: ====================================
+//
+// single thread:
+// java -jar log4j-perf/target/microbenchmarks.jar ".*Async.*Benchmark.*" -f 1 -wi 5 -i 5
+//
+// multiple threads (for example, 4 threads):
+// java -jar log4j-perf/target/microbenchmarks.jar ".*Async.*Benchmark.*" -f 1 -wi 5 -i 5 -t 4 -si true
+//
+// Usage help:
+// java -jar log4j-perf/target/microbenchmarks.jar -help
+//
+@State(Scope.Thread)
+public class AsyncLoggersBenchmark {
+    final static char[] CHARS = new char[500];
+    static {
+        Arrays.fill(CHARS, 'a');
+    }
+    final static String TEST = new String(CHARS);
+
+    Logger logger;
+
+    @Setup(Level.Trial)
+    public void up() {
+        new File("perftest.log").delete();
+        System.setProperty("log4j.configurationFile", "perf3PlainNoLoc.xml");
+         System.setProperty("Log4jContextSelector",
+         "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");
+        logger = LogManager.getLogger(getClass());
+    }
+
+    @TearDown(Level.Trial)
+    public void down() {
+        ((LifeCycle) LogManager.getContext(false)).stop();
+        new File("perftest.log").delete();
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.Throughput)
+    @OutputTimeUnit(TimeUnit.SECONDS)
+    public boolean throughputBaseline() {
+        return logger.isInfoEnabled();
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.Throughput)
+    @OutputTimeUnit(TimeUnit.SECONDS)
+    public void throughput() {
+        logger.info(TEST);
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.SampleTime)
+    @OutputTimeUnit(TimeUnit.NANOSECONDS)
+    public boolean latencyBaseline() {
+        return logger.isInfoEnabled();
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.SampleTime)
+    @OutputTimeUnit(TimeUnit.NANOSECONDS)
+    public void latency() {
+        logger.info(TEST);
+    }
+}

Propchange: logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/AsyncLoggersBenchmark.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4j1AsyncAppenderBenchmark.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4j1AsyncAppenderBenchmark.java?rev=1600291&view=auto
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4j1AsyncAppenderBenchmark.java (added)
+++ logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4j1AsyncAppenderBenchmark.java Wed Jun  4 15:23:25 2014
@@ -0,0 +1,101 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.perf.jmh;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
+import org.openjdk.jmh.annotations.BenchmarkMode;
+import org.openjdk.jmh.annotations.GenerateMicroBenchmark;
+import org.openjdk.jmh.annotations.Level;
+import org.openjdk.jmh.annotations.Mode;
+import org.openjdk.jmh.annotations.OutputTimeUnit;
+import org.openjdk.jmh.annotations.Scope;
+import org.openjdk.jmh.annotations.Setup;
+import org.openjdk.jmh.annotations.State;
+import org.openjdk.jmh.annotations.TearDown;
+
+/**
+ * Tests Log4j-1.2 Async Appender performance.
+ */
+// ============================== HOW TO RUN THIS TEST: ====================================
+//
+// single thread:
+// java -jar log4j-perf/target/microbenchmarks.jar ".*Async.*Benchmark.*" -f 1 -wi 5 -i 5
+//
+// multiple threads (for example, 4 threads):
+// java -jar log4j-perf/target/microbenchmarks.jar ".*Async.*Benchmark.*" -f 1 -wi 5 -i 5 -t 4 -si true
+//
+// Usage help:
+// java -jar log4j-perf/target/microbenchmarks.jar -help
+//
+public class Log4j1AsyncAppenderBenchmark {
+
+    final static char[] CHARS = new char[500];
+    static {
+        Arrays.fill(CHARS, 'a');
+    }
+    final static String TEST = new String(CHARS);
+
+    @State(Scope.Benchmark)
+    public static class NormalState {
+        Logger logger;
+
+        @Setup(Level.Trial)
+        public void up() {
+            System.setProperty("log4j.configuration", "perf-log4j12-async.xml");
+            logger = LogManager.getLogger(getClass());
+        }
+
+        @TearDown(Level.Trial)
+        public void down() {
+            LogManager.shutdown();
+            new File("perftest.log").delete();
+        }
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.Throughput)
+    @OutputTimeUnit(TimeUnit.SECONDS)
+    public boolean throughputBaseline(NormalState e) {
+        return e.logger.isInfoEnabled();
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.Throughput)
+    @OutputTimeUnit(TimeUnit.SECONDS)
+    public void throughput(NormalState e) {
+        e.logger.info(TEST);
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.SampleTime)
+    @OutputTimeUnit(TimeUnit.NANOSECONDS)
+    public boolean latencyBaseline(NormalState e) {
+        return e.logger.isInfoEnabled();
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.SampleTime)
+    @OutputTimeUnit(TimeUnit.NANOSECONDS)
+    public void latency(NormalState e) {
+        e.logger.info(TEST);
+    }
+}

Propchange: logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4j1AsyncAppenderBenchmark.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4j2AsyncAppenderBenchmark.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4j2AsyncAppenderBenchmark.java?rev=1600291&view=auto
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4j2AsyncAppenderBenchmark.java (added)
+++ logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4j2AsyncAppenderBenchmark.java Wed Jun  4 15:23:25 2014
@@ -0,0 +1,101 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.perf.jmh;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.LifeCycle;
+import org.openjdk.jmh.annotations.BenchmarkMode;
+import org.openjdk.jmh.annotations.GenerateMicroBenchmark;
+import org.openjdk.jmh.annotations.Level;
+import org.openjdk.jmh.annotations.Mode;
+import org.openjdk.jmh.annotations.OutputTimeUnit;
+import org.openjdk.jmh.annotations.Scope;
+import org.openjdk.jmh.annotations.Setup;
+import org.openjdk.jmh.annotations.State;
+import org.openjdk.jmh.annotations.TearDown;
+
+/**
+ * Tests Log4j2 Async Appender performance.
+ */
+// ============================== HOW TO RUN THIS TEST: ====================================
+//
+// single thread:
+// java -jar log4j-perf/target/microbenchmarks.jar ".*Async.*Benchmark.*" -f 1 -wi 5 -i 5
+//
+// multiple threads (for example, 4 threads):
+// java -jar log4j-perf/target/microbenchmarks.jar ".*Async.*Benchmark.*" -f 1 -wi 5 -i 5 -t 4 -si true
+//
+// Usage help:
+// java -jar log4j-perf/target/microbenchmarks.jar -help
+//
+public class Log4j2AsyncAppenderBenchmark {
+    final static char[] CHARS = new char[500];
+    static {
+        Arrays.fill(CHARS, 'a');
+    }
+    final static String TEST = new String(CHARS);
+
+    @State(Scope.Benchmark)
+    public static class NormalState {
+        Logger logger;
+
+        @Setup(Level.Trial)
+        public void up() {
+            System.setProperty("log4j.configurationFile", "perf5AsyncApndNoLoc.xml");
+            logger = LogManager.getLogger(getClass());
+        }
+
+        @TearDown(Level.Trial)
+        public void down() {
+            ((LifeCycle) LogManager.getContext(false)).stop();
+            new File("perftest.log").delete();
+        }
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.Throughput)
+    @OutputTimeUnit(TimeUnit.SECONDS)
+    public boolean throughputBaseline(NormalState e) {
+        return e.logger.isInfoEnabled();
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.Throughput)
+    @OutputTimeUnit(TimeUnit.SECONDS)
+    public void throughput(NormalState e) {
+        e.logger.info(TEST);
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.SampleTime)
+    @OutputTimeUnit(TimeUnit.NANOSECONDS)
+    public boolean latencyBaseline(NormalState e) {
+        return e.logger.isInfoEnabled();
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.SampleTime)
+    @OutputTimeUnit(TimeUnit.NANOSECONDS)
+    public void latency(NormalState e) {
+        e.logger.info(TEST);
+    }
+}

Propchange: logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4j2AsyncAppenderBenchmark.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/LogbackAsyncAppenderBenchmark.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/LogbackAsyncAppenderBenchmark.java?rev=1600291&view=auto
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/LogbackAsyncAppenderBenchmark.java (added)
+++ logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/LogbackAsyncAppenderBenchmark.java Wed Jun  4 15:23:25 2014
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.perf.jmh;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.concurrent.TimeUnit;
+
+import org.openjdk.jmh.annotations.BenchmarkMode;
+import org.openjdk.jmh.annotations.GenerateMicroBenchmark;
+import org.openjdk.jmh.annotations.Level;
+import org.openjdk.jmh.annotations.Mode;
+import org.openjdk.jmh.annotations.OutputTimeUnit;
+import org.openjdk.jmh.annotations.Scope;
+import org.openjdk.jmh.annotations.Setup;
+import org.openjdk.jmh.annotations.State;
+import org.openjdk.jmh.annotations.TearDown;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import ch.qos.logback.core.spi.LifeCycle;
+
+/**
+ * Tests Logback Async Appender performance.
+ */
+// ============================== HOW TO RUN THIS TEST: ====================================
+//
+// single thread:
+// java -jar log4j-perf/target/microbenchmarks.jar ".*Async.*Benchmark.*" -f 1 -wi 5 -i 5
+//
+// multiple threads (for example, 4 threads):
+// java -jar log4j-perf/target/microbenchmarks.jar ".*Async.*Benchmark.*" -f 1 -wi 5 -i 5 -t 4 -si true
+//
+// Usage help:
+// java -jar log4j-perf/target/microbenchmarks.jar -help
+//
+public class LogbackAsyncAppenderBenchmark {
+
+    final static char[] CHARS = new char[500];
+    static {
+        Arrays.fill(CHARS, 'a');
+    }
+    final static String TEST = new String(CHARS);
+
+    @State(Scope.Benchmark)
+    public static class NormalState {
+        Logger logger;
+
+        @Setup(Level.Trial)
+        public void up() {
+            System.setProperty("logback.configurationFile", "perf-logback-async.xml");
+            logger = (Logger) LoggerFactory.getLogger(getClass());
+        }
+
+        @TearDown(Level.Trial)
+        public void down() {
+            ((LifeCycle) LoggerFactory.getILoggerFactory()).stop();
+            new File("perftest.log").delete();
+        }
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.Throughput)
+    @OutputTimeUnit(TimeUnit.SECONDS)
+    public boolean throughputBaseline(NormalState e) {
+        return e.logger.isInfoEnabled();
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.Throughput)
+    @OutputTimeUnit(TimeUnit.SECONDS)
+    public void throughput(NormalState e) {
+        e.logger.info(TEST);
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.SampleTime)
+    @OutputTimeUnit(TimeUnit.NANOSECONDS)
+    public boolean latencyBaseline(NormalState e) {
+        return e.logger.isInfoEnabled();
+    }
+
+    @GenerateMicroBenchmark
+    @BenchmarkMode(Mode.SampleTime)
+    @OutputTimeUnit(TimeUnit.NANOSECONDS)
+    public void latency(NormalState e) {
+        e.logger.info(TEST);
+    }
+}

Propchange: logging/log4j/log4j2/trunk/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/LogbackAsyncAppenderBenchmark.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf-log4j12-async.xml
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf-log4j12-async.xml?rev=1600291&view=auto
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf-log4j12-async.xml (added)
+++ logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf-log4j12-async.xml Wed Jun  4 15:23:25 2014
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+    <appender name="File" class="org.apache.log4j.FileAppender">
+        <param name="File" value="perftest.log" />
+        <param name="BufferedIO" value="true"/>
+        <param name="Append" value="false" />
+        <layout class="org.apache.log4j.PatternLayout">
+          <param name="ConversionPattern" value="%d %p %c{1} [%t] %X{aKey} %m %n"/>
+        </layout>           
+     </appender>
+     <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
+         <param name="BufferSize" value="262144"/>
+         <appender-ref ref="File"/>
+     </appender>
+  <root> 
+    <priority value="debug" /> 
+    <appender-ref ref="ASYNC" /> 
+  </root>
+</log4j:configuration>
\ No newline at end of file

Propchange: logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf-log4j12-async.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf-logback-async.xml
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf-logback-async.xml?rev=1600291&view=auto
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf-logback-async.xml (added)
+++ logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf-logback-async.xml Wed Jun  4 15:23:25 2014
@@ -0,0 +1,21 @@
+<configuration>
+
+  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
+    <file>perftest.log</file>
+    <append>false</append>
+    <encoder>
+      <Pattern>%d %p %c{1} [%t] %X{aKey} %m %ex%n</Pattern>
+      <immediateFlush>false</immediateFlush>
+    </encoder>
+  </appender>
+  <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>262144</queueSize>
+    <discardingThreshold>0</discardingThreshold>
+    <includeCallerData>false</includeCallerData>
+    <appender-ref ref="FILE" />
+  </appender>
+
+  <root level="debug">
+    <appender-ref ref="ASYNC" />
+  </root>
+</configuration>
\ No newline at end of file

Propchange: logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf-logback-async.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf3PlainNoLoc.xml
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf3PlainNoLoc.xml?rev=1600291&view=auto
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf3PlainNoLoc.xml (added)
+++ logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf3PlainNoLoc.xml Wed Jun  4 15:23:25 2014
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration status="OFF">
+  <Appenders>
+    <RandomAccessFile name="RandomAccessFile" fileName="perftest.log" immediateFlush="false" append="false">
+      <PatternLayout>
+        <Pattern>%d %p %c{1.} [%t] %X{aKey} %m %ex%n</Pattern>
+      </PatternLayout>
+    </RandomAccessFile>
+  </Appenders>
+  <Loggers>
+    <Root level="info" includeLocation="false">
+      <appender-ref ref="RandomAccessFile"/>
+    </Root>
+  </Loggers>
+</Configuration>

Propchange: logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf3PlainNoLoc.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf5AsyncApndNoLoc.xml
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf5AsyncApndNoLoc.xml?rev=1600291&view=auto
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf5AsyncApndNoLoc.xml (added)
+++ logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf5AsyncApndNoLoc.xml Wed Jun  4 15:23:25 2014
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration status="OFF">
+  <Appenders>
+    <RandomAccessFile name="RandomAccessFile" fileName="perftest.log" immediateFlush="false" append="false">
+      <PatternLayout>
+        <Pattern>%d %p %c{1.} [%t] %X{aKey} %m %ex%n</Pattern>
+      </PatternLayout>
+    </RandomAccessFile>
+    <Async name="Async"  blocking="true" bufferSize="262144">
+      <appender-ref ref="RandomAccessFile"/>
+    </Async>
+  </Appenders>  
+  <Loggers>
+    <Root level="info" includeLocation="false">
+      <appender-ref ref="Async"/>
+    </Root>
+  </Loggers>
+</Configuration>

Propchange: logging/log4j/log4j2/trunk/log4j-perf/src/main/resources/perf5AsyncApndNoLoc.xml
------------------------------------------------------------------------------
    svn:eol-style = native