aboutsummaryrefslogtreecommitdiff
path: root/contrib/log_correlation
diff options
context:
space:
mode:
authorKristen Kozak <sebright@google.com>2018-06-15 11:17:17 -0700
committerKristen Kozak <sebright@google.com>2018-06-15 14:39:19 -0700
commit4455cb5f3f400665c7b48123c8d596714159c76c (patch)
tree438b4f4978a994cc3d7646eca5256af2b4bc4fdc /contrib/log_correlation
parentb66232fbf2fda5b6e6f424d675776fe010fef7d1 (diff)
downloadopencensus-java-4455cb5f3f400665c7b48123c8d596714159c76c.tar.gz
Cache prefix used for LogEntry.trace field in OpenCensusTraceLoggingEnhancer.
Diffstat (limited to 'contrib/log_correlation')
-rw-r--r--contrib/log_correlation/stackdriver/src/main/java/io/opencensus/contrib/logcorrelation/stackdriver/OpenCensusTraceLoggingEnhancer.java17
1 files changed, 11 insertions, 6 deletions
diff --git a/contrib/log_correlation/stackdriver/src/main/java/io/opencensus/contrib/logcorrelation/stackdriver/OpenCensusTraceLoggingEnhancer.java b/contrib/log_correlation/stackdriver/src/main/java/io/opencensus/contrib/logcorrelation/stackdriver/OpenCensusTraceLoggingEnhancer.java
index 31df0a56..b84e0fb4 100644
--- a/contrib/log_correlation/stackdriver/src/main/java/io/opencensus/contrib/logcorrelation/stackdriver/OpenCensusTraceLoggingEnhancer.java
+++ b/contrib/log_correlation/stackdriver/src/main/java/io/opencensus/contrib/logcorrelation/stackdriver/OpenCensusTraceLoggingEnhancer.java
@@ -54,6 +54,9 @@ public final class OpenCensusTraceLoggingEnhancer implements LoggingEnhancer {
private final String projectId;
private final SpanSelection spanSelection;
+ // This field caches the prefix used for the LogEntry.trace field and is derived from projectId.
+ private final String tracePrefix;
+
/** How to decide whether to add tracing data from the current span to a log entry. */
public enum SpanSelection {
@@ -91,6 +94,7 @@ public final class OpenCensusTraceLoggingEnhancer implements LoggingEnhancer {
OpenCensusTraceLoggingEnhancer(@Nullable String projectId, SpanSelection spanSelection) {
this.projectId = projectId == null ? "" : projectId;
this.spanSelection = spanSelection;
+ this.tracePrefix = "projects/" + this.projectId + "/traces/";
}
private static String lookUpProjectId() {
@@ -149,25 +153,26 @@ public final class OpenCensusTraceLoggingEnhancer implements LoggingEnhancer {
case SAMPLED_SPANS:
SpanContext span = tracer.getCurrentSpan().getContext();
if (span.getTraceOptions().isSampled()) {
- addTracingData(projectId, span, builder);
+ addTracingData(tracePrefix, span, builder);
}
return;
case ALL_SPANS:
- addTracingData(projectId, tracer.getCurrentSpan().getContext(), builder);
+ addTracingData(tracePrefix, tracer.getCurrentSpan().getContext(), builder);
return;
}
throw new AssertionError("Unknown spanSelection: " + spanSelection);
}
- private static void addTracingData(String projectId, SpanContext span, LogEntry.Builder builder) {
- builder.setTrace(formatTraceId(projectId, span.getTraceId()));
+ private static void addTracingData(
+ String tracePrefix, SpanContext span, LogEntry.Builder builder) {
+ builder.setTrace(formatTraceId(tracePrefix, span.getTraceId()));
builder.setSpanId(span.getSpanId().toLowerBase16());
// TODO(sebright): Find the correct way to add the sampling decision.
builder.addLabel(SAMPLED_LABEL_KEY, Boolean.toString(span.getTraceOptions().isSampled()));
}
- private static String formatTraceId(String projectId, TraceId traceId) {
- return "projects/" + projectId + "/traces/" + traceId.toLowerBase16();
+ private static String formatTraceId(String tracePrefix, TraceId traceId) {
+ return tracePrefix + traceId.toLowerBase16();
}
}