Snowplow Rust Tracker 0.2.0 released

We are very happy to announce version 0.2.0 of the Rust tracker. This release adds big component of tracker architecture - the Event Store! As the name suggests, it’s used to store events before they are sent to the collector, allowing the tracker to be resilient to network issues and to batch events together to reduce the number of requests to the collector.

It also comes with a handy retry mechanism, so if the collector is down, the tracker can have another go (or several, or none, it’s configurable!) at sending events.

A couple of other useful features have been added:

  • The tracker now emits logs!
  • cargo audit has been added to the CI pipeline, so we can be sure we’re not using any vulnerable dependencies.

Migration from 0.1.0

If you are upgrading from 0.1.0 there are a couple of breaking changes to be aware of:

  • Tracker.track is no longer an async function
  • The Emitter must be safely closed to allow the tracker to drop, as it spawns a thread to send events. This can be done by calling Tracker.close_emitter().

Check it out on GitHub and crates.io!

2 Likes