Notably, this removes the "zipkin-web" dependency, as the UI is now
collocated on zipkin-server.
Other notable changes are Cassandra and Kafka support, as well removing
the Brave dependency.
This is a maintenance update to zipkin which has no api impact.
* zipkin-server supports cassandra now
* zipkin-web is now javascript (even if still hosted on a scala process)
This updates to latest zipkin, adding a flag to gzip spans before
posting them. Note this is set to false by default as it requires servers
to also be latest. We can flip the default once we can assume that.
Ex. `spring.zipkin.compression.enabled = true`
This includes updates to the latest zipkin-web image and zipkin-java
dependency.
zipkin-web's notable as it does a lot more in javascript, ex it no
longer does server-side mustache template rendering. It also makes one
less call to the services endpoint when rendering the search page.
zipkin-java's in-memory span store is now in the core jar and also can
render the dependency tree. This means it is now feature-parity with
mysql (but still merely a test span-store). zipkin-java also now tests
that it can run without optional dependencies.
This includes better dependency aggregation than before. For example,
you no longer need mysql to view the dependency graph, as the in-memory
server supports aggregation now. Also, if you log "ca" on a root span,
the associated service will show on the dependency graph on the far
left. This allows you to show uninstrumented clients of note. Similarly,
if you log "sa" on a leaf node, the destination will show on the far
right. You'd use "sa" for uninstrumented services like databases, auth
servers or cloud apis.
Note: 0.5.2 uses spring boot 1.3.2
Also allows us to actually create a PercentageBasedSampler (I
don't think anyone tried it before) without resorting to
lazy beans and proxies.
Another freature added here is a default percentage sampler
if we know that spans need to be exported (zipkin or stream
is present).
Fixes gh-138
Changes following review
- Reusing CounterService to automatically profit from Dropwizard if present
- NoOp is the default impl for SpanReporterService
- SpanReporterService has configurable metric names (it's enough to change the
name to 'meter.a.b.c' to profit from Dropwizard's meters)
Fixes gh-99
Previously, sleuth logged more data than necessary. This led to issues
including spans approaching megabytes each. This pares down default keys
to a minimal set, but allows users to opt-into logging more by extending
`TraceFilter`.
- Changed Random instantiation to a shared Random
- Changed the name of the converter
- Changed generator into random
- Span id is now non-nullable.
- it gets generated in the http filter if it's not there
- it's generated in the spring-integration channels if it wasn't set
It's not really necessary to use rabbit, but the existing tests
weren't really using the stream components at all because
zipkin spans were being collected by spring-cloud-sleuth-zipkin.
Zipkin 0.4.1 obviates some duplication of configuration. It is also the
first version that's published as a docker image.
By switching to the published image of zipkin-java, we can be more
consistent, as `spring-cloud-sleuth-zipkin-stream` is derived from that,
not the scala query service.
Recent versions of zipkin and brave operate with http instead of scribe.
This changes the implementation accordingly, as well adds a sampler to
the POST endpoint.
A notable impact is that we no longer require a collector process, as
the zipkin server's POST endpoint is a collector.