public static boolean read(ReadBuffer buffer, Collection<Span> out) {
    if (buffer.available() == 0) return false;
    try {
      V1Span v1Span = new V1ThriftSpanReader().read(buffer);
      V1SpanConverter.create().convert(v1Span, out);
      return true;
    } catch (Exception e) {
      throw exceptionReading("Span", e);
    }
  }
Encoding overhead is thrift type plus 32-bit length prefix
zipkin/src/main/java/zipkin2/internal/ThriftCodec.java