Change Detection: Otava 0.8.0 released, compare algorithms with Otava Playground demo app

Posted by

·

 

Change Detection: Otava 0.8.0 released, compare algorithms with Otava Playground demo app

Over at Apache Otava (Incubating) we released Apache Otava 0.8.0 in May. This is the first release with significant new stuff in it, where previous releases were mostly about bringing together several individual forks and practicing the rather formal ASF release process. But now we’re finally moving!

  • Support for all modern python versions means you can now easily add change detection to your continuous benchmarking infra, without having to deal with end of life python versions due to us.
  • Complete clean room rewrite of the core edivisive algorithm, which we also have started to call the Matteson and James algorithm. Thanks to Denis Schepakin from the AWS Applied Mathematics team for this incredible piece of work.
  • As part of the independent rewrite, Denis found a bug in implementation he replaced. The new implementation is able to find certain types of change points that all previous versions of Hunter (datastax-labs) and signal_processing_algorithms (Mongodb) have missed.

From a project and community point of view it’s been nice to see – what for us – is an avalanche of new contributors. Apparently a small patch from a net new contributor, was just submitted, reviewed and merged while I was writing this blog post!

From a personal point of view this is very rewarding. Performance Engineering is a quite lonely profession: Often we work as the single hired performance expert, in a team with all the other developers, who work on things like user interfaces and design, and don’t really understand nor want to understand what the performance engineer does. It turns out being a maintainer of an open source tool used for Continuous Benchmarking is a great way of meeting other performance engineers! <3

Otava Playground

Together with Joe Drumgoole we vibe coded an app to demo and test Otava on a randomly generated data-set. We also added several other algorithms and heuristics that I have seen used to do automatic alerting of performance regressions in benchmarking data.

We now donated this to ASF as well, after which Alex Sorokoumov added a mode to also import your own data set. So if you have some old benchmarking data lying around, now you can very easily just copy paste it into this tool and see what Otava (or Nyrkiö) could find in your benchmark results if you had been using them to do change detection already.

Let me show you how cool this is with a proper video demo:

Henrik Ingo Avatar

About the author

Discover more from Nyrkiö Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading