Releases: openzipkin/brave
Releases · openzipkin/brave
brave 2.3
brave 2.2.1
- Introduce
brave-client
module that prevents code duplication and adds consistency to different brave integration implementations. brave-client is used by all client implementations (RESTEasy, Jersey, Apache HttpClient). See #27 and #29 by srapp. - Improve compatibility with Zipkin. Hex encode trace id's. See #26 by klette and fix #28 by srapp.
- Bug fix in Jersey implementation by srapp . See #22
- Fix dependency issue. See #20 by K-jo.
brave 2.2.0
- Bugfix in spring resteasy integration. Mentioned in issue #3. Logic to set span name resulted in different values for client vs server side. As a result span names were not consistent in zipkin-web.
- Bugfix for
flume-zipkin-collector-sink
, see #16. Bug in Flume Zipkin SpanCollectorSink resulted in lost spans. Thanks to leonly0224 for catching this. - Bugfix for
flume-zipkin-metrics-sink
. Same issue as #16. - Add
brave-apache-http-interceptors
module. Which adds Apache HttpClient support. - Bugfix / improvement, see issues #15, #18, #19.
Makes it possible to set Endpoint service name from ClientTracer. This means you can name a service yourself (eg when accessing cache, database,...). But it also means you can set same service name
for client and server parts of span which result in better inspection in zipkin-web (see #18 ). Thanks to eirslett for implementing this. Both RestEasy and apache http client integration
have been adapted to make use of this. - Test
flume-zipkin-collector-sink
andflume-zipkin-metrics-sink
with flume 1.5.0 + update libraries to 1.5.0 - Update
flume-zipkin-collector-sink
to add connection and socket timeout config entry.
brave 2.1.1
- Bugfix: Make submitting annotations thread-safe. Add synchronisation to avoid ArrayIndexOutOfBoundsException or lost annotations.
- RestEasy BravePostProcessInterceptor clears span after 'server send' annotation is submitted. This prevents ThreadLocal classloader leak when used in Tomcat.
- Ryan Tenney : Make logger name configurable for
LoggingSpanCollectorImpl
. - Ryan Tenney : Update slf4j to version 1.7.5 and use parameters in log statements iso string concatenation.
brave 2.1.0
- Henrik Nordvik: Add Jersey support. See
brave-jersey
module. - Add
flume-zipkin-metrics
module. See README.md of that module for more information. - pettyjamesm: Added alternative Brave public api for use cases where the ThreadLocal approach is not working and you want to have more control over the context scope.
- Update
brave-resteasy-spring
module by addingBraveClientExecutionInterceptor
. This interceptor can be used with the RestEasy client framework and makes the usage of Brave with RestEasy even easier as it now supports both server and client side.
brave 2.0.2
ZipkinSpanCollector
: Give the option to log error but not throw exception when connection with collector can't be set up during initialisation.- Make
ZipkinSpanCollector
more configurable. Allow configuration of queue size, batch size, nr of processing threads, socket time out. - Important bugfix in
ZipkinSpanCollector
. The processing thread(s) catch and log all exceptions to prevent they end prematurely. - Rename 'batchSize' config property of
ZipkinSpanCollectorSink
to 'batchsize' to bring it inline with other config parameters (all lower case).
brave 2.0.1
Bugfix release:
- Adapt
ZipkinSpanCollector
so it is able to reconnect to Scribe / Zipkin Collector in case of temporary network connectivity issues. - Adapt Flume
ZipkinSpanCollectorSink
so it is able to reconnect to Zipkin Collector in case of temporary network connectivity issues. BraveCallable
constructor is public.
Brave 2.0
Brave 1.0
was an alternative implementation of Dapper with integration with the Zipkin backend components.
Brave 2.0
has the Zipkin core thrift classes as part of its api. This has as consequence that it will be easier to share components or extensions between Zipkin/Brave. It is compatible with Zipkin 1.1
Implemented changes:
- Use Zipkin-core thrift generated classes as part of api.
- Binary annotation support.
- Cut dependencies with Twitter specific libraries. Only rely on Thrift.
- Performance and through-put optimizations for zipkin-span-collector. It uses queue to store spans and separate thread for submitting spans to span collector / scribe.
It tries to buffer spans to send them in batches to avoid communication overhead. - Make sampling / trace filtering work properly. See here for details.
- Add flume support for transporting spans. See flume-zipkin-collector-sink.
- Add TraceFilter implementation that uses Zookeeper for globally adjusting sample rate or enable/disable tracing all together. See brave-tracefilters
- Extend threading support by introducing BraveExecutorService, BraveCallable and BraveRunnable.