@Measurement(iterations = 10, time = 1) @Warmup(iterations = 10, time = 1) @Fork(3) @BenchmarkMode(Mode.Throughput) @OutputTimeUnit(TimeUnit.MICROSECONDS) @Threads(1) public class SpanIdBenchmarks { static final SpanId sampledRootSpan = new SpanId(1L, 1L, 1L, SpanId.FLAG_SAMPLED | SpanId.FLAG_SAMPLING_SET); static final byte[] sampledRootSpanBytes = sampledRootSpan.bytes(); static final TraceId sampledRootSpanFinagle = TraceId$.MODULE$.deserialize(sampledRootSpanBytes).get(); @Benchmark public SpanId fromBytes_brave() { return SpanId.fromBytes(sampledRootSpanBytes); } @Benchmark public TraceId fromBytes_finagle() { return TraceId$.MODULE$.deserialize(sampledRootSpanBytes).get(); } @Benchmark public byte[] bytes_finagle() { return sampledRootSpanFinagle.serialize(sampledRootSpanFinagle); } @Benchmark public byte[] bytes_brave() { return sampledRootSpan.bytes(); } @Benchmark public String toString_brave() { return sampledRootSpan.toString(); } @Benchmark public String toString_finagle() { return sampledRootSpanFinagle.toString(); } // Convenience main entry-point public static void main(String[] args) throws RunnerException { Options opt = new OptionsBuilder().include(".*" + SpanIdBenchmarks.class.getSimpleName() + ".*").build(); new Runner(opt).run(); } }
@Benchmark public byte[] bytes_brave() { return sampledRootSpan.bytes(); }