diff options
author | Kristen Kozak <sebright@google.com> | 2018-06-15 11:17:17 -0700 |
---|---|---|
committer | Kristen Kozak <sebright@google.com> | 2018-06-15 14:39:19 -0700 |
commit | 4455cb5f3f400665c7b48123c8d596714159c76c (patch) | |
tree | 438b4f4978a994cc3d7646eca5256af2b4bc4fdc /contrib/log_correlation | |
parent | b66232fbf2fda5b6e6f424d675776fe010fef7d1 (diff) | |
download | opencensus-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.java | 17 |
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(); } } |