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

Commit

Permalink
Add possibility to specify serviceName with 'fromEnv'
Browse files Browse the repository at this point in the history
Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
  • Loading branch information
jpkrohling committed Aug 7, 2018
1 parent f3e5049 commit a8c8225
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 14 deletions.
14 changes: 9 additions & 5 deletions jaeger-core/src/main/java/io/jaegertracing/Configuration.java
Original file line number Diff line number Diff line change
Expand Up @@ -186,11 +186,15 @@ public Configuration(String serviceName) {
* @return Configuration object from environmental variables
*/
public static Configuration fromEnv() {
return new Configuration(getProperty(JAEGER_SERVICE_NAME))
.withTracerTags(tracerTagsFromEnv())
.withReporter(ReporterConfiguration.fromEnv())
.withSampler(SamplerConfiguration.fromEnv())
.withCodec(CodecConfiguration.fromEnv());
return Configuration.fromEnv(getProperty(JAEGER_SERVICE_NAME));
}

public static Configuration fromEnv(String serviceName) {
return new Configuration(serviceName)
.withTracerTags(tracerTagsFromEnv())
.withReporter(ReporterConfiguration.fromEnv())
.withSampler(SamplerConfiguration.fromEnv())
.withCodec(CodecConfiguration.fromEnv());
}

public JaegerTracer.Builder getTracerBuilder() {
Expand Down
22 changes: 13 additions & 9 deletions jaeger-core/src/test/java/io/jaegertracing/ConfigurationTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,11 @@
import io.jaegertracing.internal.samplers.RateLimitingSampler;
import io.jaegertracing.spi.Codec;
import io.jaegertracing.spi.Sampler;
import io.opentracing.noop.NoopTracerFactory;
import io.opentracing.propagation.Format;
import io.opentracing.propagation.Format.Builtin;
import io.opentracing.propagation.TextMap;
import io.opentracing.propagation.TextMapExtractAdapter;
import io.opentracing.propagation.TextMapInjectAdapter;
import io.opentracing.util.GlobalTracer;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
Expand Down Expand Up @@ -74,18 +71,25 @@ public void clearProperties() throws NoSuchFieldException, IllegalAccessExceptio
System.clearProperty(Configuration.JAEGER_PROPAGATION);

System.clearProperty(TEST_PROPERTY);

// Reset opentracing's global tracer
Field field = GlobalTracer.class.getDeclaredField("tracer");
field.setAccessible(true);
field.set(null, NoopTracerFactory.create());
}

@Test
public void testFromEnv() {
System.setProperty(Configuration.JAEGER_SERVICE_NAME, "Test");
assertNotNull(Configuration.fromEnv().getTracer());
assertFalse(GlobalTracer.isRegistered());
}

@Test
public void testFromEnvWithExplicitServiceName() {
// prepare
String serviceName = "testFromEnvWithExplicitServiceName";
System.setProperty(Configuration.JAEGER_SERVICE_NAME, "not" + serviceName);

// test
JaegerTracer tracer = Configuration.fromEnv(serviceName).getTracer();

// check
assertEquals(serviceName, tracer.getServiceName());
}

@Test
Expand Down

0 comments on commit a8c8225

Please sign in to comment.