logging-log4j2 git commit: [LOG4J2-2313] Update LMAX Disruptor from 3.3.7 to 3.4.1. I was getting some odd 'JVM has quit' error messages so I updated the Surefire/Failsafe Maven plugins from 2.20.1 to

2018-04-09 Thread ggregory
Repository: logging-log4j2
Updated Branches:
  refs/heads/master 1ee85dcb6 -> 45517769e


[LOG4J2-2313] Update LMAX Disruptor from 3.3.7 to 3.4.1. I was getting
some odd 'JVM has quit' error messages so I updated the
Surefire/Failsafe Maven plugins from 2.20.1 to 2.21.0 and that seems to
fix it. The Histogram class from LMAX has been removed so I copied it
into our test code base, it is licensed under the Apache 2.0 license.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/45517769
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/45517769
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/45517769

Branch: refs/heads/master
Commit: 45517769e19e57e1cf2c399e7884a59ff335e60c
Parents: 1ee85dc
Author: Gary Gregory 
Authored: Mon Apr 9 18:00:00 2018 -0600
Committer: Gary Gregory 
Committed: Mon Apr 9 18:00:00 2018 -0600

--
 .../core/async/perftest/AbstractRunQueue.java   |   2 -
 .../log4j/core/async/perftest/Histogram.java| 390 +++
 .../core/async/perftest/IPerfTestRunner.java|   2 -
 .../async/perftest/MultiThreadPerfTest.java |   2 -
 .../log4j/core/async/perftest/PerfTest.java |   2 -
 .../log4j/core/async/perftest/RunLog4j1.java|   2 -
 .../log4j/core/async/perftest/RunLog4j2.java|   1 -
 .../log4j/core/async/perftest/RunLogback.java   |   2 -
 pom.xml |   6 +-
 src/changes/changes.xml |   6 +
 10 files changed, 399 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/45517769/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/AbstractRunQueue.java
--
diff --git 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/AbstractRunQueue.java
 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/AbstractRunQueue.java
index 82d6065..7ba9412 100644
--- 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/AbstractRunQueue.java
+++ 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/AbstractRunQueue.java
@@ -21,8 +21,6 @@ import java.util.concurrent.BlockingQueue;
 
 import 
org.apache.logging.log4j.core.async.perftest.ResponseTimeTest.PrintingAsyncQueueFullPolicy;
 
-import com.lmax.disruptor.collections.Histogram;
-
 public abstract class AbstractRunQueue implements IPerfTestRunner {
 
 abstract BlockingQueue createQueue(int capacity);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/45517769/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/Histogram.java
--
diff --git 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/Histogram.java
 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/Histogram.java
new file mode 100644
index 000..bf0823b
--- /dev/null
+++ 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/Histogram.java
@@ -0,0 +1,390 @@
+/*
+ * Copyright 2011 LMAX Ltd.
+ *
+ * Licensed 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.core.async.perftest;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.Arrays;
+
+/**
+ * Histogram for tracking the frequency of observations of values below 
interval upper bounds.
+ *
+ * This class is useful for recording timings across a large number of 
observations
+ * when high performance is required.
+ *
+ * The interval bounds are used to define the ranges of the histogram 
buckets. If provided bounds
+ * are [10,20,30,40,50] then there will be five buckets, accessible by index 
0-4. Any value
+ * 0-10 will fall into the first interval bar, values 11-20 will fall into the
+ * second bar, and so on.
+ */
+@Deprecated
+public final class Histogram
+{
+// tracks the upper intervals of each of the buckets/bars
+private final long[] upperBounds;
+// tracks the count of the corresponding bucket
+private final long[] counts;
+// minimum value so far observed
+private long minValue = Long.MAX_VALUE;
+// maximum value 

logging-log4j2 git commit: [LOG4J2-2313] Update LMAX Disruptor from 3.3.7 to 3.4.1. I was getting some odd 'JVM has quit' error messages so I updated the Surefire/Failsafe Maven plugins from 2.20.1 to

2018-04-09 Thread ggregory
Repository: logging-log4j2
Updated Branches:
  refs/heads/release-2.x 4b784946c -> 463041147


[LOG4J2-2313] Update LMAX Disruptor from 3.3.7 to 3.4.1. I was getting
some odd 'JVM has quit' error messages so I updated the
Surefire/Failsafe Maven plugins from 2.20.1 to 2.21.0 and that seems to
fix it. The Histogram class from LMAX has been removed so I copied it
into our test code base, it is licensed under the Apache 2.0 license.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/46304114
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/46304114
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/46304114

Branch: refs/heads/release-2.x
Commit: 4630411471e35a4f2f87087bd1c78a5809cbd792
Parents: 4b78494
Author: Gary Gregory 
Authored: Mon Apr 9 17:06:28 2018 -0600
Committer: Gary Gregory 
Committed: Mon Apr 9 17:06:28 2018 -0600

--
 .../core/async/perftest/AbstractRunQueue.java   |   2 -
 .../log4j/core/async/perftest/Histogram.java| 390 +++
 .../core/async/perftest/IPerfTestRunner.java|   2 -
 .../async/perftest/MultiThreadPerfTest.java |   2 -
 .../log4j/core/async/perftest/PerfTest.java |   2 -
 .../log4j/core/async/perftest/RunLog4j1.java|   2 -
 .../log4j/core/async/perftest/RunLog4j2.java|   1 -
 .../log4j/core/async/perftest/RunLogback.java   |   2 -
 pom.xml |   6 +-
 src/changes/changes.xml |   3 +
 10 files changed, 396 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/46304114/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/AbstractRunQueue.java
--
diff --git 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/AbstractRunQueue.java
 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/AbstractRunQueue.java
index 82d6065..7ba9412 100644
--- 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/AbstractRunQueue.java
+++ 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/AbstractRunQueue.java
@@ -21,8 +21,6 @@ import java.util.concurrent.BlockingQueue;
 
 import 
org.apache.logging.log4j.core.async.perftest.ResponseTimeTest.PrintingAsyncQueueFullPolicy;
 
-import com.lmax.disruptor.collections.Histogram;
-
 public abstract class AbstractRunQueue implements IPerfTestRunner {
 
 abstract BlockingQueue createQueue(int capacity);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/46304114/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/Histogram.java
--
diff --git 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/Histogram.java
 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/Histogram.java
new file mode 100644
index 000..bf0823b
--- /dev/null
+++ 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/Histogram.java
@@ -0,0 +1,390 @@
+/*
+ * Copyright 2011 LMAX Ltd.
+ *
+ * Licensed 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.core.async.perftest;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.Arrays;
+
+/**
+ * Histogram for tracking the frequency of observations of values below 
interval upper bounds.
+ *
+ * This class is useful for recording timings across a large number of 
observations
+ * when high performance is required.
+ *
+ * The interval bounds are used to define the ranges of the histogram 
buckets. If provided bounds
+ * are [10,20,30,40,50] then there will be five buckets, accessible by index 
0-4. Any value
+ * 0-10 will fall into the first interval bar, values 11-20 will fall into the
+ * second bar, and so on.
+ */
+@Deprecated
+public final class Histogram
+{
+// tracks the upper intervals of each of the buckets/bars
+private final long[] upperBounds;
+// tracks the count of the corresponding bucket
+private final long[] counts;
+// minimum value so far observed
+private long minValue = Long.MAX_VALUE;
+//