You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by bi...@apache.org on 2015/02/20 19:55:28 UTC
accumulo git commit: ACCUMULO-3528 upgrade htrace dependency to
o.a.htrace 3.1.0-incubating
Repository: accumulo
Updated Branches:
refs/heads/master 50d351201 -> 7e659af1a
ACCUMULO-3528 upgrade htrace dependency to o.a.htrace 3.1.0-incubating
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/7e659af1
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/7e659af1
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/7e659af1
Branch: refs/heads/master
Commit: 7e659af1ac439031a435c26a288efdda3950ea3e
Parents: 50d3512
Author: Billie Rinaldi <bi...@gmail.com>
Authored: Tue Feb 17 11:51:24 2015 -0800
Committer: Billie Rinaldi <bi...@gmail.com>
Committed: Fri Feb 20 10:53:37 2015 -0800
----------------------------------------------------------------------
assemble/pom.xml | 8 +-
assemble/src/main/assemblies/component.xml | 2 +-
core/pom.xml | 8 +-
.../impl/TabletServerBatchReaderIterator.java | 2 +-
.../accumulo/core/trace/CountSampler.java | 8 +-
.../accumulo/core/trace/DistributedTrace.java | 40 ++-----
.../org/apache/accumulo/core/trace/Span.java | 21 ++--
.../org/apache/accumulo/core/trace/Trace.java | 28 ++---
.../org/apache/accumulo/core/trace/Tracer.java | 4 +-
.../core/trace/wrappers/TraceCallable.java | 69 ------------
.../trace/wrappers/TraceExecutorService.java | 110 -------------------
.../core/trace/wrappers/TraceRunnable.java | 79 -------------
examples/simple/pom.xml | 4 +
.../examples/simple/client/TracingExample.java | 6 +-
pom.xml | 12 +-
server/base/pom.xml | 4 +
.../accumulo/server/client/BulkImporter.java | 2 +-
server/master/pom.xml | 4 +
.../accumulo/master/tableOps/BulkImport.java | 2 +-
server/tracer/pom.xml | 8 +-
.../accumulo/tracer/AsyncSpanReceiver.java | 41 ++++---
.../accumulo/tracer/SendSpansViaThrift.java | 10 +-
.../org/apache/accumulo/tracer/SpanTree.java | 2 +-
.../org/apache/accumulo/tracer/TraceDump.java | 2 +-
.../org/apache/accumulo/tracer/TraceServer.java | 2 +-
.../apache/accumulo/tracer/ZooTraceClient.java | 33 +++---
.../org/apache/accumulo/tracer/TracerTest.java | 21 ++--
server/tserver/pom.xml | 4 +
.../accumulo/tserver/CompactionQueue.java | 30 +++--
.../tserver/TabletServerResourceManager.java | 2 +-
trace/pom.xml | 2 +-
.../accumulo/trace/instrument/CountSampler.java | 8 +-
.../accumulo/trace/instrument/Sampler.java | 2 +-
.../apache/accumulo/trace/instrument/Span.java | 6 +-
.../apache/accumulo/trace/instrument/Trace.java | 6 +-
35 files changed, 175 insertions(+), 417 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/assemble/pom.xml
----------------------------------------------------------------------
diff --git a/assemble/pom.xml b/assemble/pom.xml
index 388a956..2a7156b 100644
--- a/assemble/pom.xml
+++ b/assemble/pom.xml
@@ -129,6 +129,10 @@
<artifactId>commons-vfs2</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.htrace</groupId>
+ <artifactId>htrace-core</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
</dependency>
@@ -157,10 +161,6 @@
<artifactId>jetty-util</artifactId>
</dependency>
<dependency>
- <groupId>org.htrace</groupId>
- <artifactId>htrace-core</artifactId>
- </dependency>
- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/assemble/src/main/assemblies/component.xml
----------------------------------------------------------------------
diff --git a/assemble/src/main/assemblies/component.xml b/assemble/src/main/assemblies/component.xml
index 8dfce4d..a48023e 100644
--- a/assemble/src/main/assemblies/component.xml
+++ b/assemble/src/main/assemblies/component.xml
@@ -42,7 +42,7 @@
<include>org.eclipse.jetty:jetty-server</include>
<include>org.eclipse.jetty:jetty-servlet</include>
<include>org.eclipse.jetty:jetty-util</include>
- <include>org.htrace:htrace-core</include>
+ <include>org.apache.htrace:htrace-core</include>
<include>org.slf4j:slf4j-api</include>
<include>org.slf4j:slf4j-log4j12</include>
</includes>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index 67b486e..a736a3d 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -96,6 +96,10 @@
<artifactId>hadoop-client</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.htrace</groupId>
+ <artifactId>htrace-core</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
</dependency>
@@ -104,10 +108,6 @@
<artifactId>zookeeper</artifactId>
</dependency>
<dependency>
- <groupId>org.htrace</groupId>
- <artifactId>htrace-core</artifactId>
- </dependency>
- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java b/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
index b1966b7..61f6d15 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
@@ -59,10 +59,10 @@ import org.apache.accumulo.core.security.Authorizations;
import org.apache.accumulo.core.tabletserver.thrift.NoSuchScanIDException;
import org.apache.accumulo.core.tabletserver.thrift.TabletClientService;
import org.apache.accumulo.core.trace.Tracer;
-import org.apache.accumulo.core.trace.wrappers.TraceRunnable;
import org.apache.accumulo.core.util.ByteBufferUtil;
import org.apache.accumulo.core.util.OpTimer;
import org.apache.hadoop.io.Text;
+import org.apache.htrace.wrappers.TraceRunnable;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.thrift.TApplicationException;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/core/src/main/java/org/apache/accumulo/core/trace/CountSampler.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/trace/CountSampler.java b/core/src/main/java/org/apache/accumulo/core/trace/CountSampler.java
index df1a02a..852fa9d 100644
--- a/core/src/main/java/org/apache/accumulo/core/trace/CountSampler.java
+++ b/core/src/main/java/org/apache/accumulo/core/trace/CountSampler.java
@@ -16,8 +16,12 @@
*/
package org.apache.accumulo.core.trace;
-public class CountSampler extends org.htrace.impl.CountSampler {
+import org.apache.htrace.HTraceConfiguration;
+
+import java.util.Collections;
+
+public class CountSampler extends org.apache.htrace.impl.CountSampler {
public CountSampler(long frequency) {
- super(frequency);
+ super(HTraceConfiguration.fromMap(Collections.singletonMap(CountSampler.SAMPLER_FREQUENCY_CONF_KEY, Long.toString(frequency))));
}
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/core/src/main/java/org/apache/accumulo/core/trace/DistributedTrace.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/trace/DistributedTrace.java b/core/src/main/java/org/apache/accumulo/core/trace/DistributedTrace.java
index ab81f30..9970415 100644
--- a/core/src/main/java/org/apache/accumulo/core/trace/DistributedTrace.java
+++ b/core/src/main/java/org/apache/accumulo/core/trace/DistributedTrace.java
@@ -28,12 +28,12 @@ import org.apache.accumulo.core.conf.AccumuloConfiguration;
import org.apache.accumulo.core.conf.Property;
import org.apache.accumulo.fate.zookeeper.ZooReader;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.util.ReflectionUtils;
import org.apache.hadoop.util.ShutdownHookManager;
+import org.apache.htrace.HTraceConfiguration;
+import org.apache.htrace.SpanReceiver;
+import org.apache.htrace.SpanReceiverBuilder;
import org.apache.log4j.Logger;
import org.apache.zookeeper.KeeperException;
-import org.htrace.HTraceConfiguration;
-import org.htrace.SpanReceiver;
/**
* Utility class to enable tracing for Accumulo server processes.
@@ -128,7 +128,7 @@ public class DistributedTrace {
if (service != null) {
setProperty(conf, TRACE_SERVICE_PROPERTY, service);
}
- org.htrace.Trace.setProcessId(service);
+ org.apache.htrace.Trace.setProcessId(service);
ShutdownHookManager.get().addShutdownHook(new Runnable() {
public void run() {
Trace.off();
@@ -156,36 +156,18 @@ public class DistributedTrace {
return;
}
for (String className : receiverNames) {
- try {
- implClass = Class.forName(className);
- receivers.add(loadInstance(implClass, conf));
+ SpanReceiverBuilder builder = new SpanReceiverBuilder(wrapHadoopConf(conf));
+ SpanReceiver rcvr = builder.spanReceiverClass(className.trim()).build();
+ if (rcvr == null) {
+ log.warn("Failed to load SpanReceiver " + className);
+ } else {
+ receivers.add(rcvr);
log.info("SpanReceiver " + className + " was loaded successfully.");
- } catch (ClassNotFoundException e) {
- log.warn("Class " + className + " cannot be found.", e);
- } catch (IOException e) {
- log.warn("Load SpanReceiver " + className + " failed.", e);
}
}
for (SpanReceiver rcvr : receivers) {
- org.htrace.Trace.addReceiver(rcvr);
- }
- }
-
- private static SpanReceiver loadInstance(Class<?> implClass, Configuration conf) throws IOException {
- SpanReceiver impl;
- try {
- Object o = ReflectionUtils.newInstance(implClass, conf);
- impl = (SpanReceiver) o;
- impl.configure(wrapHadoopConf(conf));
- } catch (SecurityException e) {
- throw new IOException(e);
- } catch (IllegalArgumentException e) {
- throw new IOException(e);
- } catch (RuntimeException e) {
- throw new IOException(e);
+ org.apache.htrace.Trace.addReceiver(rcvr);
}
-
- return impl;
}
private static void setProperty(Configuration conf, String key, String value) {
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/core/src/main/java/org/apache/accumulo/core/trace/Span.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/trace/Span.java b/core/src/main/java/org/apache/accumulo/core/trace/Span.java
index b72e6ee..702c9c1 100644
--- a/core/src/main/java/org/apache/accumulo/core/trace/Span.java
+++ b/core/src/main/java/org/apache/accumulo/core/trace/Span.java
@@ -16,29 +16,29 @@
*/
package org.apache.accumulo.core.trace;
+import org.apache.htrace.NullScope;
+import org.apache.htrace.TimelineAnnotation;
+import org.apache.htrace.TraceScope;
+
import static java.nio.charset.StandardCharsets.UTF_8;
import java.util.List;
import java.util.Map;
-import org.htrace.NullScope;
-import org.htrace.TimelineAnnotation;
-import org.htrace.TraceScope;
-
/**
* This is a wrapper for a TraceScope object, which is a wrapper for a Span and its parent. Not recommended for client use.
*/
-public class Span implements org.htrace.Span {
+public class Span implements org.apache.htrace.Span {
public static final Span NULL_SPAN = new Span(NullScope.INSTANCE);
private TraceScope scope = null;
- protected org.htrace.Span span = null;
+ protected org.apache.htrace.Span span = null;
public Span(TraceScope scope) {
this.scope = scope;
this.span = scope.getSpan();
}
- public Span(org.htrace.Span span) {
+ public Span(org.apache.htrace.Span span) {
this.span = span;
}
@@ -46,7 +46,7 @@ public class Span implements org.htrace.Span {
return scope;
}
- public org.htrace.Span getSpan() {
+ public org.apache.htrace.Span getSpan() {
return span;
}
@@ -141,6 +141,11 @@ public class Span implements org.htrace.Span {
}
@Override
+ public String toJson() {
+ return span.toJson();
+ }
+
+ @Override
public String toString() {
return span.toString();
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/core/src/main/java/org/apache/accumulo/core/trace/Trace.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/trace/Trace.java b/core/src/main/java/org/apache/accumulo/core/trace/Trace.java
index eba19ab..052c772 100644
--- a/core/src/main/java/org/apache/accumulo/core/trace/Trace.java
+++ b/core/src/main/java/org/apache/accumulo/core/trace/Trace.java
@@ -19,10 +19,10 @@ package org.apache.accumulo.core.trace;
import static java.nio.charset.StandardCharsets.UTF_8;
import org.apache.accumulo.core.trace.thrift.TInfo;
-import org.apache.accumulo.core.trace.wrappers.TraceRunnable;
-import org.htrace.Sampler;
-import org.htrace.TraceInfo;
-import org.htrace.wrappers.TraceProxy;
+import org.apache.htrace.Sampler;
+import org.apache.htrace.TraceInfo;
+import org.apache.htrace.wrappers.TraceProxy;
+import org.apache.htrace.wrappers.TraceRunnable;
/**
* Utility class for tracing within Accumulo. Not intended for client use!
@@ -40,17 +40,17 @@ public class Trace {
* Start a trace span with a given description with the given sampler.
*/
public static <T> Span on(String description, Sampler<T> sampler) {
- return new Span(org.htrace.Trace.startSpan(description, sampler));
+ return new Span(org.apache.htrace.Trace.startSpan(description, sampler));
}
/**
* Finish the current trace.
*/
public static void off() {
- org.htrace.Span span = org.htrace.Trace.currentSpan();
+ org.apache.htrace.Span span = org.apache.htrace.Trace.currentSpan();
if (span != null) {
span.stop();
- org.htrace.Tracer.getInstance().continueSpan(null);
+ org.apache.htrace.Tracer.getInstance().continueSpan(null);
}
}
@@ -66,7 +66,7 @@ public class Trace {
* Returns whether tracing is currently on.
*/
public static boolean isTracing() {
- return org.htrace.Trace.isTracing();
+ return org.apache.htrace.Trace.isTracing();
}
/**
@@ -76,21 +76,21 @@ public class Trace {
*/
@Deprecated
public static Span currentTrace() {
- return new Span(org.htrace.Trace.currentSpan());
+ return new Span(org.apache.htrace.Trace.currentSpan());
}
/**
* Get the trace id of the current span.
*/
public static long currentTraceId() {
- return org.htrace.Trace.currentSpan().getTraceId();
+ return org.apache.htrace.Trace.currentSpan().getTraceId();
}
/**
* Start a new span with a given name, if already tracing.
*/
public static Span start(String description) {
- return new Span(org.htrace.Trace.startSpan(description));
+ return new Span(org.apache.htrace.Trace.startSpan(description));
}
/**
@@ -101,14 +101,14 @@ public class Trace {
return Span.NULL_SPAN;
}
TraceInfo ti = new TraceInfo(info.traceId, info.parentId);
- return new Span(org.htrace.Trace.startSpan(description, ti));
+ return new Span(org.apache.htrace.Trace.startSpan(description, ti));
}
/**
* Add data to the current span.
*/
public static void data(String k, String v) {
- org.htrace.Span span = org.htrace.Trace.currentSpan();
+ org.apache.htrace.Span span = org.apache.htrace.Trace.currentSpan();
if (span != null)
span.addKVAnnotation(k.getBytes(UTF_8), v.getBytes(UTF_8));
}
@@ -118,7 +118,7 @@ public class Trace {
*/
public static Runnable wrap(Runnable runnable) {
if (isTracing()) {
- return new TraceRunnable(org.htrace.Trace.currentSpan(), runnable);
+ return new TraceRunnable(org.apache.htrace.Trace.currentSpan(), runnable);
} else {
return runnable;
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/core/src/main/java/org/apache/accumulo/core/trace/Tracer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/trace/Tracer.java b/core/src/main/java/org/apache/accumulo/core/trace/Tracer.java
index 1b42683..36895de 100644
--- a/core/src/main/java/org/apache/accumulo/core/trace/Tracer.java
+++ b/core/src/main/java/org/apache/accumulo/core/trace/Tracer.java
@@ -17,7 +17,7 @@
package org.apache.accumulo.core.trace;
import org.apache.accumulo.core.trace.thrift.TInfo;
-import org.htrace.Span;
+import org.apache.htrace.Span;
public class Tracer {
private static final TInfo DONT_TRACE = new TInfo(0, 0);
@@ -26,7 +26,7 @@ public class Tracer {
* Obtain {@link org.apache.accumulo.core.trace.thrift.TInfo} for the current span.
*/
public static TInfo traceInfo() {
- Span span = org.htrace.Trace.currentSpan();
+ Span span = org.apache.htrace.Trace.currentSpan();
if (span != null) {
return new TInfo(span.getTraceId(), span.getSpanId());
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/core/src/main/java/org/apache/accumulo/core/trace/wrappers/TraceCallable.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/trace/wrappers/TraceCallable.java b/core/src/main/java/org/apache/accumulo/core/trace/wrappers/TraceCallable.java
deleted file mode 100644
index f6a2841..0000000
--- a/core/src/main/java/org/apache/accumulo/core/trace/wrappers/TraceCallable.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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.accumulo.core.trace.wrappers;
-
-import java.util.concurrent.Callable;
-
-import org.htrace.Span;
-import org.htrace.Trace;
-import org.htrace.TraceScope;
-
-/**
- * Wrap a Callable with a Span that survives a change in threads.
- *
- */
-public class TraceCallable<V> implements Callable<V> {
- private final Callable<V> impl;
- private final Span parent;
- private final String description;
-
- TraceCallable(Callable<V> impl) {
- this(Trace.currentSpan(), impl);
- }
-
- TraceCallable(Span parent, Callable<V> impl) {
- this(parent, impl, null);
- }
-
- TraceCallable(Span parent, Callable<V> impl, String description) {
- this.impl = impl;
- this.parent = parent;
- this.description = description;
- }
-
- @Override
- public V call() throws Exception {
- if (parent != null) {
- TraceScope chunk = Trace.startSpan(getDescription(), parent);
- try {
- return impl.call();
- } finally {
- chunk.close();
- }
- } else {
- return impl.call();
- }
- }
-
- public Callable<V> getImpl() {
- return impl;
- }
-
- private String getDescription() {
- return this.description == null ? Thread.currentThread().getName() : description;
- }
-}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/core/src/main/java/org/apache/accumulo/core/trace/wrappers/TraceExecutorService.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/trace/wrappers/TraceExecutorService.java b/core/src/main/java/org/apache/accumulo/core/trace/wrappers/TraceExecutorService.java
deleted file mode 100644
index f2cf926..0000000
--- a/core/src/main/java/org/apache/accumulo/core/trace/wrappers/TraceExecutorService.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * 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.accumulo.core.trace.wrappers;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-public class TraceExecutorService implements ExecutorService {
-
- private final ExecutorService impl;
-
- public TraceExecutorService(ExecutorService impl) {
- this.impl = impl;
- }
-
- @Override
- public void execute(Runnable command) {
- impl.execute(new TraceRunnable(command));
- }
-
- @Override
- public void shutdown() {
- impl.shutdown();
- }
-
- @Override
- public List<Runnable> shutdownNow() {
- return impl.shutdownNow();
- }
-
- @Override
- public boolean isShutdown() {
- return impl.isShutdown();
- }
-
- @Override
- public boolean isTerminated() {
- return impl.isTerminated();
- }
-
- @Override
- public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException {
- return impl.awaitTermination(timeout, unit);
- }
-
- @Override
- public <T> Future<T> submit(Callable<T> task) {
- return impl.submit(new TraceCallable<T>(task));
- }
-
- @Override
- public <T> Future<T> submit(Runnable task, T result) {
- return impl.submit(new TraceRunnable(task), result);
- }
-
- @Override
- public Future<?> submit(Runnable task) {
- return impl.submit(new TraceRunnable(task));
- }
-
- private <T> Collection<? extends Callable<T>> wrapCollection(Collection<? extends Callable<T>> tasks) {
- List<Callable<T>> result = new ArrayList<Callable<T>>();
- for (Callable<T> task : tasks) {
- result.add(new TraceCallable<T>(task));
- }
- return result;
- }
-
- @Override
- public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks) throws InterruptedException {
- return impl.invokeAll(wrapCollection(tasks));
- }
-
- @Override
- public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException {
- return impl.invokeAll(wrapCollection(tasks), timeout, unit);
- }
-
- @Override
- public <T> T invokeAny(Collection<? extends Callable<T>> tasks) throws InterruptedException, ExecutionException {
- return impl.invokeAny(wrapCollection(tasks));
- }
-
- @Override
- public <T> T invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException,
- TimeoutException {
- return impl.invokeAny(wrapCollection(tasks), timeout, unit);
- }
-}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/core/src/main/java/org/apache/accumulo/core/trace/wrappers/TraceRunnable.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/trace/wrappers/TraceRunnable.java b/core/src/main/java/org/apache/accumulo/core/trace/wrappers/TraceRunnable.java
deleted file mode 100644
index 629db06..0000000
--- a/core/src/main/java/org/apache/accumulo/core/trace/wrappers/TraceRunnable.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * 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.accumulo.core.trace.wrappers;
-
-import org.htrace.Span;
-import org.htrace.Trace;
-import org.htrace.TraceScope;
-
-/**
- * Wrap a Runnable with a Span that survives a change in threads.
- *
- */
-public class TraceRunnable implements Runnable, Comparable<TraceRunnable> {
-
- private final Span parent;
- private final Runnable runnable;
- private final String description;
-
- public TraceRunnable(Runnable runnable) {
- this(Trace.currentSpan(), runnable);
- }
-
- public TraceRunnable(Span parent, Runnable runnable) {
- this(parent, runnable, null);
- }
-
- public TraceRunnable(Span parent, Runnable runnable, String description) {
- this.parent = parent;
- this.runnable = runnable;
- this.description = description;
- }
-
- @Override
- public void run() {
- if (parent != null) {
- TraceScope chunk = Trace.startSpan(getDescription(), parent);
- try {
- runnable.run();
- } finally {
- chunk.close();
- }
- } else {
- runnable.run();
- }
- }
-
- private String getDescription() {
- return this.description == null ? Thread.currentThread().getName() : description;
- }
-
- @Override
- public boolean equals(Object o) {
- if (o instanceof TraceRunnable) {
- return 0 == this.compareTo((TraceRunnable) o);
- }
-
- return false;
- }
-
- @SuppressWarnings({"rawtypes", "unchecked"})
- @Override
- public int compareTo(TraceRunnable o) {
- return ((Comparable) this.runnable).compareTo(o.runnable);
- }
-}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/examples/simple/pom.xml
----------------------------------------------------------------------
diff --git a/examples/simple/pom.xml b/examples/simple/pom.xml
index 649ff59..aa2f118 100644
--- a/examples/simple/pom.xml
+++ b/examples/simple/pom.xml
@@ -77,6 +77,10 @@
<artifactId>hadoop-client</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.htrace</groupId>
+ <artifactId>htrace-core</artifactId>
+ </dependency>
+ <dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<scope>test</scope>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/examples/simple/src/main/java/org/apache/accumulo/examples/simple/client/TracingExample.java
----------------------------------------------------------------------
diff --git a/examples/simple/src/main/java/org/apache/accumulo/examples/simple/client/TracingExample.java b/examples/simple/src/main/java/org/apache/accumulo/examples/simple/client/TracingExample.java
index 2c4a8a9..6214f29 100644
--- a/examples/simple/src/main/java/org/apache/accumulo/examples/simple/client/TracingExample.java
+++ b/examples/simple/src/main/java/org/apache/accumulo/examples/simple/client/TracingExample.java
@@ -35,10 +35,10 @@ import org.apache.accumulo.core.data.Mutation;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.security.Authorizations;
import org.apache.accumulo.core.trace.DistributedTrace;
+import org.apache.htrace.Sampler;
+import org.apache.htrace.Trace;
+import org.apache.htrace.TraceScope;
import org.apache.log4j.Logger;
-import org.htrace.Sampler;
-import org.htrace.Trace;
-import org.htrace.TraceScope;
import com.beust.jcommander.Parameter;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 1629757..9ea3bee 100644
--- a/pom.xml
+++ b/pom.xml
@@ -123,7 +123,7 @@
<forkCount>1</forkCount>
<!-- overwritten in hadoop profiles -->
<hadoop.version>2.2.0</hadoop.version>
- <htrace.version>3.0.4</htrace.version>
+ <htrace.version>3.1.0-incubating</htrace.version>
<httpclient.version>3.1</httpclient.version>
<jetty.version>9.1.5.v20140505</jetty.version>
<maven.compiler.source>1.7</maven.compiler.source>
@@ -380,6 +380,11 @@
<version>${hadoop.version}</version>
</dependency>
<dependency>
+ <groupId>org.apache.htrace</groupId>
+ <artifactId>htrace-core</artifactId>
+ <version>${htrace.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.1</version>
@@ -475,11 +480,6 @@
<version>${jetty.version}</version>
</dependency>
<dependency>
- <groupId>org.htrace</groupId>
- <artifactId>htrace-core</artifactId>
- <version>${htrace.version}</version>
- </dependency>
- <dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-easymock</artifactId>
<version>${powermock.version}</version>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/server/base/pom.xml
----------------------------------------------------------------------
diff --git a/server/base/pom.xml b/server/base/pom.xml
index e01da1c..fbface8 100644
--- a/server/base/pom.xml
+++ b/server/base/pom.xml
@@ -85,6 +85,10 @@
<artifactId>hadoop-client</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.htrace</groupId>
+ <artifactId>htrace-core</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java b/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
index 1d4cd08..d7284eb 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
@@ -55,7 +55,6 @@ import org.apache.accumulo.core.metadata.MetadataTable;
import org.apache.accumulo.core.rpc.ThriftUtil;
import org.apache.accumulo.core.tabletserver.thrift.TabletClientService;
import org.apache.accumulo.core.trace.Tracer;
-import org.apache.accumulo.core.trace.wrappers.TraceRunnable;
import org.apache.accumulo.core.util.CachedConfiguration;
import org.apache.accumulo.core.util.LoggingRunnable;
import org.apache.accumulo.core.util.NamingThreadFactory;
@@ -68,6 +67,7 @@ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.Text;
+import org.apache.htrace.wrappers.TraceRunnable;
import org.apache.thrift.TServiceClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/server/master/pom.xml
----------------------------------------------------------------------
diff --git a/server/master/pom.xml b/server/master/pom.xml
index dbeb429..cf92d4a 100644
--- a/server/master/pom.xml
+++ b/server/master/pom.xml
@@ -65,6 +65,10 @@
<artifactId>hadoop-client</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.htrace</groupId>
+ <artifactId>htrace-core</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/server/master/src/main/java/org/apache/accumulo/master/tableOps/BulkImport.java
----------------------------------------------------------------------
diff --git a/server/master/src/main/java/org/apache/accumulo/master/tableOps/BulkImport.java b/server/master/src/main/java/org/apache/accumulo/master/tableOps/BulkImport.java
index 16c317a..e40137b 100644
--- a/server/master/src/main/java/org/apache/accumulo/master/tableOps/BulkImport.java
+++ b/server/master/src/main/java/org/apache/accumulo/master/tableOps/BulkImport.java
@@ -60,7 +60,6 @@ import org.apache.accumulo.core.metadata.MetadataTable;
import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection;
import org.apache.accumulo.core.security.Authorizations;
import org.apache.accumulo.core.trace.Tracer;
-import org.apache.accumulo.core.trace.wrappers.TraceExecutorService;
import org.apache.accumulo.core.util.Pair;
import org.apache.accumulo.core.util.SimpleThreadPool;
import org.apache.accumulo.core.util.UtilWaitThread;
@@ -81,6 +80,7 @@ import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.MapFile;
import org.apache.hadoop.io.Text;
+import org.apache.htrace.wrappers.TraceExecutorService;
import org.apache.log4j.Logger;
import org.apache.thrift.TException;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/server/tracer/pom.xml
----------------------------------------------------------------------
diff --git a/server/tracer/pom.xml b/server/tracer/pom.xml
index b895d67..57e1df1 100644
--- a/server/tracer/pom.xml
+++ b/server/tracer/pom.xml
@@ -57,6 +57,10 @@
<artifactId>hadoop-client</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.htrace</groupId>
+ <artifactId>htrace-core</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
</dependency>
@@ -65,10 +69,6 @@
<artifactId>zookeeper</artifactId>
</dependency>
<dependency>
- <groupId>org.htrace</groupId>
- <artifactId>htrace-core</artifactId>
- </dependency>
- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/server/tracer/src/main/java/org/apache/accumulo/tracer/AsyncSpanReceiver.java
----------------------------------------------------------------------
diff --git a/server/tracer/src/main/java/org/apache/accumulo/tracer/AsyncSpanReceiver.java b/server/tracer/src/main/java/org/apache/accumulo/tracer/AsyncSpanReceiver.java
index 55378ad..59596a2 100644
--- a/server/tracer/src/main/java/org/apache/accumulo/tracer/AsyncSpanReceiver.java
+++ b/server/tracer/src/main/java/org/apache/accumulo/tracer/AsyncSpanReceiver.java
@@ -32,11 +32,11 @@ import java.util.concurrent.ConcurrentLinkedQueue;
import org.apache.accumulo.core.trace.DistributedTrace;
import org.apache.accumulo.tracer.thrift.Annotation;
import org.apache.accumulo.tracer.thrift.RemoteSpan;
+import org.apache.htrace.HTraceConfiguration;
+import org.apache.htrace.Span;
+import org.apache.htrace.SpanReceiver;
+import org.apache.htrace.TimelineAnnotation;
import org.apache.log4j.Logger;
-import org.htrace.HTraceConfiguration;
-import org.htrace.Span;
-import org.htrace.SpanReceiver;
-import org.htrace.TimelineAnnotation;
/**
* Deliver Span information periodically to a destination.
@@ -50,6 +50,8 @@ public abstract class AsyncSpanReceiver<SpanKey,Destination> implements SpanRece
private static final Logger log = Logger.getLogger(AsyncSpanReceiver.class);
+ public static final String SEND_TIMER_MILLIS = "send.timer.millis";
+
private final Map<SpanKey,Destination> clients = new HashMap<SpanKey,Destination>();
protected String host = null;
@@ -64,11 +66,21 @@ public abstract class AsyncSpanReceiver<SpanKey,Destination> implements SpanRece
Timer timer = new Timer("SpanSender", true);
protected final AbstractQueue<RemoteSpan> sendQueue = new ConcurrentLinkedQueue<RemoteSpan>();
- public AsyncSpanReceiver() {
- this(1000);
- }
+ // Visible for testing
+ AsyncSpanReceiver() {}
+
+ public AsyncSpanReceiver(HTraceConfiguration conf) {
+ host = conf.get(DistributedTrace.TRACE_HOST_PROPERTY, host);
+ if (host == null) {
+ try {
+ host = InetAddress.getLocalHost().getCanonicalHostName().toString();
+ } catch (UnknownHostException e) {
+ host = "unknown";
+ }
+ }
+ service = conf.get(DistributedTrace.TRACE_SERVICE_PROPERTY, service);
- public AsyncSpanReceiver(long millis) {
+ int millis = conf.getInt(SEND_TIMER_MILLIS, 1000);
timer.schedule(new TimerTask() {
@Override
public void run() {
@@ -158,17 +170,4 @@ public abstract class AsyncSpanReceiver<SpanKey,Destination> implements SpanRece
}
}
- @Override
- public void configure(HTraceConfiguration conf) {
- host = conf.get(DistributedTrace.TRACE_HOST_PROPERTY, host);
- if (host == null) {
- try {
- host = InetAddress.getLocalHost().getCanonicalHostName().toString();
- } catch (UnknownHostException e) {
- host = "unknown";
- }
- }
- service = conf.get(DistributedTrace.TRACE_SERVICE_PROPERTY, service);
- }
-
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/server/tracer/src/main/java/org/apache/accumulo/tracer/SendSpansViaThrift.java
----------------------------------------------------------------------
diff --git a/server/tracer/src/main/java/org/apache/accumulo/tracer/SendSpansViaThrift.java b/server/tracer/src/main/java/org/apache/accumulo/tracer/SendSpansViaThrift.java
index c585cc1..c17d2c8 100644
--- a/server/tracer/src/main/java/org/apache/accumulo/tracer/SendSpansViaThrift.java
+++ b/server/tracer/src/main/java/org/apache/accumulo/tracer/SendSpansViaThrift.java
@@ -25,6 +25,7 @@ import java.util.Map;
import org.apache.accumulo.tracer.thrift.RemoteSpan;
import org.apache.accumulo.tracer.thrift.SpanReceiver.Client;
+import org.apache.htrace.HTraceConfiguration;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.transport.TSocket;
@@ -39,12 +40,11 @@ public class SendSpansViaThrift extends AsyncSpanReceiver<String,Client> {
private static final String THRIFT = "thrift://";
- public SendSpansViaThrift() {
- super();
- }
+ // Visible for testing
+ SendSpansViaThrift() {}
- public SendSpansViaThrift(long millis) {
- super(millis);
+ public SendSpansViaThrift(HTraceConfiguration conf) {
+ super(conf);
}
@Override
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/server/tracer/src/main/java/org/apache/accumulo/tracer/SpanTree.java
----------------------------------------------------------------------
diff --git a/server/tracer/src/main/java/org/apache/accumulo/tracer/SpanTree.java b/server/tracer/src/main/java/org/apache/accumulo/tracer/SpanTree.java
index e8f8056..c7682c1 100644
--- a/server/tracer/src/main/java/org/apache/accumulo/tracer/SpanTree.java
+++ b/server/tracer/src/main/java/org/apache/accumulo/tracer/SpanTree.java
@@ -24,7 +24,7 @@ import java.util.Map;
import java.util.Set;
import org.apache.accumulo.tracer.thrift.RemoteSpan;
-import org.htrace.Span;
+import org.apache.htrace.Span;
public class SpanTree {
final Map<Long,List<Long>> parentChildren = new HashMap<Long,List<Long>>();
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/server/tracer/src/main/java/org/apache/accumulo/tracer/TraceDump.java
----------------------------------------------------------------------
diff --git a/server/tracer/src/main/java/org/apache/accumulo/tracer/TraceDump.java b/server/tracer/src/main/java/org/apache/accumulo/tracer/TraceDump.java
index 64fee7e..e4eb70e 100644
--- a/server/tracer/src/main/java/org/apache/accumulo/tracer/TraceDump.java
+++ b/server/tracer/src/main/java/org/apache/accumulo/tracer/TraceDump.java
@@ -37,7 +37,7 @@ import org.apache.accumulo.core.data.Range;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.tracer.thrift.RemoteSpan;
import org.apache.hadoop.io.Text;
-import org.htrace.Span;
+import org.apache.htrace.Span;
import com.beust.jcommander.Parameter;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/server/tracer/src/main/java/org/apache/accumulo/tracer/TraceServer.java
----------------------------------------------------------------------
diff --git a/server/tracer/src/main/java/org/apache/accumulo/tracer/TraceServer.java b/server/tracer/src/main/java/org/apache/accumulo/tracer/TraceServer.java
index f855d9c..3e4cded 100644
--- a/server/tracer/src/main/java/org/apache/accumulo/tracer/TraceServer.java
+++ b/server/tracer/src/main/java/org/apache/accumulo/tracer/TraceServer.java
@@ -58,6 +58,7 @@ import org.apache.accumulo.tracer.thrift.RemoteSpan;
import org.apache.accumulo.tracer.thrift.SpanReceiver.Iface;
import org.apache.accumulo.tracer.thrift.SpanReceiver.Processor;
import org.apache.hadoop.io.Text;
+import org.apache.htrace.Span;
import org.apache.log4j.Logger;
import org.apache.thrift.TByteArrayOutputStream;
import org.apache.thrift.TException;
@@ -72,7 +73,6 @@ import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.Watcher.Event.EventType;
import org.apache.zookeeper.Watcher.Event.KeeperState;
-import org.htrace.Span;
public class TraceServer implements Watcher {
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/server/tracer/src/main/java/org/apache/accumulo/tracer/ZooTraceClient.java
----------------------------------------------------------------------
diff --git a/server/tracer/src/main/java/org/apache/accumulo/tracer/ZooTraceClient.java b/server/tracer/src/main/java/org/apache/accumulo/tracer/ZooTraceClient.java
index 3db77f0..1599534 100644
--- a/server/tracer/src/main/java/org/apache/accumulo/tracer/ZooTraceClient.java
+++ b/server/tracer/src/main/java/org/apache/accumulo/tracer/ZooTraceClient.java
@@ -30,11 +30,11 @@ import java.util.concurrent.TimeUnit;
import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.trace.DistributedTrace;
import org.apache.accumulo.fate.zookeeper.ZooReader;
+import org.apache.htrace.HTraceConfiguration;
import org.apache.log4j.Logger;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
-import org.htrace.HTraceConfiguration;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
@@ -53,15 +53,22 @@ public class ZooTraceClient extends SendSpansViaThrift implements Watcher {
final List<String> hosts = new ArrayList<String>();
long retryPause = 5000l;
- public ZooTraceClient() {
- super();
- }
+ // Visible for testing
+ ZooTraceClient() {}
+
+ public ZooTraceClient(HTraceConfiguration conf) {
+ super(conf);
- public ZooTraceClient(long millis) {
- super(millis);
+ String keepers = conf.get(DistributedTrace.TRACER_ZK_HOST);
+ if (keepers == null)
+ throw new IllegalArgumentException("Must configure " + DistributedTrace.TRACER_ZK_HOST);
+ int timeout = conf.getInt(DistributedTrace.TRACER_ZK_TIMEOUT, DEFAULT_TIMEOUT);
+ zoo = new ZooReader(keepers, timeout);
+ path = conf.get(DistributedTrace.TRACER_ZK_PATH, Constants.ZTRACERS);
+ setInitialTraceHosts();
}
- // Visibile for testing
+ // Visible for testing
protected void setRetryPause(long pause) {
retryPause = pause;
}
@@ -76,18 +83,6 @@ public class ZooTraceClient extends SendSpansViaThrift implements Watcher {
}
@Override
- public void configure(HTraceConfiguration conf) {
- super.configure(conf);
- String keepers = conf.get(DistributedTrace.TRACER_ZK_HOST);
- if (keepers == null)
- throw new IllegalArgumentException("Must configure " + DistributedTrace.TRACER_ZK_HOST);
- int timeout = conf.getInt(DistributedTrace.TRACER_ZK_TIMEOUT, DEFAULT_TIMEOUT);
- zoo = new ZooReader(keepers, timeout);
- path = conf.get(DistributedTrace.TRACER_ZK_PATH, Constants.ZTRACERS);
- setInitialTraceHosts();
- }
-
- @Override
public void process(WatchedEvent event) {
log.debug("Processing event for trace server zk watch");
try {
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/server/tracer/src/test/java/org/apache/accumulo/tracer/TracerTest.java
----------------------------------------------------------------------
diff --git a/server/tracer/src/test/java/org/apache/accumulo/tracer/TracerTest.java b/server/tracer/src/test/java/org/apache/accumulo/tracer/TracerTest.java
index 76ed910..e389679 100644
--- a/server/tracer/src/test/java/org/apache/accumulo/tracer/TracerTest.java
+++ b/server/tracer/src/test/java/org/apache/accumulo/tracer/TracerTest.java
@@ -38,6 +38,10 @@ import org.apache.accumulo.core.trace.wrappers.TraceWrap;
import org.apache.accumulo.tracer.thrift.TestService;
import org.apache.accumulo.tracer.thrift.TestService.Iface;
import org.apache.accumulo.tracer.thrift.TestService.Processor;
+import org.apache.htrace.HTraceConfiguration;
+import org.apache.htrace.Sampler;
+import org.apache.htrace.SpanReceiver;
+import org.apache.htrace.wrappers.TraceProxy;
import org.apache.thrift.TException;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.server.TServer;
@@ -45,10 +49,6 @@ import org.apache.thrift.server.TThreadPoolServer;
import org.apache.thrift.transport.TServerSocket;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;
-import org.htrace.HTraceConfiguration;
-import org.htrace.Sampler;
-import org.htrace.SpanReceiver;
-import org.htrace.wrappers.TraceProxy;
import org.junit.Before;
import org.junit.Test;
@@ -81,8 +81,12 @@ public class TracerTest {
static class TestReceiver implements SpanReceiver {
public Map<Long,List<SpanStruct>> traces = new HashMap<Long,List<SpanStruct>>();
+ public TestReceiver() {}
+
+ public TestReceiver(HTraceConfiguration conf) {}
+
@Override
- public void receiveSpan(org.htrace.Span s) {
+ public void receiveSpan(org.apache.htrace.Span s) {
long traceId = s.getTraceId();
SpanStruct span = new SpanStruct(traceId, s.getSpanId(), s.getParentId(), s.getStartTimeMillis(), s.getStopTimeMillis(), s.getDescription(),
s.getKVAnnotations());
@@ -92,9 +96,6 @@ public class TracerTest {
}
@Override
- public void configure(HTraceConfiguration conf) {}
-
- @Override
public void close() throws IOException {}
}
@@ -102,7 +103,7 @@ public class TracerTest {
@Test
public void testTrace() throws Exception {
TestReceiver tracer = new TestReceiver();
- org.htrace.Trace.addReceiver(tracer);
+ org.apache.htrace.Trace.addReceiver(tracer);
assertFalse(Trace.isTracing());
Trace.start("nop").stop();
@@ -160,7 +161,7 @@ public class TracerTest {
@Test
public void testThrift() throws Exception {
TestReceiver tracer = new TestReceiver();
- org.htrace.Trace.addReceiver(tracer);
+ org.apache.htrace.Trace.addReceiver(tracer);
ServerSocket socket = new ServerSocket(0);
TServerSocket transport = new TServerSocket(socket);
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/server/tserver/pom.xml
----------------------------------------------------------------------
diff --git a/server/tserver/pom.xml b/server/tserver/pom.xml
index 96eb046..a4bc3de 100644
--- a/server/tserver/pom.xml
+++ b/server/tserver/pom.xml
@@ -81,6 +81,10 @@
<artifactId>hadoop-client</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.htrace</groupId>
+ <artifactId>htrace-core</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/server/tserver/src/main/java/org/apache/accumulo/tserver/CompactionQueue.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/CompactionQueue.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/CompactionQueue.java
index 0cb04a7..3ba7a5c 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/CompactionQueue.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/CompactionQueue.java
@@ -16,9 +16,12 @@
*/
package org.apache.accumulo.tserver;
+import org.apache.htrace.wrappers.TraceRunnable;
+
import java.util.AbstractQueue;
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
@@ -28,14 +31,21 @@ import java.util.concurrent.TimeUnit;
@SuppressWarnings({"rawtypes", "unchecked"})
public class CompactionQueue extends AbstractQueue<Runnable> implements BlockingQueue<Runnable> {
- private List<Comparable> task = new LinkedList<Comparable>();
+ private List<TraceRunnable> task = new LinkedList<TraceRunnable>();
+
+ private static final Comparator<TraceRunnable> comparator = new Comparator<TraceRunnable>() {
+ @Override
+ public int compare(TraceRunnable o1, TraceRunnable o2) {
+ return ((Comparable) o1.getRunnable()).compareTo(o2.getRunnable());
+ }
+ };
@Override
public synchronized Runnable poll() {
if (task.size() == 0)
return null;
- Comparable min = Collections.min(task);
+ TraceRunnable min = Collections.min(task, comparator);
task.remove(min);
return (Runnable) min;
}
@@ -45,26 +55,26 @@ public class CompactionQueue extends AbstractQueue<Runnable> implements Blocking
if (task.size() == 0)
return null;
- Comparable min = Collections.min(task);
+ TraceRunnable min = Collections.min(task, comparator);
return (Runnable) min;
}
@Override
public synchronized boolean offer(Runnable e) {
- task.add((Comparable) e);
+ task.add((TraceRunnable) e);
notify();
return true;
}
@Override
public synchronized void put(Runnable e) throws InterruptedException {
- task.add((Comparable) e);
+ task.add((TraceRunnable) e);
notify();
}
@Override
public synchronized boolean offer(Runnable e, long timeout, TimeUnit unit) throws InterruptedException {
- task.add((Comparable) e);
+ task.add((TraceRunnable) e);
notify();
return true;
}
@@ -102,11 +112,11 @@ public class CompactionQueue extends AbstractQueue<Runnable> implements Blocking
@Override
public synchronized int drainTo(Collection<? super Runnable> c, int maxElements) {
- Collections.sort(task);
+ Collections.sort(task, comparator);
int num = Math.min(task.size(), maxElements);
- Iterator<Comparable> iter = task.iterator();
+ Iterator<TraceRunnable> iter = task.iterator();
for (int i = 0; i < num; i++) {
c.add((Runnable) iter.next());
iter.remove();
@@ -117,9 +127,9 @@ public class CompactionQueue extends AbstractQueue<Runnable> implements Blocking
@Override
public synchronized Iterator<Runnable> iterator() {
- Collections.sort(task);
+ Collections.sort(task, comparator);
- final Iterator<Comparable> iter = task.iterator();
+ final Iterator<TraceRunnable> iter = task.iterator();
return new Iterator<Runnable>() {
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServerResourceManager.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServerResourceManager.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServerResourceManager.java
index 351d526..67e5652 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServerResourceManager.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServerResourceManager.java
@@ -40,7 +40,6 @@ import org.apache.accumulo.core.conf.Property;
import org.apache.accumulo.core.data.KeyExtent;
import org.apache.accumulo.core.file.blockfile.cache.LruBlockCache;
import org.apache.accumulo.core.metadata.schema.DataFileValue;
-import org.apache.accumulo.core.trace.wrappers.TraceExecutorService;
import org.apache.accumulo.core.util.Daemon;
import org.apache.accumulo.core.util.LoggingRunnable;
import org.apache.accumulo.core.util.NamingThreadFactory;
@@ -60,6 +59,7 @@ import org.apache.accumulo.tserver.compaction.DefaultCompactionStrategy;
import org.apache.accumulo.tserver.compaction.MajorCompactionReason;
import org.apache.accumulo.tserver.compaction.MajorCompactionRequest;
import org.apache.accumulo.tserver.tablet.Tablet;
+import org.apache.htrace.wrappers.TraceExecutorService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/trace/pom.xml
----------------------------------------------------------------------
diff --git a/trace/pom.xml b/trace/pom.xml
index b4e4b7e..7777bb3 100644
--- a/trace/pom.xml
+++ b/trace/pom.xml
@@ -31,7 +31,7 @@
<artifactId>accumulo-core</artifactId>
</dependency>
<dependency>
- <groupId>org.htrace</groupId>
+ <groupId>org.apache.htrace</groupId>
<artifactId>htrace-core</artifactId>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/trace/src/main/java/org/apache/accumulo/trace/instrument/CountSampler.java
----------------------------------------------------------------------
diff --git a/trace/src/main/java/org/apache/accumulo/trace/instrument/CountSampler.java b/trace/src/main/java/org/apache/accumulo/trace/instrument/CountSampler.java
index f6d256a..05d9acb 100644
--- a/trace/src/main/java/org/apache/accumulo/trace/instrument/CountSampler.java
+++ b/trace/src/main/java/org/apache/accumulo/trace/instrument/CountSampler.java
@@ -16,13 +16,17 @@
*/
package org.apache.accumulo.trace.instrument;
+import org.apache.htrace.HTraceConfiguration;
+
+import java.util.Collections;
+
/**
* @deprecated since 1.7, use org.htrace.impl.CountSampler instead
*/
@Deprecated
-public class CountSampler extends org.htrace.impl.CountSampler implements Sampler {
+public class CountSampler extends org.apache.htrace.impl.CountSampler implements Sampler {
public CountSampler(long frequency) {
- super(frequency);
+ super(HTraceConfiguration.fromMap(Collections.singletonMap(CountSampler.SAMPLER_FREQUENCY_CONF_KEY, Long.toString(frequency))));
}
@Override
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/trace/src/main/java/org/apache/accumulo/trace/instrument/Sampler.java
----------------------------------------------------------------------
diff --git a/trace/src/main/java/org/apache/accumulo/trace/instrument/Sampler.java b/trace/src/main/java/org/apache/accumulo/trace/instrument/Sampler.java
index 9563f8f..b82d72f 100644
--- a/trace/src/main/java/org/apache/accumulo/trace/instrument/Sampler.java
+++ b/trace/src/main/java/org/apache/accumulo/trace/instrument/Sampler.java
@@ -20,7 +20,7 @@ package org.apache.accumulo.trace.instrument;
* @deprecated since 1.7, use org.htrace.Sampler instead
*/
@Deprecated
-public interface Sampler extends org.htrace.Sampler<Object> {
+public interface Sampler extends org.apache.htrace.Sampler<Object> {
boolean next();
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/trace/src/main/java/org/apache/accumulo/trace/instrument/Span.java
----------------------------------------------------------------------
diff --git a/trace/src/main/java/org/apache/accumulo/trace/instrument/Span.java b/trace/src/main/java/org/apache/accumulo/trace/instrument/Span.java
index dbd8882..9104d5f 100644
--- a/trace/src/main/java/org/apache/accumulo/trace/instrument/Span.java
+++ b/trace/src/main/java/org/apache/accumulo/trace/instrument/Span.java
@@ -27,17 +27,17 @@ import java.util.Map.Entry;
*/
@Deprecated
public class Span extends org.apache.accumulo.core.trace.Span implements CloudtraceSpan {
- public static final long ROOT_SPAN_ID = org.htrace.Span.ROOT_SPAN_ID;
+ public static final long ROOT_SPAN_ID = org.apache.htrace.Span.ROOT_SPAN_ID;
public Span(org.apache.accumulo.core.trace.Span span) {
super(span.getScope());
}
- public Span(org.htrace.TraceScope scope) {
+ public Span(org.apache.htrace.TraceScope scope) {
super(scope);
}
- public Span(org.htrace.Span span) {
+ public Span(org.apache.htrace.Span span) {
super(span);
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/7e659af1/trace/src/main/java/org/apache/accumulo/trace/instrument/Trace.java
----------------------------------------------------------------------
diff --git a/trace/src/main/java/org/apache/accumulo/trace/instrument/Trace.java b/trace/src/main/java/org/apache/accumulo/trace/instrument/Trace.java
index 557d381..0d4b0cc 100644
--- a/trace/src/main/java/org/apache/accumulo/trace/instrument/Trace.java
+++ b/trace/src/main/java/org/apache/accumulo/trace/instrument/Trace.java
@@ -42,7 +42,7 @@ public class Trace extends org.apache.accumulo.core.trace.Trace {
// If we are tracing, return the current span, else null
public static Span currentTrace() {
- return new Span(org.htrace.Trace.currentSpan());
+ return new Span(org.apache.htrace.Trace.currentSpan());
}
// Create a new time span, if tracing is on
@@ -57,14 +57,14 @@ public class Trace extends org.apache.accumulo.core.trace.Trace {
// Initiate a trace in this thread, starting now
public static Span startThread(Span parent, String description) {
- return new Span(org.htrace.Trace.startSpan(description, parent.getSpan()));
+ return new Span(org.apache.htrace.Trace.startSpan(description, parent.getSpan()));
}
// Stop a trace in this thread, starting now
public static void endThread(Span span) {
if (span != null) {
span.stop();
- org.htrace.Tracer.getInstance().continueSpan(null);
+ org.apache.htrace.Tracer.getInstance().continueSpan(null);
}
}