Skip to content

Akka Tracing 0.5 released

Lev Khomich edited this page Jul 18, 2016 · 2 revisions

0.5

New features:

  • Akka HTTP support
  • Spray client support
  • automatic tracing context propagation for messages serialized by Akka facilities
  • support for custom context propagation via tracing metadata API calls
  • trace.flush call forcing the extension to submit a span
  • trace.sampleClient call to initiate traces from client side

Improvements:

  • greatly improved test coverage
  • better interoperability with Brave
  • span processing pipeline implementation now uses akka-stream underneath
  • backpressure implementation for thrift transport
  • black lists for automatically tracked HTTP headers
  • mutable fields were removed from TracingSupport
  • spray integration: reject requests with broken tracing headers

API changes:

  • trace.forcedSample was deprecated, use trace.sample(force = true) instead
  • child.asChildOf(parent) was deprecated, use trace.createChild(parent, child) instead
  • trace.finish was deprecated, use trace.record(ts, TracingAnnotations.ServerSend) instead

What is it?

A distributed tracing Akka extension based on Twitter's Zipkin, which can be used as performance diagnostics and debugging tool.

It allows you to:

  • trace call hierarchies inside an actor system;
  • debug request processing pipelines (you can log to traces, annotate them with custom key-value pairs);
  • see dependencies between derived requests and their contribution to resulting response time;
  • find and analyse slowest requests in your system.