GithubHelp home page GithubHelp logo

Comments (25)

yeya24 avatar yeya24 commented on April 30, 2024 2

I have implemented a very basic version of this https://github.com/yeya24/backfiller. If the high-level idea of my implementation is similar, I want to work on this and add this utility to promtool

from prometheus.

matttproud avatar matttproud commented on April 30, 2024

@juliusv, we know that we can support retroactive rule evaluation now. Is that sufficient to close this issue, or should it be repurposed to handle the case of "archiving samples after retroactive rule evaluation"?

from prometheus.

juliusv avatar juliusv commented on April 30, 2024

It's not our top priority, but persisting timeseries resulting from rule evaluations against historical data is still a nice-to-have feature, so we can keep this around.

from prometheus.

matttproud avatar matttproud commented on April 30, 2024

Great. I'll re-title this issue. :)

2013/3/28 juliusv [email protected]

It's not our top priority, but persisting timeseries resulting from rule
evaluations against historical data is still a nice-to-have feature, so we
can keep this around.

β€”
Reply to this email directly or view it on GitHubhttps://github.com//issues/11#issuecomment-15575551
.

from prometheus.

brian-brazil avatar brian-brazil commented on April 30, 2024

My thoughts on this are to permit backfilling via the API, and then we can have a separate tool that does this.

from prometheus.

bwplotka avatar bwplotka commented on April 30, 2024

Hi, I would like to start a new discussion on this.
Basically, there are some clear benefits of having some back-in-time rule evaluation option for Prometheus.

Currently, there are certain UX issues while using rules. Let's have some basic example from a user perspective:

  • I created some cool, new metric.
  • I created some fancy dashboard.
  • Everybody loves my dashboard and it's quite popular, so I want to create a rule for the query used there to take out some load from Prometheus.
  • I created a rule.

Problems:

  1. How to test my rule? I need to wait some time to have it filled to check if I got it right for a longer period (that could include interesting cases). That requires lot's of context switches in my work and frustration (multiple frustrations by 100x when one is a newbie in PromQL)
  2. I cannot immediately put my rule on the dashboard because it's not yet filled

I totally agree that this is not critical and quite hard to achieve when we are talking about persisting new time series back in time when that time range is already packed in blocks and maybe even compacted or backed up/downsampled in case of thanos or remote-written.

But what about some simple solution (A), for example:

  • User created new rule
  • If flag XXX is set (or certain RPC is invoked on API), reevaluate the rule against all samples you have in memory (WAL)

The only unknown here is remote write, but when we make this feature optional - you can control if you want to have back-in-time rule evaluation or not.

Or maybe another option (B):

  • User created new rule
  • Backfill the rule in ephemeral space only (mem only) up to flag-rule-reeval-time or API RPC argument to make testing and using this rule on dashboards easier. "Past" samples will be ephemeral. Only new samples will be written normally.

Any thoughts?

CC @juliusv @brian-brazil @fabxc @devnev

from prometheus.

brian-brazil avatar brian-brazil commented on April 30, 2024

The requirement here is basically for bulk import, as I don't think this functionality belongs in Prometheus itself (though may be tied together via promtool).

from prometheus.

bwplotka avatar bwplotka commented on April 30, 2024

bulk import

Sorry, what do you mean by that?

from prometheus.

brian-brazil avatar brian-brazil commented on April 30, 2024

#535

from prometheus.

aamkye avatar aamkye commented on April 30, 2024

Hi, I'd like to ask if any progress has been made regarding generation of metrics in the past based on recording rules, I've described use case in #6440.

from prometheus.

yeya24 avatar yeya24 commented on April 30, 2024

Could anyone give some hints or directions about this feature? Should it be in the internal Prometheus or promtool?

from prometheus.

roidelapluie avatar roidelapluie commented on April 30, 2024

I would really loooove to see it reuse #5887 which is actively being worked on

from prometheus.

yeya24 avatar yeya24 commented on April 30, 2024

I would really loooove to see it reuse #5887 which is actively being worked on

Yes, totally agree with you. Waiting for that getting merged.

from prometheus.

supra08 avatar supra08 commented on April 30, 2024

Hi @juliusv @codesome, I am looking forward to contribute to Prometheus and participate in GSOC 2020. How can I proceed with this project?

from prometheus.

Harkishen-Singh avatar Harkishen-Singh commented on April 30, 2024

I am taking this up. Thank you.

from prometheus.

roidelapluie avatar roidelapluie commented on April 30, 2024

from prometheus.

yeya24 avatar yeya24 commented on April 30, 2024

I am taking this up. Thank you.

Hi, I already implemented this feature https://github.com/yeya24/backfiller here, but blocked on upstream promtool importer. Can I take this?

from prometheus.

codesome avatar codesome commented on April 30, 2024

We also probably want to agree on a small design document first.

this ^

And there are many takers here :)
@Harkishen-Singh @yeya24: are you both planning to participate in GSoC as well?

from prometheus.

Harkishen-Singh avatar Harkishen-Singh commented on April 30, 2024

@Harkishen-Singh @yeya24: are you both planning to participate in GSoC as well?

Yes

from prometheus.

bwplotka avatar bwplotka commented on April 30, 2024

Available as Community Bridge project.

from prometheus.

yeya24 avatar yeya24 commented on April 30, 2024

Hello, πŸ‘‹ I just started a design doc for this feature. https://docs.google.com/document/d/1h2MBA-tc2ALYBTr5b2bKLmQBaRP2aVJQOLNsIDFo8W4/edit?usp=sharing

I didn't add many detailed there, just some high-level ideas. Feel free to edit and comment on the doc directly!

from prometheus.

Abhik1998 avatar Abhik1998 commented on April 30, 2024

Hello, I want to take this up as a community bridge mentee project.

from prometheus.

Godtide avatar Godtide commented on April 30, 2024

Hi, @bwplotka I'm looking to work on this project as a community bridge mentee. How do we get started, already have my resume on the Portal

from prometheus.

codesome avatar codesome commented on April 30, 2024

Closed by #7675

from prometheus.

roidelapluie avatar roidelapluie commented on April 30, 2024

For the remaining tasks see #8667

from prometheus.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.