public boolean isRoot() { return parentId.isEmpty(); }
private void serializeTraceContext(TraceContext traceContext, boolean serializeTransactionId) { // errors might only have an id writeHexField("id", traceContext.getId()); if (!traceContext.getTraceId().isEmpty()) { writeHexField("trace_id", traceContext.getTraceId()); } if (serializeTransactionId && !traceContext.getTransactionId().isEmpty()) { writeHexField("transaction_id", traceContext.getTransactionId()); } if (!traceContext.getParentId().isEmpty()) { writeHexField("parent_id", traceContext.getParentId()); } }
@Test void testInitEmpty() { final Id id = Id.new64BitId(); assertThat(id.toString()).isEqualTo("0000000000000000"); assertThat(id.isEmpty()).isTrue(); id.fromHexString("0000000000000000", 0); assertThat(id.toString()).isEqualTo("0000000000000000"); assertThat(id.isEmpty()).isTrue(); id.fromLongs(0); assertThat(id.toString()).isEqualTo("0000000000000000"); assertThat(id.isEmpty()).isTrue(); }
@Test void testReInit() { final Id id = Id.new64BitId(); id.fromHexString("0000000000000001", 0); assertThat(id.toString()).isEqualTo("0000000000000001"); assertThat(id.isEmpty()).isFalse(); id.fromHexString("0000000000000002", 0); assertThat(id.toString()).isEqualTo("0000000000000002"); assertThat(id.isEmpty()).isFalse(); }
@Test void testRandomValue() { final TraceContext traceContext = TraceContext.with64BitId(mock(ElasticApmTracer.class)); traceContext.asRootSpan(ConstantSampler.of(true)); assertThat(traceContext.getTraceId().isEmpty()).isFalse(); assertThat(traceContext.getParentId().isEmpty()).isTrue(); assertThat(traceContext.getId().isEmpty()).isFalse(); }
@Test void testReset() { final Id id = Id.new64BitId(); id.fromHexString("0000000000000001", 0); assertThat(id.toString()).isEqualTo("0000000000000001"); assertThat(id.isEmpty()).isFalse(); id.resetState(); assertThat(id.toString()).isEqualTo("0000000000000000"); assertThat(id.isEmpty()).isTrue(); }
@Test void testFromAndToLong() { final Id id = Id.new128BitId(); id.fromLongs(21, 42); assertThat(id.isEmpty()).isFalse(); assertThat(id.readLong(0)).isEqualTo(21); assertThat(id.readLong(8)).isEqualTo(42); } }