@Override public byte[] encode(Span span) { return new V1ThriftSpanWriter().write(span); }
@Override public int sizeInBytes(Span input) { return new V1ThriftSpanWriter().sizeInBytes(input); }
@Override public byte[] encodeList(List<Span> spans) { return new V1ThriftSpanWriter().writeList(spans); }
public byte[] write(Span onlySpan) { Buffer result = new Buffer(sizeInBytes(onlySpan)); write(onlySpan, result); return result.toByteArray(); }
@Override public void write(Span value, Buffer buffer) { V1Span v1Span = converter.convert(value); byte[] endpointBytes = legacyEndpointBytes(value.localEndpoint()); writeAnnotations(buffer, v1Span, endpointBytes); writeBinaryAnnotations(buffer, v1Span, endpointBytes);
public byte[] write(Span span) { return writer.write(span); }
public int sizeInBytes(Span input) { return writer.sizeInBytes(input); }
static void writeBinaryAnnotations(Buffer buffer, V1Span v1Span, byte[] endpointBytes) { int binaryAnnotationCount = v1Span.binaryAnnotations().size(); ThriftCodec.writeListBegin(buffer, binaryAnnotationCount); for (int i = 0; i < binaryAnnotationCount; i++) { V1BinaryAnnotation a = v1Span.binaryAnnotations().get(i); byte[] ep = a.stringValue() != null ? endpointBytes : legacyEndpointBytes(a.endpoint()); ThriftBinaryAnnotationWriter.write(a.key(), a.stringValue(), ep, buffer); } }
V1ThriftSpanWriter encoder = new V1ThriftSpanWriter(); if (ts_micro == 0L) ts_micro = guessTimestamp(v2); insertTraces.add(insertTrace.newInput(span, encoder.write(v2), ts_micro));
@Override public int encodeList(List<Span> spans, byte[] out, int pos) { return new V1ThriftSpanWriter().writeList(spans, out, pos); } },