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

Disable http_request_duration_seconds_bucket and http_request_duration_seconds_count, but keep http_request_duration_seconds_sum #99

Closed
wineman3 opened this issue Jan 12, 2022 · 5 comments

Comments

@wineman3
Copy link

Hello,

Thanks all for helping create this middleware. It's been really useful for my team. My question is:

We use the http_request_duration_seconds_sum metric heavily, but not so much the http_request_duration_seconds_bucket and http_request_duration_seconds_count. Is it possible to disable those metrics but keep tracking the sum?

@disjunction
Copy link
Collaborator

@wineman3 As described in the doc, the library provides either a histogram or the summary. So what you see are not just single metrics - but parts of the histogram, see https://prometheus.io/docs/concepts/metric_types/#histogram

I don't see, how the parts you're not interested in are so bad that you'd add any code or complexity to remove them. You may reduce the buckets by providing just one bucket. But that's max effort I would put into it.

Also I wonder, how is the sum alone of any use for you at all? Actually the division of sum by count gives you the average latency. I thought that's the whole point of the histogram. Average latency and corresponding count of hits all delivered with just 2 values. Isn't that cool?

@wineman3
Copy link
Author

Yeah sorry, my mistake. We use sum and count but the bucket/histogram metrics not as much. I can definitely see the value in them, it's more so an effort to reduce cardinality on our organization's Prometheus server.

@disjunction
Copy link
Collaborator

well, as I said my solution would be to provide buckets: []. This will result in exactly one bucket (+Inf), which will be the same as count. So you get 3 values instead of 2 you need.

But hey, for an edge case of a guy, who isn't interested in the fact that some of requests are REALLLY slow but are missed because of the averages (this is the point of buckets), it should be good enough.

I'm really reluctant of going away form histogram, cause it's indeed a good practice.

@disjunction
Copy link
Collaborator

@wineman3 please forgive my tone in the previous comment. It was an unjustified arrogance on my side.

Closing the issue, hopefully you came to an adequate solution.

@wineman3
Copy link
Author

@disjunction no worries! I really appreciate your help. It’s honestly given me insight to utilize the histogram metrics some more, and I may go that route now, this was just direction from leadership on my team but I may push back to utilize the histogram approach more extensively. Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants