in e2e-test/trace/src/integrationTest/java/com/amazon/dataprepper/integration/trace/EndToEndRawSpanTest.java [171:203]
public static ResourceSpans getResourceSpans(final String serviceName, final String spanName, final byte[]
spanId, final byte[] parentId, final byte[] traceId, final Span.SpanKind spanKind, final String endTime,
final Long durationInNanos, final Integer statusCode) {
final ByteString parentSpanId = parentId != null ? ByteString.copyFrom(parentId) : ByteString.EMPTY;
final long endTimeInNanos = convertTimeStampToNanos(endTime);
final long startTimeInNanos = endTimeInNanos - durationInNanos;
return ResourceSpans.newBuilder()
.setResource(
Resource.newBuilder()
.addAttributes(KeyValue.newBuilder()
.setKey("service.name")
.setValue(AnyValue.newBuilder().setStringValue(serviceName).build()).build())
.build()
)
.addInstrumentationLibrarySpans(
0,
InstrumentationLibrarySpans.newBuilder()
.addSpans(
Span.newBuilder()
.setName(spanName)
.setKind(spanKind)
.setSpanId(ByteString.copyFrom(spanId))
.setParentSpanId(parentSpanId)
.setTraceId(ByteString.copyFrom(traceId))
.setStartTimeUnixNano(startTimeInNanos)
.setEndTimeUnixNano(endTimeInNanos)
.setStatus(Status.newBuilder().setCodeValue(statusCode))
.build()
)
.build()
)
.build();
}