Skip to content
This repository has been archived by the owner on Jul 1, 2022. It is now read-only.

Remove tchannel from crossdock #405

Merged
merged 2 commits into from
Apr 25, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion jaeger-crossdock/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ dependencies {
compile group: 'org.glassfish.jersey.core', name: 'jersey-client', version: jerseyVersion
compile group: 'org.glassfish.jersey.media', name: 'jersey-media-json-jackson', version: jerseyVersion
compile group: 'javax.servlet', name: 'servlet-api', version: '2.5'
compile group: 'com.uber.tchannel', name: 'tchannel-core', version: '0.7.2'
compile group: 'org.slf4j', name: 'slf4j-log4j12', version: slf4jVersion

// Testing Frameworks
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ private Constants() {}

public static final String BAGGAGE_KEY = "crossdock-baggage-key";
public static final String TRANSPORT_HTTP = "HTTP";
public static final String TRANSPORT_TCHANNEL = "TCHANNEL";


public static final String ENV_PROP_SENDER_TYPE = "SENDER";
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,13 @@

package io.jaegertracing.crossdock;

import com.uber.tchannel.api.TChannel.Builder;
import io.jaegertracing.Configuration;
import io.jaegertracing.Configuration.ReporterConfiguration;
import io.jaegertracing.Configuration.SamplerConfiguration;
import io.jaegertracing.crossdock.resources.behavior.EndToEndBehavior;
import io.jaegertracing.crossdock.resources.behavior.ExceptionMapper;
import io.jaegertracing.crossdock.resources.behavior.TraceBehavior;
import io.jaegertracing.crossdock.resources.behavior.http.EndToEndBehaviorResource;
import io.jaegertracing.crossdock.resources.behavior.http.TraceBehaviorResource;
import io.jaegertracing.crossdock.resources.behavior.tchannel.TChannelServer;
import io.jaegertracing.crossdock.resources.health.HealthResource;
import io.jaegertracing.samplers.ConstSampler;
import io.jaegertracing.senders.HttpSender;
Expand Down Expand Up @@ -132,9 +129,7 @@ public static void main(String[] args) throws Exception {

server.addNetworkListener(new NetworkListener("health", "0.0.0.0", 8080));

Builder tchannelBuilder = new Builder(serviceName);
tchannelBuilder.setServerPort(8082);
new TChannelServer(tchannelBuilder, new TraceBehavior(server.getTracer()), server.getTracer()).start();
Thread.currentThread().join();
}

private static String getEvn(String envName, String defaultValue) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,6 @@ private static String fromThrift(Transport transport) {
switch (transport) {
case HTTP:
return Constants.TRANSPORT_HTTP;
case TCHANNEL:
return Constants.TRANSPORT_TCHANNEL;
default:
throw new IllegalArgumentException("Unknown transport " + transport);
}
Expand All @@ -89,9 +87,6 @@ private static Transport toThrift(String transport) {
if (Constants.TRANSPORT_HTTP.equals(transport)) {
return Transport.HTTP;
}
if (Constants.TRANSPORT_TCHANNEL.equals(transport)) {
return Transport.TCHANNEL;
}
throw new IllegalArgumentException("Unknown transport " + transport);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,6 @@
package io.jaegertracing.crossdock.resources.behavior;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.uber.tchannel.api.SubChannel;
import com.uber.tchannel.api.TFuture;
import com.uber.tchannel.messages.ThriftRequest;
import com.uber.tchannel.messages.ThriftResponse;
import io.jaegertracing.Span;
import io.jaegertracing.SpanContext;
import io.jaegertracing.crossdock.Constants;
Expand All @@ -27,7 +23,6 @@
import io.jaegertracing.crossdock.api.JoinTraceRequest;
import io.jaegertracing.crossdock.api.ObservedSpan;
import io.jaegertracing.crossdock.api.TraceResponse;
import io.jaegertracing.crossdock.resources.behavior.tchannel.TChannelServer;
import io.jaegertracing.crossdock.thrift.TracedService;
import io.opentracing.Tracer;
import java.io.IOException;
Expand Down Expand Up @@ -69,8 +64,6 @@ private TraceResponse callDownstream(Downstream downstream) throws Exception {
switch (transport) {
case Constants.TRANSPORT_HTTP:
return callDownstreamHttp(downstream);
case Constants.TRANSPORT_TCHANNEL:
return callDownstreamTChannel(downstream);
default:
return new TraceResponse("Unrecognized transport received: %s" + transport);
}
Expand All @@ -95,33 +88,6 @@ private TraceResponse callDownstreamHttp(Downstream downstream) throws IOExcepti
return response;
}

public TraceResponse callDownstreamTChannel(Downstream downstream) throws Exception {
io.jaegertracing.crossdock.thrift.JoinTraceRequest joinTraceRequest =
new io.jaegertracing.crossdock.thrift.JoinTraceRequest(downstream.getServerRole());
joinTraceRequest.setDownstream(Downstream.toThrift(downstream.getDownstream()));

SubChannel subChannel = TChannelServer.server.makeSubChannel(downstream.getServiceName());

log.info("Calling downstream tchannel {}", joinTraceRequest);
ThriftRequest<TracedService.joinTrace_args> thriftRequest =
new ThriftRequest.Builder<TracedService.joinTrace_args>(
downstream.getServiceName(), "TracedService::joinTrace")
.setTimeout(2000)
.setBody(new TracedService.joinTrace_args(joinTraceRequest))
.build();
TFuture<ThriftResponse<TracedService.joinTrace_result>> future =
subChannel.send(thriftRequest, host(downstream), port(downstream));

try (ThriftResponse<TracedService.joinTrace_result> thriftResponse = future.get()) {
log.info("Received tchannel response {}", thriftResponse);
if (thriftResponse.isError()) {
throw new Exception(thriftResponse.getError().getMessage());
}
return TraceResponse.fromThrift(
thriftResponse.getBody(TracedService.joinTrace_result.class).getSuccess());
}
}

private ObservedSpan observeSpan() {
Span span = (Span)tracer.activeSpan();
if (tracer.activeSpan() == null) {
Expand All @@ -135,16 +101,4 @@ private ObservedSpan observeSpan() {
String baggage = span.getBaggageItem(Constants.BAGGAGE_KEY);
return new ObservedSpan(traceId, sampled, baggage);
}

private InetAddress host(Downstream downstream) {
try {
return InetAddress.getByName(downstream.getHost());
} catch (UnknownHostException e) {
throw new RuntimeException("Cannot resolve host address for " + downstream.getHost(), e);
}
}

private int port(Downstream downstream) {
return Integer.parseInt(downstream.getPort());
}
}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;

import com.uber.tchannel.api.TChannel.Builder;
import io.jaegertracing.Configuration;
import io.jaegertracing.Configuration.ReporterConfiguration;
import io.jaegertracing.Configuration.SamplerConfiguration;
Expand All @@ -31,15 +30,13 @@
import io.jaegertracing.crossdock.api.StartTraceRequest;
import io.jaegertracing.crossdock.api.TraceResponse;
import io.jaegertracing.crossdock.resources.behavior.TraceBehavior;
import io.jaegertracing.crossdock.resources.behavior.tchannel.TChannelServer;
import io.jaegertracing.samplers.ConstSampler;
import io.opentracing.Scope;
import io.opentracing.noop.NoopTracerFactory;
import io.opentracing.tag.Tags;
import io.opentracing.util.GlobalTracer;
import java.io.IOException;
import java.lang.reflect.Field;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.util.Arrays;
import java.util.Collection;
Expand Down Expand Up @@ -160,44 +157,6 @@ public void testJoinTraceHttp() throws Exception {
scope.close();
}

@Test
public void testJoinTraceTChannel() throws Exception {
Builder tchannelBuilder = new Builder("foo");
tchannelBuilder.setServerPort(0);
tchannelBuilder.setServerHost(InetAddress.getLoopbackAddress());
TChannelServer tchannel = new TChannelServer(tchannelBuilder, behavior, server.getTracer());
tchannel.start();

Scope scope = server.getTracer().buildSpan("root").startActive(true);

String expectedBaggage = "baggage-example";
scope.span().setBaggageItem(Constants.BAGGAGE_KEY, expectedBaggage);
if (expectedSampled) {
Tags.SAMPLING_PRIORITY.set(scope.span(), 1);
}

TraceResponse response =
behavior.callDownstreamTChannel(
new Downstream(SERVICE_NAME,
tchannel.getChannel().getListeningHost(),
String.valueOf(tchannel.getChannel().getListeningPort()),
Constants.TRANSPORT_TCHANNEL,
"s2",
new Downstream(
SERVICE_NAME,
tchannel.getChannel().getListeningHost(),
String.valueOf(tchannel.getChannel().getListeningPort()),
Constants.TRANSPORT_TCHANNEL,
"s3",
null)));
assertNotNull(response);
validateTraceResponse(response, String.format("%x",
((Span)scope.span()).context().getTraceId()), expectedBaggage, 1);
scope.close();

tchannel.shutdown();
}

private void validateTraceResponse(
TraceResponse response,
String expectedTraceId,
Expand Down