Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to track series churn #4547

Open
brancz opened this Issue Aug 27, 2018 · 5 comments

Comments

Projects
None yet
2 participants
@brancz
Copy link
Member

brancz commented Aug 27, 2018

Proposal

Use case. Why is this important?

In order to identify targets producing high series-churn it would be good to track the number of time-series appearing/disappearing across scrapes of a target. I haven't looked into an implementation too much, but I think this is relatively close to the staleness tracking, so we could use those existing mechanisms to produce this metric.

I'd propose a metric called something along the lines of:

prometheus_target_scrape_series_created_total

This metric would basically be increased whenever a sample of a scrape of a target causes a new time-series to be created. Essentially a more detailed prometheus_tsdb_head_series_created_total.

@brian-brazil @krasi-georgiev @simonpasquier

cc @mxinden @squat @s-urbaniak

@brian-brazil

This comment has been minimized.

Copy link
Member

brian-brazil commented Aug 27, 2018

Per-target information doesn't belong on /metrics, anything like that would need to be one of the scrape_ gauges.

If piggy backing on existing logic, this will underestimate as it'll missing data around failed scraped.

@brancz

This comment has been minimized.

Copy link
Member Author

brancz commented Aug 27, 2018

Can you be more specific what you mean by "scrape_ gauges"?

If piggy backing on existing logic, this will underestimate as it'll missing data around failed scraped.

Yes that's what I could tell from the code as well, I think an estimation is better than nothing and while it seems a little more complicated I think it might also be possible to get the exact value.

@brian-brazil

This comment has been minimized.

Copy link
Member

brian-brazil commented Aug 27, 2018

Things like scrape_samples_scraped.

@brancz

This comment has been minimized.

Copy link
Member Author

brancz commented Aug 27, 2018

Got it, that makes sense and works just as well. Just for my own understanding and for anyone else reading this, the "report metrics" are written directly to tsdb upon scrapes of a target. This is more suitable in this case, because this is actually information of the target and therefore does not belong in the metrics exposed by Prometheus itself. Right?

@brian-brazil

This comment has been minimized.

Copy link
Member

brian-brazil commented Aug 27, 2018

Yes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.