Comments (25)
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.
@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.
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.
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.
My thoughts on this are to permit backfilling via the API, and then we can have a separate tool that does this.
from prometheus.
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:
- 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)
- 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.
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.
bulk import
Sorry, what do you mean by that?
from prometheus.
from prometheus.
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.
Could anyone give some hints or directions about this feature? Should it be in the internal Prometheus or promtool?
from prometheus.
I would really loooove to see it reuse #5887 which is actively being worked on
from prometheus.
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.
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.
I am taking this up. Thank you.
from prometheus.
from prometheus.
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.
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 @yeya24: are you both planning to participate in GSoC as well?
Yes
from prometheus.
Available as Community Bridge project.
from prometheus.
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.
Hello, I want to take this up as a community bridge mentee project.
from prometheus.
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.
Closed by #7675
from prometheus.
For the remaining tasks see #8667
from prometheus.
Related Issues (20)
- improve --rules.max-concurrent-evals description. HOT 1
- Out of order exemplars when sending metrics using OpenTelemetry spanmetrics connector
- Some aggregations and functions produce incorrect results for native histograms HOT 4
- docker image does not recognise timezone appropriately HOT 1
- OOM crashloop auto-recovery
- discovery(scaleway): instances without private IPs are not added to the target lists
- protocol error: received DATA after END_STREAM HOT 3
- Prometheus does not recognize `HELP` and `TYPE` for OpenMetrics counters HOT 3
- Idea to improve performance after missing a cache during scrape processing
- Promethues counter decreases by 1 for some time series data HOT 7
- prometheus is very slow for query and almost unavailable HOT 3
- Persist alert 'keep_firing_for' state across restarts HOT 5
- --enable-feature: Consider removing no-default-scrape-port HOT 1
- promtool syntax detects errors HOT 1
- Please sign your releases HOT 2
- Default --storage.tsdb.retention.time HOT 4
- Prometheus too old sample issue
- docs: Remove the section about remote read JSON responses - it only supports proto response or errors HOT 2
- Corrupting data written to remote storage in case sample_age_limit is hit HOT 1
- Implement support for dots in metric and label names. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from prometheus.