Gnocchi 4 is out

Tuesday 13 June 2017 Gnocchi Comments

Finally! Four months ago we pushed the Gnocchi 3.1 release and here we are now, release the 4th major version of that timeseries database.

A lot happened in the last 4 months.

First, as I already wrote about, we moved to GitHub for hosting our project. This slowed down our development pace for a couple of weeks, but we're now almost back to normal! We were a bit sad to quit the great infrastructure that we used before, but it feels great to be hosted on a platform everyone knows about and is more straightforward to use.

Second, we implemented some major changes that should improve performances again. We tend to that in each release, I know, I know. As usual, the release notes contains most of the major changes we did and can be read online. But I'd like to talk about few here that I find very exciting. The work and performances tests that Alex Krzos did (and we presented during the last OpenStack Summit) was of a great help for inspiration on where to improve performances.

  • Redis! We added a Redis driver which can store incoming measures and metric archives. Obviously, it's more meant for incoming measures. Remember, in Gnocchi 3.1 we split the storage driver into two parts: the incoming measure storage and the archive storage. Since you can use two different drivers for those different functions, with Gnocchi 4.0 you can use Redis to store your incoming measures in a very fast temporary storage service and then metricd will process them and store the results in your favorite scalable storage such as Ceph, where it's mostly read.

  • Sacks! We rewrote the entire scheduling mechanism for metricd. It now uses several "sacks" to store incoming measures in a distributed manner, instead of the previous one-sack-only storage for those incoming data. A hashring is then used to spread the processing workload on all the running metricd daemon. Faster, simpler and more efficient scheduling should happen with this version!

  • S3! We fixed the S3 driver. It was a nice proof-of-concept in 3.1 and now it should work. For real.

That's mostly it. The rest of the changes are bug fixes there and there and some performance improvement, but this should be enough to get you excited to try it out.

Come and join us on GitHub! Star us, and stay tuned for some more awesome news around metrics.