Yeah, no Windows support is less than desirable. Also after more research,
the library seems to be really fraught with issues. Hashicorp has its
plugin library <https://github.com/hashicorp/go-plugin>, but I don't think
we can afford to take the performance hit of going over RPC. I did find this
library <https://github.com/pkujhd/goloader> though, which I believe
supports Windows and looks really promising. We would have to subject it to
further testing though because I don't think it's broadly adopted.

It is the case that a scripting engine as Björn suggested would probably
the cleanest way to allows users to define their own functions, but that
approach brings a lot more complexity so I think this is a good solution
for now, also having the added benefit of language that's already widely
known.

On Fri, Jun 25, 2021 at 5:30 AM Julien Pivotto <[email protected]>
wrote:

> On 24 Jun 14:53, Levi Harrison wrote:
> > 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.
>
> That approach would ban windows users. I am not sure if that is an
> acceptable trade-off.
>
> >
> > On Thursday, June 24, 2021 at 5:14:51 PM UTC-4 [email protected] 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] [email protected]
> > >
> >
> > --
> > 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 [email protected].
> > To view this discussion on the web visit
> https://groups.google.com/d/msgid/prometheus-developers/8fb5d7fc-30f8-4a68-aa27-05fb66b4c2e7n%40googlegroups.com
> .
>
>
> --
> Julien Pivotto
> @roidelapluie
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-developers/CAJrMkW7eyMqBfiiqG-SHz9z53T0XwPWj6fs83cmrcMFNjZvSTA%40mail.gmail.com.

Reply via email to