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 2016/05/15 11:51:01 UTC
[1/2] logging-log4j2 git commit: LOG4J2-1179 MarkerFilterBenchmark:
change scope to Benchmark, added test for filtering by level
Repository: logging-log4j2
Updated Branches:
refs/heads/master 7e548f0f6 -> 7c102f610
LOG4J2-1179 MarkerFilterBenchmark: change scope to Benchmark, added test for filtering by level
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/5dbd1b65
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/5dbd1b65
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/5dbd1b65
Branch: refs/heads/master
Commit: 5dbd1b656f2baf83d5e309da67a39b75b20566a0
Parents: 7e548f0
Author: rpopma <rp...@apache.org>
Authored: Sun May 15 20:49:59 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Sun May 15 20:49:59 2016 +0900
----------------------------------------------------------------------
.../log4j/perf/jmh/MarkerFilterBenchmark.java | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/5dbd1b65/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/MarkerFilterBenchmark.java
----------------------------------------------------------------------
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/MarkerFilterBenchmark.java b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/MarkerFilterBenchmark.java
index fc102ea..933f398 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/MarkerFilterBenchmark.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/MarkerFilterBenchmark.java
@@ -38,11 +38,10 @@ import org.slf4j.MarkerFactory;
// java -jar target/benchmarks.jar ".*MarkerFilterBenchmark.*" -f 1 -i 5 -wi 5 -bm sample -tu ns
// multiple threads (for example, 4 threads):
// java -jar target/benchmarks.jar ".*MarkerFilterBenchmark.*" -f 1 -i 5 -wi 5 -t 4 -si true -bm sample -tu ns
-@State(Scope.Thread)
+@State(Scope.Benchmark)
public class MarkerFilterBenchmark {
Logger log4jLogger;
org.slf4j.Logger slf4jLogger;
- Integer j;
org.slf4j.Marker LOGBACK_FLOW_MARKER;
org.slf4j.Marker LOGBACK_ENTRY_MARKER;
Marker LOG4J_FLOW_MARKER;
@@ -59,8 +58,7 @@ public class MarkerFilterBenchmark {
LOGBACK_ENTRY_MARKER.add(LOGBACK_FLOW_MARKER);
LOG4J_ENTRY_MARKER.addParents(LOG4J_FLOW_MARKER);
log4jLogger = LogManager.getLogger(MarkerFilterBenchmark.class);
- slf4jLogger = LoggerFactory.getLogger(MarkerFilterBenchmark.class);;
- j = Integer.valueOf(2);
+ slf4jLogger = LoggerFactory.getLogger(MarkerFilterBenchmark.class);
}
@TearDown
@@ -80,13 +78,17 @@ public class MarkerFilterBenchmark {
log4jLogger.info(LOG4J_ENTRY_MARKER, "This is a test");
}
-
@Benchmark
public void log4jSimpleMarker() {
log4jLogger.info(LOG4J_FLOW_MARKER, "This is a test");
}
@Benchmark
+ public void log4jTooFine() {
+ log4jLogger.trace("This is not logged");
+ }
+
+ @Benchmark
public void logbackParentMarker() {
slf4jLogger.info(LOGBACK_ENTRY_MARKER, "This is a test");
}
@@ -95,4 +97,9 @@ public class MarkerFilterBenchmark {
public void logbackSimpleMarker() {
slf4jLogger.info(LOGBACK_FLOW_MARKER, "This is a test");
}
+
+ @Benchmark
+ public void logbackTooFine() {
+ slf4jLogger.trace("This is not logged");
+ }
}
[2/2] logging-log4j2 git commit: LOG4J2-1179 MDCFilterBenchmark:
changed scope to Benchmark,
added state with Thread Scope to initialize ThreadContext map for all threads
in the test
Posted by rp...@apache.org.
LOG4J2-1179 MDCFilterBenchmark: changed scope to Benchmark, added state with Thread Scope to initialize ThreadContext map for all threads in the test
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/7c102f61
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/7c102f61
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/7c102f61
Branch: refs/heads/master
Commit: 7c102f610fe9b72ecd86b916c15866c64dcdbd07
Parents: 5dbd1b6
Author: rpopma <rp...@apache.org>
Authored: Sun May 15 20:51:34 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Sun May 15 20:51:34 2016 +0900
----------------------------------------------------------------------
.../log4j/perf/jmh/MDCFilterBenchmark.java | 29 ++++++++++++++------
1 file changed, 20 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/7c102f61/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/MDCFilterBenchmark.java
----------------------------------------------------------------------
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/MDCFilterBenchmark.java b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/MDCFilterBenchmark.java
index ae264ce..9b5c5cf 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/MDCFilterBenchmark.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/MDCFilterBenchmark.java
@@ -38,22 +38,33 @@ import org.slf4j.MDC;
// multiple threads (for example, 4 threads):
// java -jar target/benchmarks.jar ".*MDCFilterBenchmark.*" -f 1 -i 5 -wi 5 -t 4 -si true -bm sample -tu ns
-@State(Scope.Thread)
+@State(Scope.Benchmark)
public class MDCFilterBenchmark {
+ // Loggers are Benchmark scope, just like in a real application:
+ // different threads may use the same logger instance, which may have some lock contention.
Logger log4jLogger;
org.slf4j.Logger slf4jLogger;
- Integer j;
+
+ @State(Scope.Thread)
+ public static class ThreadContextState {
+ // Thread scope: initialize MDC/ThreadContext here to ensure each thread has some value set
+ public ThreadContextState() {
+ ThreadContext.put("user", "Apache");
+ MDC.put("user", "Apache");
+ }
+
+ public String message() {
+ return "This is a test";
+ }
+ }
@Setup
public void setUp() {
System.setProperty("log4j.configurationFile", "log4j2-threadContextFilter-perf.xml");
System.setProperty("logback.configurationFile", "logback-mdcFilter-perf.xml");
- ThreadContext.put("user", "Apache");
- MDC.put("user", "Apache");
log4jLogger = LogManager.getLogger(MDCFilterBenchmark.class);
slf4jLogger = LoggerFactory.getLogger(MDCFilterBenchmark.class);
- j = Integer.valueOf(2);
}
@TearDown
@@ -68,13 +79,13 @@ public class MDCFilterBenchmark {
}
@Benchmark
- public void log4jThreadContextFilter() {
- log4jLogger.info("This is a test");
+ public void log4jThreadContextFilter(final ThreadContextState state) {
+ log4jLogger.info(state.message());
}
@Benchmark
- public void slf4jMDCFilter() {
- slf4jLogger.info("This is a test");
+ public void slf4jMDCFilter(final ThreadContextState state) {
+ slf4jLogger.info(state.message());
}
}