Zipkin 1.19

@adriancole adriancole released this Jan 2, 2017 · 30 commits to master since this release

Zipkin 1.19 includes UI and server improvements and controls in-flight requests to Elasticsearch

Our first release of the new year includes code from a couple Zipkin newcomers: Jakub and Nomy

  • @jakubhava beautified the UI when json is used as a tag (aka binary annotation) value (#1458)
  • @naoman fixed span merge logic (#1443) and an edge case in very large tags (#1451)

We're also lucky that Chris and Jeanneret continue to fix issues for the rest of us

  • @fedj solved a couple hard-to-diagnose errors
    • Annotation-qualified cassandra queries weren't returning results (#1461)
    • Clock-skew adjustment didn't kick in when a client received a response before the server sent it (#1465)
  • @cburroughs continues to pare down the UI issue backlog
    • You can now see the json behind a search request (handy when debugging) (#1448)
    • Escapes javascript so that it isn't executed when embedded in span data (#1447)

We also have a new feature for Elasticsearch users (those using http to connect)
Before, we limited in-flight http connections per Elasticsearch host to 5. This is now 64 and can be adjusted by the ES_MAX_REQUESTS variable. (#1450)


Zipkin 1.18

@adriancole adriancole released this Dec 19, 2016 · 47 commits to master since this release

Zipkin 1.18 includes a number of UI fixes and exposes arbitrary Kafka configuration

Thanks to @cburroughs, many Zipkin UI glitches are addressed, including the ability to escape out of dialog boxes and fix the default trace view to Expand All services. Chris also reduced its minified size from 2.2 MiB to 821KiB, which will improve load performance and also reduce bandwidth usage.

Also notable in 1.18 is Kafka configuration. You can now override any Kafka consumer property using zipkin.collector.kafka.overrides as a CLI argument or system property.

For example, to override "", you can set a prefixed system property:

$ KAFKA_ZOOKEEPER= java -jar zipkin.jar

Thanks to our volunteers for continued improvements, and to our users for improvement suggestions.


  • Dec 19, 2016


    Adds Span.Builder.clear() (#1442)
    Unlike Endpoint, Annotation, etc Span cannot be composed without a
    builder. This makes it possible to reuse the builder which improves
    straight-line performance quite a bit.
    Benchmark                                  Mode  Cnt  Score   Error   Units
    SpanBenchmarks.buildClientOnlySpan        thrpt   15  6.088 ± 0.161  ops/us
    SpanBenchmarks.buildClientOnlySpan_clear  thrpt   15  8.080 ± 0.227  ops/us
  • Nov 30, 2016


    [maven-release-plugin] copy for tag 1.17.1
  • Nov 30, 2016


    Allows elasticsearch-http to accept multiple hosts (#1422)
    Our first version of elasticsearch-http had a TODO to support multiple
    base urls. This implements that feature using round-robin DNS.
    Most users will supply a DNS name that's mapped to multiple A or AAAA
    records. For example, `http://elasticsearch:9200` will use normal host
    lookups to get the list of IP addresses.
    You can alternatively supply a list of http base urls. This list is used
    to recover from failures. Note that all ports must be the same, and the
    scheme must be http, not https.
    Here are some examples:
    * http://elasticsearch:9200,
    * http://elasticsearch-1:9200,http://elasticsearch-2:9200