Thanks for starting this thread! Making the project work with the modern Python version is very important for project adoption. At the same time, I don't think that we should maintain versions lower than Python 3.10 in newer major releases as pre-Otava users already have 2 releases to migrate to.
I would love us to collaborate with the MongoDB perf team and am curious to see what modes of collaboration they are open to. Best, Alex On Sun, Jul 20, 2025 at 10:29 AM Henrik Ingo <hen...@nyrkio.com> wrote: > Hey thanks, this was helpful! > > On Sat, Jul 19, 2025 at 12:54 AM David Daly <dr.davidd...@gmail.com> > wrote: > > > I reached out to a couple of people still at MongoDB. They may show up > > directly here later, but for now to the question about the differences > > between 2.x series and 1.3.5 I was told: > > > > the main difference (as far as i remember) of 2.0 branch from 1.0 branch > is > > > that it supports multivariate change point detection and improves the > > > distance calculation logic for permutation testing to make it faster. > We > > > also cleaned up the 1.0 code in 2.0 to make it easier to > read/understand > > > and got rid of interfaces that we were not using. > > > > > > I'm fairly confident that the multivariate code is not used in > production, > > but there were some experiments in that direction to lower false > positives > > and deal with the very large number of time series we had ended up > > tracking. > > > > I had forgotten this isn't implemented originally. Both Otava code and for > example Nyrkiö code that consumes it has structure to support multiple > metrics/variables, I had completely forgot they call the algorithm > separately for each one. > > Whether or not it is used by anyone or was ever useful to anyone, this > makes it a bit more interesting to consider upgrading to 2.0. Even just for > completeness if nothing else. > > > > > That person is going to be out for a week. Hopefully they show up and say > > hello directly to the mailing list after that. > > > Having MongoDB people directly involved would be great! If MongoDB perf > team wants to colllaborate with us, that alone is IMO sufficient reason to > work from the same version. > > I should note that the additions in Otava are significant, so upgrading > will require copy pasting and possibly changing blocks of code, not just > making some function call work if the nr of arguments changed. > > Currently there's code in Otava that rather should be in > signal_processing`*. Ideally we have discussed to maybe merge all of it > into a single repo, but alternatively we could push improvements from Otava > to the signal_processing repo. > > *) example: > > https://github.com/apache/otava/blob/8bb5e8eaaf8d0880650ad382c557963912e9454d/otava/analysis.py#L99 > > henrik >