refactor DefaultTrace

This commit is contained in:
Spencer Gibb
2015-06-23 14:06:34 -06:00
parent d09f065559
commit 8680512edb
5 changed files with 29 additions and 35 deletions

View File

@@ -1,4 +1,4 @@
package org.springframework.cloud.sleuth.trace;
package org.springframework.cloud.sleuth;
/**
* @author Spencer Gibb

View File

@@ -0,0 +1,14 @@
package org.springframework.cloud.sleuth;
import java.util.UUID;
/**
* @author Spencer Gibb
*/
public class RandomUuidGenerator implements IdGenerator {
@Override
public String create() {
return UUID.randomUUID().toString();
}
}

View File

@@ -2,28 +2,28 @@ package org.springframework.cloud.sleuth.trace;
import static org.springframework.cloud.sleuth.trace.Utils.error;
import org.springframework.cloud.sleuth.trace.sampler.IsTracingSampler;
import org.springframework.cloud.sleuth.IdGenerator;
import java.util.Collection;
import java.util.Collections;
import java.util.UUID;
/**
* @author Spencer Gibb
*/
public class DefaultTrace implements Trace {
//TODO: no default?, let autoconfig
private Sampler<?> defaultSampler = new IsTracingSampler(this);
private final Sampler<?> defaultSampler;
private IdGenerator idGenerator = new IdGenerator() {
@Override
public String create() {
return UUID.randomUUID().toString();
}
};
private final IdGenerator idGenerator;
private Collection<SpanReceiver> spanReceivers;
private final Collection<SpanReceiver> spanReceivers;
public DefaultTrace(Sampler<?> defaultSampler, IdGenerator idGenerator,
Collection<SpanReceiver> spanReceivers) {
this.defaultSampler = defaultSampler;
this.idGenerator = idGenerator;
this.spanReceivers = spanReceivers;
}
@Override
public TraceScope startSpan(String description) {
@@ -131,17 +131,4 @@ public class DefaultTrace implements Trace {
receiver.receiveSpan(span);
}
}
public void setDefaultSampler(Sampler<?> defaultSampler) {
this.defaultSampler = defaultSampler;
}
public void setIdGenerator(IdGenerator idGenerator) {
this.idGenerator = idGenerator;
}
@Override
public void setSpanReceivers(Collection<SpanReceiver> spanReceivers) {
this.spanReceivers = spanReceivers;
}
}

View File

@@ -81,7 +81,5 @@ public interface Trace {
*/
boolean isTracing();
public void deliver(Span span);
void setSpanReceivers(Collection<SpanReceiver> spanReceivers);
void deliver(Span span);
}

View File

@@ -1,20 +1,15 @@
package org.springframework.cloud.sleuth.trace.sampler;
import org.springframework.cloud.sleuth.trace.Sampler;
import org.springframework.cloud.sleuth.trace.Trace;
import org.springframework.cloud.sleuth.trace.SpanHolder;
/**
* @author Spencer Gibb
*/
public class IsTracingSampler implements Sampler<Object> {
private final Trace trace;
public IsTracingSampler(Trace trace) {
this.trace = trace;
}
@Override
public boolean next(Object info) {
return this.trace.isTracing();
return SpanHolder.getCurrentSpan() != null;
}
}