refactor DefaultTrace
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package org.springframework.cloud.sleuth.trace;
|
||||
package org.springframework.cloud.sleuth;
|
||||
|
||||
/**
|
||||
* @author Spencer Gibb
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,7 +81,5 @@ public interface Trace {
|
||||
*/
|
||||
boolean isTracing();
|
||||
|
||||
public void deliver(Span span);
|
||||
|
||||
void setSpanReceivers(Collection<SpanReceiver> spanReceivers);
|
||||
void deliver(Span span);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user