/** * * * <pre> * A list of new spans. The span names must not match existing * spans, or the results are undefined. * </pre> * * <code>repeated .google.devtools.cloudtrace.v2.Span spans = 2;</code> */ public Builder setSpans( int index, com.google.devtools.cloudtrace.v2.Span.Builder builderForValue) { if (spansBuilder_ == null) { ensureSpansIsMutable(); spans_.set(index, builderForValue.build()); onChanged(); } else { spansBuilder_.setMessage(index, builderForValue.build()); } return this; } /**
@java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { com.google.devtools.cloudtrace.v2.Span parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (com.google.devtools.cloudtrace.v2.Span) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; }
if (logTranslation) LOG.log(FINE, ">> translating zipkin span: {0}", zipkinSpan); spanBuilder.setSpanId(zipkinSpan.id()); if (zipkinSpan.parentId() != null ) { spanBuilder.setParentSpanId(zipkinSpan.parentId()); spanBuilder.setDisplayName( toTruncatableString(zipkinSpan.name() != null ? zipkinSpan.name() : "")); spanBuilder.setStartTime(createTimestamp(zipkinSpan.timestampAsLong())); if (zipkinSpan.durationAsLong() != 0L) { Timestamp endTime = createTimestamp(zipkinSpan.timestampAsLong() + zipkinSpan.durationAsLong()); spanBuilder.setEndTime(endTime); spanBuilder.setAttributes(ATTRIBUTES_EXTRACTOR.extract(zipkinSpan)); ); spanBuilder.setTimeEvents(events);
Span.Builder spanBuilder = Span.newBuilder() .setName(spanName.toString()) .setSpanId(spanIdHex) .setDisplayName( toTruncatableStringProto(toDisplayName(spanData.getName(), spanData.getKind()))) .setStartTime(toTimestampProto(spanData.getStartTimestamp())) .setAttributes( toAttributesProto(spanData.getAttributes(), resourceLabels, fixedAttributes)) .setTimeEvents( toTimeEventsProto(spanData.getAnnotations(), spanData.getMessageEvents())); io.opencensus.trace.Status status = spanData.getStatus(); if (status != null) { spanBuilder.setStatus(toStatusProto(status)); spanBuilder.setEndTime(toTimestampProto(end)); spanBuilder.setLinks(toLinksProto(spanData.getLinks())); Integer childSpanCount = spanData.getChildSpanCount(); if (childSpanCount != null) { spanBuilder.setChildSpanCount(Int32Value.newBuilder().setValue(childSpanCount).build()); spanBuilder.setParentSpanId(spanData.getParentSpanId().toLowerBase16()); spanBuilder.setSameProcessAsParentSpan(BoolValue.of(!hasRemoteParent)); return spanBuilder.build();
Span.Builder spanBuilder = Span.newBuilder() .setName(spanName.toString()) .setSpanId(spanIdHex) .setDisplayName( toTruncatableStringProto(toDisplayName(spanData.getName(), spanData.getKind()))) .setStartTime(toTimestampProto(spanData.getStartTimestamp())) .setAttributes( toAttributesProto(spanData.getAttributes(), resourceLabels, fixedAttributes)) .setTimeEvents( toTimeEventsProto(spanData.getAnnotations(), spanData.getMessageEvents())); io.opencensus.trace.Status status = spanData.getStatus(); if (status != null) { spanBuilder.setStatus(toStatusProto(status)); spanBuilder.setEndTime(toTimestampProto(end)); spanBuilder.setLinks(toLinksProto(spanData.getLinks())); Integer childSpanCount = spanData.getChildSpanCount(); if (childSpanCount != null) { spanBuilder.setChildSpanCount(Int32Value.newBuilder().setValue(childSpanCount).build()); spanBuilder.setParentSpanId(spanData.getParentSpanId().toLowerBase16()); spanBuilder.setSameProcessAsParentSpan(BoolValue.of(!hasRemoteParent)); return spanBuilder.build();
/** * Convert a Collection of Zipkin Spans into a Collection of Stackdriver Trace Spans. * * @param projectId The Google Cloud Platform projectId that should be used for Stackdriver Trace * Traces. * @param zipkinSpans The Collection of Zipkin Spans. * @return A Collection of Stackdriver Trace Spans. */ public static List<com.google.devtools.cloudtrace.v2.Span> translate( String projectId, List<Span> zipkinSpans) { List<com.google.devtools.cloudtrace.v2.Span> result = new ArrayList<>(zipkinSpans.size()); for (int i = 0, len = zipkinSpans.size(); i < len; i++) { Span zipkinSpan = zipkinSpans.get(i); com.google.devtools.cloudtrace.v2.Span.Builder spanBuilder = translate( com.google.devtools.cloudtrace.v2.Span.newBuilder(), zipkinSpan); spanBuilder.setName( "projects/" + projectId + "/traces/" + paddedTraceId(zipkinSpan.traceId()) + "/spans/" + zipkinSpan.id()); result.add(spanBuilder.build()); } return result; }
static Span parseTraceIdPrefixedSpan( byte[] traceIdPrefixedSpan, int spanNameSize, ByteString traceIdPrefix) { // start parsing after the trace ID int off = 32, len = traceIdPrefixedSpan.length - off; Span.Builder span = Span.newBuilder(); try { span.mergeFrom(traceIdPrefixedSpan, off, len); } catch (IOException e) { throw new AssertionError(e); } int offset = 0; // Span name in Stackdriver is the global unique identifier of the span, including project ID, // trace ID, and span ID. It is _not_ the same as the name in Zipkin which is the semantic name. byte[] spanName = new byte[spanNameSize]; traceIdPrefix.copyTo(spanName, offset); offset += traceIdPrefix.size(); System.arraycopy(traceIdPrefixedSpan, 0, spanName, offset, 32); offset += 32; SPAN_ID_PREFIX.copyTo(spanName, offset); offset += SPAN_ID_PREFIX.size(); span.getSpanIdBytes().copyTo(spanName, offset); span.setNameBytes(UnsafeByteOperations.unsafeWrap(spanName)); return span.build(); }
static Span parseTraceIdPrefixedSpan( byte[] traceIdPrefixedSpan, int spanNameSize, ByteString traceIdPrefix) { // start parsing after the trace ID int off = 32, len = traceIdPrefixedSpan.length - off; Span.Builder span = Span.newBuilder(); try { span.mergeFrom(traceIdPrefixedSpan, off, len); } catch (IOException e) { throw new AssertionError(e); } int offset = 0; // Span name in Stackdriver is the global unique identifier of the span, including project ID, // trace ID, and span ID. It is _not_ the same as the name in Zipkin which is the semantic name. byte[] spanName = new byte[spanNameSize]; traceIdPrefix.copyTo(spanName, offset); offset += traceIdPrefix.size(); System.arraycopy(traceIdPrefixedSpan, 0, spanName, offset, 32); offset += 32; SPAN_ID_PREFIX.copyTo(spanName, offset); offset += SPAN_ID_PREFIX.size(); span.getSpanIdBytes().copyTo(spanName, offset); span.setNameBytes(UnsafeByteOperations.unsafeWrap(spanName)); return span.build(); }
/** * * * <pre> * A list of new spans. The span names must not match existing * spans, or the results are undefined. * </pre> * * <code>repeated .google.devtools.cloudtrace.v2.Span spans = 2;</code> */ public Builder addSpans( int index, com.google.devtools.cloudtrace.v2.Span.Builder builderForValue) { if (spansBuilder_ == null) { ensureSpansIsMutable(); spans_.add(index, builderForValue.build()); onChanged(); } else { spansBuilder_.addMessage(index, builderForValue.build()); } return this; } /**
/** * * * <pre> * A list of new spans. The span names must not match existing * spans, or the results are undefined. * </pre> * * <code>repeated .google.devtools.cloudtrace.v2.Span spans = 2;</code> */ public Builder setSpans( int index, com.google.devtools.cloudtrace.v2.Span.Builder builderForValue) { if (spansBuilder_ == null) { ensureSpansIsMutable(); spans_.set(index, builderForValue.build()); onChanged(); } else { spansBuilder_.setMessage(index, builderForValue.build()); } return this; } /**
/** * * * <pre> * A list of new spans. The span names must not match existing * spans, or the results are undefined. * </pre> * * <code>repeated .google.devtools.cloudtrace.v2.Span spans = 2;</code> */ public Builder addSpans(com.google.devtools.cloudtrace.v2.Span.Builder builderForValue) { if (spansBuilder_ == null) { ensureSpansIsMutable(); spans_.add(builderForValue.build()); onChanged(); } else { spansBuilder_.addMessage(builderForValue.build()); } return this; } /**
@java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { com.google.devtools.cloudtrace.v2.Span parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (com.google.devtools.cloudtrace.v2.Span) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; }
public static Builder newBuilder(com.google.devtools.cloudtrace.v2.Span prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); }
com.google.devtools.cloudtrace.v2.Span translate(Span span) { return SpanTranslator.translate( com.google.devtools.cloudtrace.v2.Span.newBuilder(), span).build(); }
com.google.devtools.cloudtrace.v2.Span translate(Span span) { return SpanTranslator.translate( com.google.devtools.cloudtrace.v2.Span.newBuilder(), span).build(); }
@java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.devtools.cloudtrace.v2.Span) { return mergeFrom((com.google.devtools.cloudtrace.v2.Span) other); } else { super.mergeFrom(other); return this; } }
/** * * * <pre> * A list of new spans. The span names must not match existing * spans, or the results are undefined. * </pre> * * <code>repeated .google.devtools.cloudtrace.v2.Span spans = 2;</code> */ public Builder addSpans( int index, com.google.devtools.cloudtrace.v2.Span.Builder builderForValue) { if (spansBuilder_ == null) { ensureSpansIsMutable(); spans_.add(index, builderForValue.build()); onChanged(); } else { spansBuilder_.addMessage(index, builderForValue.build()); } return this; } /**
/** * * * <pre> * A list of new spans. The span names must not match existing * spans, or the results are undefined. * </pre> * * <code>repeated .google.devtools.cloudtrace.v2.Span spans = 2;</code> */ public Builder addSpans(com.google.devtools.cloudtrace.v2.Span.Builder builderForValue) { if (spansBuilder_ == null) { ensureSpansIsMutable(); spans_.add(builderForValue.build()); onChanged(); } else { spansBuilder_.addMessage(builderForValue.build()); } return this; } /**
public static Builder newBuilder(com.google.devtools.cloudtrace.v2.Span prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); }