Skip to content

Commit

Permalink
Merge pull request #25 from llinder/upgrade
Browse files Browse the repository at this point in the history
Upgrades to latest Brave version, closes #26
  • Loading branch information
llinder authored Apr 13, 2019
2 parents 9c13ddf + dbf2d04 commit 8d33ae7
Show file tree
Hide file tree
Showing 4 changed files with 185 additions and 200 deletions.
8 changes: 1 addition & 7 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
<maven-failsafe-plugin.version>3.0.0-M2</maven-failsafe-plugin.version>
<license-maven-plugin.version>3.0</license-maven-plugin.version>

<brave.version>5.1.5</brave.version>
<brave.version>5.6.3</brave.version>
<ratpack.version>1.6.0</ratpack.version>

</properties>
Expand Down Expand Up @@ -172,12 +172,6 @@
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.9.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
Expand Down
25 changes: 10 additions & 15 deletions src/main/java/ratpack/zipkin/ServerTracingModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -84,31 +84,26 @@ public Tracing getTracing(final HttpTracing httpTracing) {

@Provides @Singleton
public HttpTracing getHttpTracing(final Config config, final ServerConfig serverConfig) {
Tracing tracing = Tracing.newBuilder()
Tracing.Builder builder = Tracing.newBuilder()
.sampler(config.sampler)
.currentTraceContext(new RatpackCurrentTraceContext())
.endpoint(buildEndpoint(config.serviceName, serverConfig.getPort(),
serverConfig.getAddress()))
.localServiceName(config.serviceName)
.localPort(serverConfig.getPort())
.spanReporter(config.spanReporter)
.propagationFactory(config.propagationFactory)
.build();
return HttpTracing.newBuilder(tracing)
.propagationFactory(config.propagationFactory);

if (serverConfig.getAddress() != null) {
builder = builder.localIp(serverConfig.getAddress().getHostAddress());
}

return HttpTracing.newBuilder(builder.build())
.clientParser(config.clientParser)
.serverParser(config.serverParser)
.serverSampler(config.serverSampler)
.clientSampler(config.clientSampler)
.build();
}

private static Endpoint buildEndpoint(String serviceName, int port, @Nullable InetAddress configAddress) {
Endpoint.Builder builder = Endpoint.newBuilder();
if (!builder.parseIp(configAddress)) {
// TODO: shade brave.internal.Platform
builder = brave.internal.Platform.get().endpoint().toBuilder();
}
return builder.serviceName(serviceName).port(port).build();
}

/**
* Configuration class for {@link ServerTracingModule}.
*/
Expand Down
18 changes: 8 additions & 10 deletions src/main/java/ratpack/zipkin/internal/ServerHttpAdapter.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2016-2018 The OpenZipkin Authors
* Copyright 2016-2019 The OpenZipkin Authors
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
Expand All @@ -13,25 +13,23 @@
*/
package ratpack.zipkin.internal;

import com.google.common.net.HttpHeaders;
import brave.Span;
import ratpack.path.PathBinding;
import ratpack.zipkin.ServerRequest;
import ratpack.zipkin.ServerResponse;
import zipkin2.Endpoint;

/**
* This class is responsible for adapting Ratpack-specific request and responses
* to something that brave.http.HttpServerParser can use to create the Span.
*/
final class ServerHttpAdapter extends brave.http.HttpServerAdapter<ServerRequest, ServerResponse> {
@Override
public boolean parseClientAddress(final ServerRequest serverRequest,
final Endpoint.Builder builder) {
String forwardedFor = requestHeader(serverRequest, HttpHeaders.X_FORWARDED_FOR);
if (forwardedFor != null) {
return builder.parseIp(forwardedFor);

@Override public boolean parseClientIpAndPort(ServerRequest req, Span span) {
boolean result = super.parseClientIpAndPort(req, span);
if (!result) {
result = span.remoteIpAndPort(req.getRemoteAddress().getHost(), req.getRemoteAddress().getPort());
}
return builder.parseIp(serverRequest.getRemoteAddress().getHostText());
return result;
}

@Override public String method(ServerRequest request) {
Expand Down
Loading

0 comments on commit 8d33ae7

Please sign in to comment.