@Test void span_write_writesIds() {
    SPAN.write(buf, spanBuilder().build());
    assertThat(bytes).startsWith(
      0b00001010 /* span key */, 20 /* bytes for length of the span */,
      0b00001010 /* trace ID key */, 8 /* bytes for 64-bit trace ID */,
      0, 0, 0, 0, 0, 0, 0, 1, // hex trace ID
      0b00011010 /* span ID key */, 8 /* bytes for 64-bit span ID */,
      0, 0, 0, 0, 0, 0, 0, 2 // hex span ID
    );
    assertThat(buf.pos())
      .isEqualTo(3 * 2 /* overhead of three fields */ + 2 * 8 /* 64-bit fields */)
      .isEqualTo(22); // easier math on the next test
  }
A map entry is an embedded messages: one for field the key and one for the value
zipkin/src/test/java/zipkin2/internal/Proto3ZipkinFieldsTest.java