Right, but more basic, how do you get this information from the application right now? Are you reading logs? Does it emit statsd data?
You're saying what, but not how. On Sun, Aug 7, 2022 at 7:15 PM Johny <[email protected]> wrote: > Gauge contains most recent values of a metric, sampled every 1 min or so, > and exported by a user application, e.g. some latency sampled at 1 minute > intervals by a client application. Lets presume this time series (scraped > by Prometheus or sent via remote write) is absolute containing all the > information we need for calculating derived statistics. In the most raw > form, you can fetch the data points, sort them and calculate percentile. > Incidentally, legacy backend has efficient mechanisms to calculate > percentiles by scanning and reducing data using map-reduce. > > > > On Sunday, August 7, 2022 at 7:49:05 AM UTC-4 [email protected] wrote: > >> So, let's take a step back and find out some more information, because >> this question is sounding a lot like an XY Problem. >> >> How are the current applications generating their metrics right now? >> How are you getting the data to create these histograms? >> >> On Sun, Aug 7, 2022 at 9:23 AM Johny <[email protected]> wrote: >> >>> We are migrating telemetry backend from legacy database to Prometheus >>> and require estimating percentiles on gauge metrics published by user >>> applications. Estimating percentiles on a gauge metric in Prometheus is not >>> feasible and for a number of reasons, client applications will be difficult >>> to modify to start publishing histograms. >>> >>> I am exploring feasibility of creating a histogram in a recording rule >>> in Prometheus based on the metrics published by users. The partial work put >>> in so far seems inefficient, also illegible. Is there a recommended >>> approach to solve this problem? As stated earlier, it will be extremely >>> hard to solve the problem on the client side and I am looking for a >>> solution within Prometheus. >>> >>> *Current metric is a gauge with with values representing request >>> latency.* >>> http_duration_milliseconds_gauge{instance="instance1:port1"}[1h] >>> 1659752188 100 >>> 1659752068 120 >>> .. >>> 1659751708 150 >>> 1659751588 160 >>> >>> *Desired histogram after conversion -* >>> http_duration_milliseconds_hist_bucket{instance="instance1:port1", >>> le=100} 133 >>> http_duration_milliseconds_hist_bucket{instance="instance1:port1", >>> le=120} 222 >>> http_duration_milliseconds_hist_bucket{instance="instance1:port1", >>> le=140} 311 >>> http_duration_milliseconds_hist_bucket{instance="instance1:port1", >>> le=160} 330 >>> http_duration_milliseconds_hist_bucket{instance="instance1:port1", >>> le=180} 339 >>> http_duration_milliseconds_hist_bucket{instance="instance1:port1", >>> le=200} 340 >>> >>> >>> >>> >>> >>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Prometheus Users" 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-users/f95b5512-1c81-4e12-9670-7c7eb0d29f5en%40googlegroups.com >>> <https://groups.google.com/d/msgid/prometheus-users/f95b5512-1c81-4e12-9670-7c7eb0d29f5en%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > You received this message because you are subscribed to the Google Groups > "Prometheus Users" 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-users/c8e3c184-e88d-4217-badc-f5f779b52af3n%40googlegroups.com > <https://groups.google.com/d/msgid/prometheus-users/c8e3c184-e88d-4217-badc-f5f779b52af3n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Prometheus Users" 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-users/CABbyFmqJ8yqAw_Qa1yzz_bUkUDfhfk58M%3Dx5UCtOgLuj%3Da-VFg%40mail.gmail.com.

