Zipkin Reporter 3.0.0
Zipkin Reporter 3.0.0 makes the io.zipkin.zipkin2:zipkin dependency of io.zipkin.reporter2:zipkin-reporter-brave optional. This means those using the AsyncZipkinSpanHandler
will have no dependencies except any sender they configure. In particular, this allows those using Brave for things besides zipkin (e.g. wavefront) to avoid a dependency. Also, those sending spans zipkin have simpler dependency configuration and save a couple hundred KB, as well.
Those using types from the core io.zipkin.reporter2:zipkin-reporter artifact should depend on this directly, possibly using our bom to align deps. io.zipkin.reporter2:zipkin-reporter
still defaults to depend on io.zipkin.zipkin2:zipkin
, but it can be excluded if you know what you are doing.
Technically, some base classes to accommodate this, but they don't have affect on call sites except those implementing a custom Reporter
or Sender
. Due to these type changes, this is a major version change. However, must users will have a drop-in experience, except possibly dependency configuration changes.
Thanks a lot to @anuraaga and @reta who helped think through this!