-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Outlier detection? #49
Comments
I know of a few people wanting anomaly detection but it can be a slippery road too. 😉 Also one more idea would be to introduce stdev to the statistics and then graph what are called bollinger bands (https://en.wikipedia.org/wiki/Bollinger_Bands). Basically allow someone to see the upper and lower bound what is 'normal'. Of course you could always use the stdev as a measure of volatility too. Max / Min usually works quite well but it can also skew results and over emphasize volatility. Again just ideas either way I'm not married to them 😄 |
This is something I've always wanted, which is why I asked @davydovanton to save each job runtime in a Redis list, but there's a few gotchas:
So... all that said, I'd love to see it implemented and see how useful it proves to be in the wild. |
Yea my main fear is I don't want to try and recreate skylight or newrelic either. They do what they do well. As for the second concern. Assuming you have something so volatile if the worker played out like that and was randomly 5ms or 5000ms over time it'd lead to stdev of 2497.5ms meaning that the bands would be 2502.5 (mean) +/- 3 * 2497.5. After it happened a few times it'd self heal so to speak. 3 is a pretty standard threshold. I like what you say about detecting regressions after a deploy. That's probably what it would pick up mostly. I'll work on a PR. |
wow, @hexgnu it's very interesting for me. I'll wait PR 😃 |
I like this project seems like a cool idea!
Just wondering would y'all be interested in an outlier detection pull request? Not sure if that's outside the scope of this project or not.
My thinking would be to introduce mean absolute deviation (or MAD), and median to the time statistics hash. Then from there use the industry standard 3 threshold for a pretty robust and simple outlier detection model. Graphically I would just annotate the outliers. It would be cool to somehow tie this to alerting but I feel that might be way out of scope.
Thoughts / concerns?
Cheers ✨
The text was updated successfully, but these errors were encountered: