You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@distributedlog.apache.org by si...@apache.org on 2016/12/27 17:08:46 UTC
incubator-distributedlog git commit: DL-133: Enable check style for
distributedlog-benchmark module
Repository: incubator-distributedlog
Updated Branches:
refs/heads/master 367335d5e -> 48d29356f
DL-133: Enable check style for distributedlog-benchmark module
Author: Xi Liu <xi...@gmail.com>
Reviewers: Sijie Guo <si...@apache.org>
Closes #90 from xiliuant/xi/checkstyle_benchmark
Project: http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/commit/48d29356
Tree: http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/tree/48d29356
Diff: http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/diff/48d29356
Branch: refs/heads/master
Commit: 48d29356f4406c66cb06653203625abf123f99bc
Parents: 367335d
Author: Xi Liu <xi...@gmail.com>
Authored: Tue Dec 27 09:09:13 2016 -0800
Committer: Sijie Guo <si...@twitter.com>
Committed: Tue Dec 27 09:09:13 2016 -0800
----------------------------------------------------------------------
distributedlog-benchmark/pom.xml | 34 +++++++++
.../distributedlog/benchmark/Benchmarker.java | 74 +++++++++++---------
.../benchmark/DLWriterWorker.java | 21 +++---
.../distributedlog/benchmark/ReaderWorker.java | 27 +++----
.../twitter/distributedlog/benchmark/Utils.java | 12 ++--
.../distributedlog/benchmark/Worker.java | 3 +
.../distributedlog/benchmark/WriterWorker.java | 26 +++----
.../distributedlog/benchmark/package-info.java | 21 ++++++
.../stream/AbstractReaderBenchmark.java | 11 +--
.../benchmark/stream/AsyncReaderBenchmark.java | 11 ++-
.../benchmark/stream/LedgerBatchReader.java | 7 +-
.../benchmark/stream/LedgerReadBenchmark.java | 19 +++--
.../benchmark/stream/LedgerStreamReader.java | 11 ++-
.../benchmark/stream/ReadMode.java | 3 +
.../benchmark/stream/StreamBenchmark.java | 5 +-
.../benchmark/stream/SyncReaderBenchmark.java | 11 +--
.../benchmark/stream/package-info.java | 21 ++++++
.../benchmark/utils/ShiftableRateLimiter.java | 3 +-
.../benchmark/utils/package-info.java | 21 ++++++
19 files changed, 229 insertions(+), 112 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/pom.xml
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/pom.xml b/distributedlog-benchmark/pom.xml
index 49eeed9..bb4d3b9 100644
--- a/distributedlog-benchmark/pom.xml
+++ b/distributedlog-benchmark/pom.xml
@@ -112,6 +112,40 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <version>2.17</version>
+ <dependencies>
+ <dependency>
+ <groupId>com.puppycrawl.tools</groupId>
+ <artifactId>checkstyle</artifactId>
+ <version>6.19</version>
+ </dependency>
+ <dependency>
+ <groupId>com.twitter</groupId>
+ <artifactId>distributedlog-build-tools</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <configLocation>distributedlog/checkstyle.xml</configLocation>
+ <suppressionsLocation>distributedlog/suppressions.xml</suppressionsLocation>
+ <consoleOutput>true</consoleOutput>
+ <failOnViolation>true</failOnViolation>
+ <includeResources>false</includeResources>
+ <includeTestSourceDirectory>true</includeTestSourceDirectory>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>test-compile</phase>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
</plugins>
</build>
<profiles>
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/Benchmarker.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/Benchmarker.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/Benchmarker.java
index ea5757d..87d3b53 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/Benchmarker.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/Benchmarker.java
@@ -17,11 +17,20 @@
*/
package com.twitter.distributedlog.benchmark;
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
+
import com.twitter.distributedlog.DistributedLogConfiguration;
import com.twitter.distributedlog.benchmark.utils.ShiftableRateLimiter;
import com.twitter.finagle.stats.OstrichStatsReceiver;
import com.twitter.finagle.stats.StatsReceiver;
+import java.io.File;
+import java.io.IOException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
import org.apache.bookkeeper.stats.NullStatsProvider;
import org.apache.bookkeeper.stats.StatsLogger;
import org.apache.bookkeeper.stats.StatsProvider;
@@ -34,19 +43,14 @@ import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
+/**
+ * The launcher for benchmarks.
+ */
public class Benchmarker {
- static final Logger logger = LoggerFactory.getLogger(Benchmarker.class);
+ private static final Logger logger = LoggerFactory.getLogger(Benchmarker.class);
- final static String USAGE = "Benchmarker [-u <uri>] [-c <conf>] [-s serverset] [-m (read|write|dlwrite)]";
+ static final String USAGE = "Benchmarker [-u <uri>] [-c <conf>] [-s serverset] [-m (read|write|dlwrite)]";
final String[] args;
final Options options = new Options();
@@ -184,7 +188,7 @@ public class Benchmarker {
}
if (cmdline.hasOption("bs")) {
batchSize = Integer.parseInt(cmdline.getOptionValue("bs"));
- Preconditions.checkArgument("write" != mode, "batchSize supported only for mode=write");
+ checkArgument("write" != mode, "batchSize supported only for mode=write");
}
if (cmdline.hasOption("c")) {
String configFile = cmdline.getOptionValue("c");
@@ -228,12 +232,12 @@ public class Benchmarker {
batchFlushIntervalMicros = Integer.parseInt(cmdline.getOptionValue("bfi"));
}
- Preconditions.checkArgument(shardId >= 0, "shardId must be >= 0");
- Preconditions.checkArgument(numStreams > 0, "numStreams must be > 0");
- Preconditions.checkArgument(durationMins > 0, "durationMins must be > 0");
- Preconditions.checkArgument(streamPrefix != null, "streamPrefix must be defined");
- Preconditions.checkArgument(hostConnectionCoreSize > 0, "host connection core size must be > 0");
- Preconditions.checkArgument(hostConnectionLimit > 0, "host connection limit must be > 0");
+ checkArgument(shardId >= 0, "shardId must be >= 0");
+ checkArgument(numStreams > 0, "numStreams must be > 0");
+ checkArgument(durationMins > 0, "durationMins must be > 0");
+ checkArgument(streamPrefix != null, "streamPrefix must be defined");
+ checkArgument(hostConnectionCoreSize > 0, "host connection core size must be > 0");
+ checkArgument(hostConnectionLimit > 0, "host connection limit must be > 0");
if (cmdline.hasOption("p")) {
statsProvider = ReflectionUtils.newInstance(cmdline.getOptionValue("p"), StatsProvider.class);
@@ -275,14 +279,14 @@ public class Benchmarker {
}
Worker runWriter() {
- Preconditions.checkArgument(!finagleNames.isEmpty() || !serversetPaths.isEmpty() || null != dlUri,
+ checkArgument(!finagleNames.isEmpty() || !serversetPaths.isEmpty() || null != dlUri,
"either serverset paths, finagle-names or uri required");
- Preconditions.checkArgument(msgSize > 0, "messagesize must be greater than 0");
- Preconditions.checkArgument(rate > 0, "rate must be greater than 0");
- Preconditions.checkArgument(maxRate >= rate, "max rate must be greater than rate");
- Preconditions.checkArgument(changeRate >= 0, "change rate must be positive");
- Preconditions.checkArgument(changeRateSeconds >= 0, "change rate must be positive");
- Preconditions.checkArgument(concurrency > 0, "concurrency must be greater than 0");
+ checkArgument(msgSize > 0, "messagesize must be greater than 0");
+ checkArgument(rate > 0, "rate must be greater than 0");
+ checkArgument(maxRate >= rate, "max rate must be greater than rate");
+ checkArgument(changeRate >= 0, "change rate must be positive");
+ checkArgument(changeRateSeconds >= 0, "change rate must be positive");
+ checkArgument(concurrency > 0, "concurrency must be greater than 0");
ShiftableRateLimiter rateLimiter =
new ShiftableRateLimiter(rate, maxRate, changeRate, changeRateSeconds, TimeUnit.SECONDS);
@@ -357,12 +361,12 @@ public class Benchmarker {
}
Worker runDLWriter() throws IOException {
- Preconditions.checkNotNull(dlUri, "dlUri must be defined");
- Preconditions.checkArgument(rate > 0, "rate must be greater than 0");
- Preconditions.checkArgument(maxRate >= rate, "max rate must be greater than rate");
- Preconditions.checkArgument(changeRate >= 0, "change rate must be positive");
- Preconditions.checkArgument(changeRateSeconds >= 0, "change rate must be positive");
- Preconditions.checkArgument(concurrency > 0, "concurrency must be greater than 0");
+ checkNotNull(dlUri, "dlUri must be defined");
+ checkArgument(rate > 0, "rate must be greater than 0");
+ checkArgument(maxRate >= rate, "max rate must be greater than rate");
+ checkArgument(changeRate >= 0, "change rate must be positive");
+ checkArgument(changeRateSeconds >= 0, "change rate must be positive");
+ checkArgument(concurrency > 0, "concurrency must be greater than 0");
ShiftableRateLimiter rateLimiter =
new ShiftableRateLimiter(rate, maxRate, changeRate, changeRateSeconds, TimeUnit.SECONDS);
@@ -379,10 +383,10 @@ public class Benchmarker {
}
Worker runReader() throws IOException {
- Preconditions.checkArgument(!finagleNames.isEmpty() || !serversetPaths.isEmpty() || null != dlUri,
+ checkArgument(!finagleNames.isEmpty() || !serversetPaths.isEmpty() || null != dlUri,
"either serverset paths, finagle-names or dlUri required");
- Preconditions.checkArgument(concurrency > 0, "concurrency must be greater than 0");
- Preconditions.checkArgument(truncationInterval > 0, "truncation interval should be greater than 0");
+ checkArgument(concurrency > 0, "concurrency must be greater than 0");
+ checkArgument(truncationInterval > 0, "truncation interval should be greater than 0");
return runReaderInternal(serversetPaths, finagleNames, truncationInterval);
}
@@ -393,7 +397,7 @@ public class Benchmarker {
private Worker runReaderInternal(List<String> serversetPaths,
List<String> finagleNames,
int truncationInterval) throws IOException {
- Preconditions.checkNotNull(dlUri);
+ checkNotNull(dlUri);
int ssid = null == startStreamId ? shardId * numStreams : startStreamId;
int esid = null == endStreamId ? (shardId + readersPerStream) * numStreams : endStreamId;
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/DLWriterWorker.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/DLWriterWorker.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/DLWriterWorker.java
index 7a33cf4..152cd32 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/DLWriterWorker.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/DLWriterWorker.java
@@ -17,7 +17,8 @@
*/
package com.twitter.distributedlog.benchmark;
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkArgument;
+
import com.twitter.distributedlog.AsyncLogWriter;
import com.twitter.distributedlog.DLSN;
import com.twitter.distributedlog.DistributedLogConfiguration;
@@ -29,12 +30,6 @@ import com.twitter.distributedlog.namespace.DistributedLogNamespaceBuilder;
import com.twitter.distributedlog.util.FutureUtils;
import com.twitter.distributedlog.util.SchedulerUtils;
import com.twitter.util.FutureEventListener;
-import org.apache.bookkeeper.stats.OpStatsLogger;
-import org.apache.bookkeeper.stats.StatsLogger;
-import org.apache.thrift.TException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.io.IOException;
import java.net.URI;
import java.util.ArrayList;
@@ -47,10 +42,18 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
+import org.apache.bookkeeper.stats.OpStatsLogger;
+import org.apache.bookkeeper.stats.StatsLogger;
+import org.apache.thrift.TException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+/**
+ * The benchmark for core library writer.
+ */
public class DLWriterWorker implements Worker {
- static final Logger LOG = LoggerFactory.getLogger(DLWriterWorker.class);
+ private static final Logger LOG = LoggerFactory.getLogger(DLWriterWorker.class);
static final int BACKOFF_MS = 200;
@@ -82,7 +85,7 @@ public class DLWriterWorker implements Worker {
int writeConcurrency,
int messageSizeBytes,
StatsLogger statsLogger) throws IOException {
- Preconditions.checkArgument(startStreamId <= endStreamId);
+ checkArgument(startStreamId <= endStreamId);
this.streamPrefix = streamPrefix;
this.startStreamId = startStreamId;
this.endStreamId = endStreamId;
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/ReaderWorker.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/ReaderWorker.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/ReaderWorker.java
index 62cd78f..91f36cd 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/ReaderWorker.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/ReaderWorker.java
@@ -17,7 +17,8 @@
*/
package com.twitter.distributedlog.benchmark;
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkArgument;
+
import com.google.common.base.Stopwatch;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.twitter.common.zookeeper.ServerSet;
@@ -44,14 +45,6 @@ import com.twitter.util.Function;
import com.twitter.util.Future;
import com.twitter.util.FutureEventListener;
import com.twitter.util.Promise;
-import org.apache.bookkeeper.stats.Counter;
-import org.apache.bookkeeper.stats.Gauge;
-import org.apache.bookkeeper.stats.OpStatsLogger;
-import org.apache.bookkeeper.stats.StatsLogger;
-import org.apache.thrift.TException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.io.IOException;
import java.net.URI;
import java.util.List;
@@ -60,10 +53,20 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
+import org.apache.bookkeeper.stats.Counter;
+import org.apache.bookkeeper.stats.Gauge;
+import org.apache.bookkeeper.stats.OpStatsLogger;
+import org.apache.bookkeeper.stats.StatsLogger;
+import org.apache.thrift.TException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+/**
+ * The benchmark for core library reader.
+ */
public class ReaderWorker implements Worker {
- static final Logger LOG = LoggerFactory.getLogger(ReaderWorker.class);
+ private static final Logger LOG = LoggerFactory.getLogger(ReaderWorker.class);
static final int BACKOFF_MS = 200;
@@ -229,7 +232,7 @@ public class ReaderWorker implements Worker {
boolean readFromHead, /* read from the earliest data of log */
StatsReceiver statsReceiver,
StatsLogger statsLogger) throws IOException {
- Preconditions.checkArgument(startStreamId <= endStreamId);
+ checkArgument(startStreamId <= endStreamId);
this.streamPrefix = streamPrefix;
this.startStreamId = startStreamId;
this.endStreamId = endStreamId;
@@ -281,7 +284,7 @@ public class ReaderWorker implements Worker {
ServerSet local = this.serverSets[0].getServerSet();
ServerSet[] remotes = new ServerSet[this.serverSets.length - 1];
for (int i = 1; i < serverSets.length; i++) {
- remotes[i-1] = serverSets[i].getServerSet();
+ remotes[i - 1] = serverSets[i].getServerSet();
}
builder = builder.serverSets(local, remotes);
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/Utils.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/Utils.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/Utils.java
index 8456a2d..f5c32db 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/Utils.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/Utils.java
@@ -18,17 +18,19 @@
package com.twitter.distributedlog.benchmark;
import com.twitter.distributedlog.benchmark.thrift.Message;
+import java.nio.ByteBuffer;
+import java.util.Random;
import org.apache.thrift.TException;
import org.apache.thrift.TSerializer;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.transport.TMemoryInputTransport;
-import java.nio.ByteBuffer;
-import java.util.Random;
-
+/**
+ * Utils for generating and parsing messages.
+ */
public class Utils {
- static final Random random = new Random(System.currentTimeMillis());
+ static final Random RAND = new Random(System.currentTimeMillis());
static final ThreadLocal<TSerializer> MSG_SERIALIZER =
new ThreadLocal<TSerializer>() {
@Override
@@ -39,7 +41,7 @@ public class Utils {
public static byte[] generateMessage(long requestMillis, int payLoadSize) throws TException {
byte[] payload = new byte[payLoadSize];
- random.nextBytes(payload);
+ RAND.nextBytes(payload);
Message msg = new Message(requestMillis, ByteBuffer.wrap(payload));
return MSG_SERIALIZER.get().serialize(msg);
}
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/Worker.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/Worker.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/Worker.java
index 0492a03..6c60034 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/Worker.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/Worker.java
@@ -19,5 +19,8 @@ package com.twitter.distributedlog.benchmark;
import java.io.Closeable;
+/**
+ * Worker to run benchmark.
+ */
public interface Worker extends Closeable, Runnable {
}
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/WriterWorker.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/WriterWorker.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/WriterWorker.java
index a587375..46229b3 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/WriterWorker.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/WriterWorker.java
@@ -17,7 +17,8 @@
*/
package com.twitter.distributedlog.benchmark;
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkArgument;
+
import com.twitter.common.zookeeper.ServerSet;
import com.twitter.distributedlog.DLSN;
import com.twitter.distributedlog.benchmark.utils.ShiftableRateLimiter;
@@ -30,17 +31,11 @@ import com.twitter.distributedlog.service.DistributedLogClientBuilder;
import com.twitter.distributedlog.util.SchedulerUtils;
import com.twitter.finagle.builder.ClientBuilder;
import com.twitter.finagle.stats.StatsReceiver;
-import com.twitter.finagle.thrift.ClientId$;
import com.twitter.finagle.thrift.ClientId;
+import com.twitter.finagle.thrift.ClientId$;
import com.twitter.util.Duration$;
import com.twitter.util.Future;
import com.twitter.util.FutureEventListener;
-import org.apache.bookkeeper.stats.OpStatsLogger;
-import org.apache.bookkeeper.stats.StatsLogger;
-import org.apache.thrift.TException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.io.IOException;
import java.net.URI;
import java.nio.ByteBuffer;
@@ -49,9 +44,16 @@ import java.util.List;
import java.util.Random;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
+import org.apache.bookkeeper.stats.OpStatsLogger;
+import org.apache.bookkeeper.stats.StatsLogger;
+import org.apache.thrift.TException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+/**
+ * Benchmark for distributedlog proxy client.
+ */
public class WriterWorker implements Worker {
static final Logger LOG = LoggerFactory.getLogger(WriterWorker.class);
@@ -112,8 +114,8 @@ public class WriterWorker implements Worker {
boolean enableBatching,
int batchBufferSize,
int batchFlushIntervalMicros) {
- Preconditions.checkArgument(startStreamId <= endStreamId);
- Preconditions.checkArgument(!finagleNames.isEmpty() || !serverSetPaths.isEmpty());
+ checkArgument(startStreamId <= endStreamId);
+ checkArgument(!finagleNames.isEmpty() || !serverSetPaths.isEmpty());
this.streamPrefix = streamPrefix;
this.dlUri = uri;
this.startStreamId = startStreamId;
@@ -207,7 +209,7 @@ public class WriterWorker implements Worker {
ServerSet local = serverSets[0].getServerSet();
ServerSet[] remotes = new ServerSet[serverSets.length - 1];
for (int i = 1; i < serverSets.length; i++) {
- remotes[i-1] = serverSets[i].getServerSet();
+ remotes[i - 1] = serverSets[i].getServerSet();
}
builder = builder.serverSets(local, remotes);
} else {
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/package-info.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/package-info.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/package-info.java
new file mode 100644
index 0000000..052a661
--- /dev/null
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/package-info.java
@@ -0,0 +1,21 @@
+/**
+ * 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.
+ */
+/**
+ * Benchmarks for distributedlog.
+ */
+package com.twitter.distributedlog.benchmark;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/AbstractReaderBenchmark.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/AbstractReaderBenchmark.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/AbstractReaderBenchmark.java
index 1fd9151..4d436ee 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/AbstractReaderBenchmark.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/AbstractReaderBenchmark.java
@@ -24,7 +24,7 @@ import org.slf4j.LoggerFactory;
abstract class AbstractReaderBenchmark extends StreamBenchmark {
- protected static final Logger logger = LoggerFactory.getLogger(SyncReaderBenchmark.class);
+ private static final Logger logger = LoggerFactory.getLogger(SyncReaderBenchmark.class);
protected ReadMode readMode = ReadMode.LATEST;
protected long fromTxId = DistributedLogConstants.INVALID_TXID;
@@ -32,9 +32,12 @@ abstract class AbstractReaderBenchmark extends StreamBenchmark {
protected int batchSize = 1;
protected AbstractReaderBenchmark() {
- options.addOption("t", "tx-id", true, "Transaction ID to start read from when reading in mode 'position'");
- options.addOption("r", "rewind", true, "Time to rewind back to read from when reading in mode 'rewind' (in milliseconds)");
- options.addOption("m", "mode", true, "Read Mode : [oldest, latest, rewind, position]");
+ options.addOption("t", "tx-id", true,
+ "Transaction ID to start read from when reading in mode 'position'");
+ options.addOption("r", "rewind", true,
+ "Time to rewind back to read from when reading in mode 'rewind' (in milliseconds)");
+ options.addOption("m", "mode", true,
+ "Read Mode : [oldest, latest, rewind, position]");
options.addOption("b", "batch-size", true, "Read batch size");
}
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/AsyncReaderBenchmark.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/AsyncReaderBenchmark.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/AsyncReaderBenchmark.java
index 5c18705..86acdb6 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/AsyncReaderBenchmark.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/AsyncReaderBenchmark.java
@@ -24,22 +24,21 @@ import com.twitter.distributedlog.DistributedLogManager;
import com.twitter.distributedlog.LogRecordWithDLSN;
import com.twitter.distributedlog.namespace.DistributedLogNamespace;
import com.twitter.distributedlog.util.FutureUtils;
+import java.io.IOException;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
import org.apache.bookkeeper.stats.Counter;
import org.apache.bookkeeper.stats.OpStatsLogger;
import org.apache.bookkeeper.stats.StatsLogger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
/**
- * Benchmark on {@link com.twitter.distributedlog.AsyncLogReader} reading from a stream
+ * Benchmark on {@link com.twitter.distributedlog.AsyncLogReader} reading from a stream.
*/
public class AsyncReaderBenchmark extends AbstractReaderBenchmark {
- static final Logger logger = LoggerFactory.getLogger(AsyncReaderBenchmark.class);
+ private static final Logger logger = LoggerFactory.getLogger(AsyncReaderBenchmark.class);
@Override
protected void benchmark(DistributedLogNamespace namespace, String logName, StatsLogger statsLogger) {
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/LedgerBatchReader.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/LedgerBatchReader.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/LedgerBatchReader.java
index d58c9dc..6a11469 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/LedgerBatchReader.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/LedgerBatchReader.java
@@ -17,6 +17,7 @@
*/
package com.twitter.distributedlog.benchmark.stream;
+import java.util.Enumeration;
import org.apache.bookkeeper.client.BKException;
import org.apache.bookkeeper.client.LedgerEntry;
import org.apache.bookkeeper.client.LedgerHandle;
@@ -24,14 +25,12 @@ import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ReadEntryListener
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Enumeration;
-
/**
- * Read ledgers in batches
+ * Read ledgers in batches.
*/
public class LedgerBatchReader implements Runnable {
- static final Logger logger = LoggerFactory.getLogger(LedgerBatchReader.class);
+ private static final Logger logger = LoggerFactory.getLogger(LedgerBatchReader.class);
private final LedgerHandle lh;
private final ReadEntryListener readEntryListener;
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/LedgerReadBenchmark.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/LedgerReadBenchmark.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/LedgerReadBenchmark.java
index 0daffd5..d5ef5b2 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/LedgerReadBenchmark.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/LedgerReadBenchmark.java
@@ -17,6 +17,8 @@
*/
package com.twitter.distributedlog.benchmark.stream;
+import static com.google.common.base.Charsets.UTF_8;
+
import com.google.common.base.Stopwatch;
import com.twitter.distributedlog.BookKeeperClientBuilder;
import com.twitter.distributedlog.DistributedLogManager;
@@ -25,6 +27,9 @@ import com.twitter.distributedlog.ZooKeeperClient;
import com.twitter.distributedlog.ZooKeeperClientBuilder;
import com.twitter.distributedlog.metadata.BKDLConfig;
import com.twitter.distributedlog.namespace.DistributedLogNamespace;
+import java.io.IOException;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
import org.apache.bookkeeper.client.BookKeeper;
import org.apache.bookkeeper.client.LedgerEntry;
import org.apache.bookkeeper.client.LedgerHandle;
@@ -34,18 +39,12 @@ import org.apache.bookkeeper.stats.StatsLogger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-import static com.google.common.base.Charsets.UTF_8;
-
/**
- * Benchmark ledger reading
+ * Benchmark ledger reading.
*/
public class LedgerReadBenchmark extends AbstractReaderBenchmark {
- static final Logger logger = LoggerFactory.getLogger(AsyncReaderBenchmark.class);
+ private static final Logger logger = LoggerFactory.getLogger(AsyncReaderBenchmark.class);
@Override
protected void benchmark(DistributedLogNamespace namespace, String logName, StatsLogger statsLogger) {
@@ -123,7 +122,7 @@ public class LedgerReadBenchmark extends AbstractReaderBenchmark {
LedgerHandle lh = bk.openLedgerNoRecovery(
lid, BookKeeper.DigestType.CRC32, conf.getBKDigestPW().getBytes(UTF_8));
logger.info("It took {} ms to open log segment {}",
- new Object[] { stopwatch.elapsed(TimeUnit.MILLISECONDS), (lh.getLastAddConfirmed() + 1), segment });
+ new Object[] { stopwatch.elapsed(TimeUnit.MILLISECONDS), (lh.getLastAddConfirmed() + 1), segment });
stopwatch.reset().start();
Runnable reader;
if (streamRead) {
@@ -143,7 +142,7 @@ public class LedgerReadBenchmark extends AbstractReaderBenchmark {
}
reader.run();
logger.info("It took {} ms to complete reading {} entries from log segment {}",
- new Object[] { stopwatch.elapsed(TimeUnit.MILLISECONDS), (lh.getLastAddConfirmed() + 1), segment });
+ new Object[] { stopwatch.elapsed(TimeUnit.MILLISECONDS), (lh.getLastAddConfirmed() + 1), segment });
}
} catch (Exception e) {
logger.error("Error on reading bk ", e);
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/LedgerStreamReader.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/LedgerStreamReader.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/LedgerStreamReader.java
index 07af32d..e542af7 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/LedgerStreamReader.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/LedgerStreamReader.java
@@ -17,6 +17,10 @@
*/
package com.twitter.distributedlog.benchmark.stream;
+import java.util.Enumeration;
+import java.util.concurrent.ConcurrentLinkedQueue;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.atomic.AtomicLong;
import org.apache.bookkeeper.client.AsyncCallback;
import org.apache.bookkeeper.client.BKException;
import org.apache.bookkeeper.client.LedgerEntry;
@@ -25,17 +29,12 @@ import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ReadEntryListener
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Enumeration;
-import java.util.concurrent.ConcurrentLinkedQueue;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.atomic.AtomicLong;
-
/**
* Reading ledger in a streaming way.
*/
public class LedgerStreamReader implements Runnable {
- static final Logger logger = LoggerFactory.getLogger(LedgerStreamReader.class);
+ private static final Logger logger = LoggerFactory.getLogger(LedgerStreamReader.class);
class PendingReadRequest implements AsyncCallback.ReadCallback {
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/ReadMode.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/ReadMode.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/ReadMode.java
index a861647..280c9db 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/ReadMode.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/ReadMode.java
@@ -17,6 +17,9 @@
*/
package com.twitter.distributedlog.benchmark.stream;
+/**
+ * The read mode for streaming read benchmark.
+ */
public enum ReadMode {
OLDEST,
LATEST,
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/StreamBenchmark.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/StreamBenchmark.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/StreamBenchmark.java
index 89d64bb..1eff65a 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/StreamBenchmark.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/StreamBenchmark.java
@@ -20,6 +20,8 @@ package com.twitter.distributedlog.benchmark.stream;
import com.twitter.distributedlog.DistributedLogConfiguration;
import com.twitter.distributedlog.namespace.DistributedLogNamespace;
import com.twitter.distributedlog.namespace.DistributedLogNamespaceBuilder;
+import java.io.File;
+import java.net.URI;
import org.apache.bookkeeper.stats.NullStatsProvider;
import org.apache.bookkeeper.stats.StatsLogger;
import org.apache.bookkeeper.stats.StatsProvider;
@@ -31,9 +33,6 @@ import org.apache.commons.cli.Options;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.File;
-import java.net.URI;
-
/**
* Benchmark Streams.
*/
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/SyncReaderBenchmark.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/SyncReaderBenchmark.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/SyncReaderBenchmark.java
index 88755e2..3d5bd73 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/SyncReaderBenchmark.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/SyncReaderBenchmark.java
@@ -22,18 +22,21 @@ import com.twitter.distributedlog.DistributedLogManager;
import com.twitter.distributedlog.LogReader;
import com.twitter.distributedlog.LogRecord;
import com.twitter.distributedlog.namespace.DistributedLogNamespace;
+import java.io.IOException;
+import java.util.concurrent.TimeUnit;
import org.apache.bookkeeper.stats.Counter;
import org.apache.bookkeeper.stats.OpStatsLogger;
import org.apache.bookkeeper.stats.StatsLogger;
-
-import java.io.IOException;
-import java.util.concurrent.TimeUnit;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
- * Benchmark on {@link com.twitter.distributedlog.LogReader} reading from a stream
+ * Benchmark on {@link com.twitter.distributedlog.LogReader} reading from a stream.
*/
public class SyncReaderBenchmark extends AbstractReaderBenchmark {
+ private static final Logger logger = LoggerFactory.getLogger(SyncReaderBenchmark.class);
+
public SyncReaderBenchmark() {}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/package-info.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/package-info.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/package-info.java
new file mode 100644
index 0000000..d8e198c
--- /dev/null
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/stream/package-info.java
@@ -0,0 +1,21 @@
+/**
+ * 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.
+ */
+/**
+ * Stream level benchmarks.
+ */
+package com.twitter.distributedlog.benchmark.stream;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/utils/ShiftableRateLimiter.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/utils/ShiftableRateLimiter.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/utils/ShiftableRateLimiter.java
index ba51e81..def0346 100644
--- a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/utils/ShiftableRateLimiter.java
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/utils/ShiftableRateLimiter.java
@@ -18,13 +18,12 @@
package com.twitter.distributedlog.benchmark.utils;
import com.google.common.util.concurrent.RateLimiter;
-
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
/**
- * A wrapper over rate limiter
+ * A wrapper over rate limiter.
*/
public class ShiftableRateLimiter implements Runnable {
http://git-wip-us.apache.org/repos/asf/incubator-distributedlog/blob/48d29356/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/utils/package-info.java
----------------------------------------------------------------------
diff --git a/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/utils/package-info.java b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/utils/package-info.java
new file mode 100644
index 0000000..369b979
--- /dev/null
+++ b/distributedlog-benchmark/src/main/java/com/twitter/distributedlog/benchmark/utils/package-info.java
@@ -0,0 +1,21 @@
+/**
+ * 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.
+ */
+/**
+ * Utils for benchmarking.
+ */
+package com.twitter.distributedlog.benchmark.utils;
\ No newline at end of file