Skip to content

Commit

Permalink
Add the ability to autodetect opentracing implementations
Browse files Browse the repository at this point in the history
  • Loading branch information
shs96c committed Nov 10, 2018
1 parent 570f533 commit 00a7ba7
Show file tree
Hide file tree
Showing 9 changed files with 45 additions and 3 deletions.
4 changes: 4 additions & 0 deletions .idea/libraries/opentracing.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions java/client/src/org/openqa/selenium/remote/BUCK
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ java_library(name = 'remote-lib',
deps = [
':http-session-id',
'//java/client/src/org/openqa/selenium:selenium',
'//third_party/java/contrib:opentracing-tracerresolver',
'//third_party/java/opencensus:opencensus-api',
'//third_party/java/opentracing:opentracing-noop',
'//third_party/java/guava:guava',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

import org.openqa.selenium.BuildInfo;

import io.opentracing.contrib.tracerresolver.TracerResolver;
import io.opentracing.noop.NoopTracerFactory;

import java.util.LinkedList;
Expand All @@ -31,7 +32,9 @@
*/
public class DistributedTracer {

private static volatile DistributedTracer INSTANCE = DistributedTracer.builder().build();
private static volatile DistributedTracer INSTANCE = DistributedTracer.builder()
.registerDetectedTracers()
.build();
private static final ThreadLocal<LinkedList<Span>> ACTIVE_SPANS =
ThreadLocal.withInitial(LinkedList::new);
private final ImmutableSet<io.opencensus.trace.Tracer> ocTracers;
Expand Down Expand Up @@ -125,6 +128,15 @@ private Builder() {
register(NoopTracerFactory.create());
}

public Builder registerDetectedTracers() {
io.opentracing.Tracer tracer = TracerResolver.resolveTracer();
if (tracer != null) {
register(tracer);
}

return this;
}

public Builder register(io.opentracing.Tracer openTracingTracer) {
otTracers.add(Objects.requireNonNull(openTracingTracer, "Tracer must be set."));
return this;
Expand Down
13 changes: 13 additions & 0 deletions third_party/java/contrib/BUCK
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,16 @@ prebuilt_jar(
],
)

prebuilt_jar(
name = 'opentracing-tracerresolver',
maven_coords = 'io.opentracing.contrib:opentracing-tracerresolver:jar:0.1.5',
binary_jar = 'opentracing-tracerresolver-0.1.5.jar',
source_jar = 'opentracing-tracerresolver-0.1.5-sources.jar',
deps = [
'//third_party/java/opentracing:opentracing-api',
'//third_party/java/opentracing:opentracing-util'
],
visibility = [
'//java/client/src/org/openqa/selenium/remote:',
],
)
Binary file not shown.
Binary file not shown.
16 changes: 14 additions & 2 deletions third_party/java/opentracing/BUCK
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ prebuilt_jar(
binary_jar = 'opentracing-api-0.31.0.jar',
source_jar = 'opentracing-api-0.31.0-sources.jar',
visibility = [
'//third_party/java/contrib:opentracing-concurrent',
'//third_party/java/contrib:opentracing-okhttp3',
'//third_party/java/contrib:',
'//java/client/src/org/openqa/selenium/remote:',
],
)
Expand All @@ -25,3 +24,16 @@ prebuilt_jar(
],
)

prebuilt_jar(
name = 'opentracing-util',
maven_coords = 'io.opentracing:opentracing-util:jar:0.31.0',
binary_jar = 'opentracing-util-0.31.0.jar',
source_jar = 'opentracing-util-0.31.0-sources.jar',
deps = [
':opentracing-api',
':opentracing-noop'
],
visibility = [
'//third_party/java/contrib:opentracing-tracerresolver',
],
)
Binary file not shown.
Binary file not shown.

0 comments on commit 00a7ba7

Please sign in to comment.