Maybe we could utilize Golang's plugin library  <https://pkg.go.dev/plugin>to 
provide a way for users to write their own functions in compliance with the 
defined 
format 
<https://github.com/prometheus/prometheus/blob/7cb55d57328c60e4a69e741c4953b97e41bf0be3/promql/functions.go#L46>
 
and then dynamically load them into PromQL.

On Thursday, June 24, 2021 at 5:14:51 PM UTC-4 bjo...@rabenste.in wrote:

> On 24.06.21 00:05, 董善东 wrote:
> > hi,all
> > In the existing prometheus version, the anomaly detection still relies 
> > fully on the rules setting. We find that it is inconvenient to set and 
> hard 
> > to maintain in practical use.
> > So I propose to add some statistical analysis functions to provide 
> better 
> > and stronger AD ability. 
>
> Yeah, that's a frequent request. Unfortunately, there are so many
> statistical analysis functions that we can hardly just add them all.
>
> So far, the usual recommendation is to extract data from Prometheus
> via the HTTP API and feed it to a fully-fledged statistics tool.
>
> Obviously, that doesn't help you with alerts (which you probably want
> to keep within Prometheus).
>
> At the previous to last dev-summit (2021-05-27), we discussed the use
> case.
>
> Outcome was the following:
> * We want to explore supporting analytics use cases within PromQL behind
> a feature flag
> * We are open to wrapping other languages, e.g. R, Fortran, SciPython,
> given an accepted design doc
>
> See alse notes here:
>
> https://docs.google.com/document/d/11LC3wJcVk00l8w5P3oLQ-m3Y37iom6INAMEu2ZAGIIE/edit?ts=6036b8e0&pli=1#heading=h.sa2f6aem9wdt
>
> So I guess you could just implement the functions you like and put
> them into a PR, locked behind a feature flag.
>
> Personally, I'm still not sure if that's a sustainable
> approach. Perhaps integrating some scripting engine to allow
> user-defined functions might be better. But we'll see…
>
> -- 
> Björn Rabenstein
> [PGP-ID] 0x851C3DA17D748D03
> [email] bjo...@rabenste.in
>

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to prometheus-developers+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-developers/8fb5d7fc-30f8-4a68-aa27-05fb66b4c2e7n%40googlegroups.com.

Reply via email to