Search in sources :

Example 1 with AttachmentValueSpanContext

use of io.opencensus.contrib.exemplar.util.AttachmentValueSpanContext in project instrumentation-java by census-instrumentation.

the class StackdriverExportUtils method toProtoExemplar.

private static Exemplar toProtoExemplar(io.opencensus.metrics.data.Exemplar exemplar) {
    Exemplar.Builder builder = Exemplar.newBuilder().setValue(exemplar.getValue()).setTimestamp(convertTimestamp(exemplar.getTimestamp()));
    @javax.annotation.Nullable io.opencensus.trace.SpanContext spanContext = null;
    for (Map.Entry<String, AttachmentValue> attachment : exemplar.getAttachments().entrySet()) {
        String key = attachment.getKey();
        AttachmentValue value = attachment.getValue();
        if (ExemplarUtils.ATTACHMENT_KEY_SPAN_CONTEXT.equals(key)) {
            spanContext = ((AttachmentValueSpanContext) value).getSpanContext();
        } else {
            // Everything else will be treated as plain strings for now.
            builder.addAttachments(toProtoStringAttachment(value));
        }
    }
    if (spanContext != null && cachedProjectIdForExemplar != null) {
        SpanContext protoSpanContext = toProtoSpanContext(spanContext, cachedProjectIdForExemplar);
        builder.addAttachments(toProtoSpanContextAttachment(protoSpanContext));
    }
    return builder.build();
}
Also used : AttachmentValue(io.opencensus.metrics.data.AttachmentValue) Exemplar(com.google.api.Distribution.Exemplar) SpanContext(com.google.monitoring.v3.SpanContext) AttachmentValueSpanContext(io.opencensus.contrib.exemplar.util.AttachmentValueSpanContext) ByteString(com.google.protobuf.ByteString) Map(java.util.Map) LinkedHashMap(java.util.LinkedHashMap)

Aggregations

Exemplar (com.google.api.Distribution.Exemplar)1 SpanContext (com.google.monitoring.v3.SpanContext)1 ByteString (com.google.protobuf.ByteString)1 AttachmentValueSpanContext (io.opencensus.contrib.exemplar.util.AttachmentValueSpanContext)1 AttachmentValue (io.opencensus.metrics.data.AttachmentValue)1 LinkedHashMap (java.util.LinkedHashMap)1 Map (java.util.Map)1