Skip to content
Lev Khomich edited this page Jul 18, 2016 · 4 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

0.4

New features

  • Play framework support (and activator template to demonstrate it);
  • tracing flags support;
  • akka.pattern.ask wrapper to simplify ask tracing;
  • collector unavailability handling preventing excessive memory usage.

Improvements

  • reusable thrift transport to reduce GC overhead;
  • better interoperation with spray-json formats;
  • improved test coverage;
  • improved error handling and reporting;
  • now extension doesn't produce any (internal messaging) overhead if disabled;
  • improved automated http request annotating in Play and Spray integration modules;
  • bug fixes.

API changes

  • new method trace.forcedSample which allows to sample message independently of sampling rate;
  • new method trace.finish(msg) which can be used to explicitly finish trace (for example, in cases when you have no response to be marked by .asResponseTo);
  • trace.setSampleRate was removed, you still can use config to set sample rate;
  • unmarshallerWithTracingSupport was removed from Spray integration module;
  • trace.sample(msg, service, spanName) was deprecated, use trace.sample(msg, service) and override msg.spanName instead.

0.3

New features

Improvements

  • reduced memory footprint and GC overhead;
  • performance improvements (up to 20%);
  • collector connectivity issues handling;
  • bug fixes.

API changes

  • trace.sample(msg); trace.recordRPCName(msg, service, rpc) replaced by trace.sample(msg, service, rpc);
  • trace.recordException renamed to trace.record

0.2

  • tracing performance improvements;
  • improved span timestamp precision (up to microseconds);
  • complete support for Java-only projects;
  • better handling for actor system shutdown;
  • complete developer docs.

0.1

  • tracing extension itself (supports both Scala and Java APIs);
  • trace logging support;
  • Scala and Java examples.