Removes wiremock as a test dependency in core (which created more
issues than you might expect because Tomcat and Jetty don't treay
HTTP headers in the same way apparently).
Also moves the spring-messaging dependency to where it is needed
in sleuth stream.
This important in so far that it allows us to do metrics. The actual
implementation of stream metrics is something we can work on after 1.0
if there's a time crunch.
Notably, this removes the accidental transient dependency on scala, by
removing the dependency on `zipkin-cassandra-core`. Related classes have
been vendored into `storage-cassandra`.
This also splits out `CollectorSampler` as its own thing and introduces
two options for instrumentation sampling:
* `BoundaryTraceIdSampler` - For high-volume sites, based on Finagle
* `CountingTraceIdSampler` - Trades lower performance for high accuracy
No immediate impact to sleuth, but some notable changes underneath:
* zipkin.Sampler is now extensible to permit dynamic rate adjustments
* self-tracing can now be disabled even if Brave is in the classpath
* related property: zipkin.self-tracing.enabled
* brave-spancollector-scribe is no longer an optional dependency
In the world of plugins:
* Elasticsearch bugfix on traces w/ more than 10 spans
* New ZooKeeper adaptive collection-tier sampler
This updates to the latest release. Beyond bug fixes, there are some
notable changes:
* storage: writes are now via AsyncSpanConsumer
* storage: added elasticsearch
* zipkin-ui: constrains start time to look for traces
* zipkin-ui: assets set cache headers, increasing responsiveness
* core: debug logging available for zipkin.internal.DependencyLinker
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