-
Notifications
You must be signed in to change notification settings - Fork 41
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
Bloomberg PR: Telemetry improvements #67
Conversation
Right now, we’re working to understand how best to move forward with telemetry. Below captures some points for consideration:
|
@mikeyyuen, I spoke with a team member, would you be able to tell us more about your team’s telemetry use case and what features you all use? We’d like to understand if there is any way that |
Hey @mikeyyuen our main concern between Statsd example
Dogstatsd example
Looking at the metrics changes from the PR, there are no tags added to the value themselves and only uses the dot delimiter. Omitting the support for global tags, my take is that our transition from the
Does this slight deviation from your proposed Telemetry changes work for you? |
@findkim, yes, I think dogstatsd would work well for us and be a good solution for most statsd users. Thank you for doing that research. |
fbb9e52
to
53794ff
Compare
Hi @mikeyyuen - thanks again for these telemetry improvements! I'm sure the community will be excited to start using them. I made a few minor changes to the original Bloomberg, namely:
EDIT: I also updated the version of go-metrics to v0.3.4 Don't hesitate to let me know if you have any questions or concerns. I'll leave this PR open for the next couple days. On Tuesday, I'll request my team to review. Thanks! |
Thanks @lornasong Your changes look good, we're excited to have them! |
I was looking at this feature and was wondering how the Prometheus support worked. The config mentions the Consul docs, but Consul has an http endpoint where these metrics can be scrapped. The only way I could find of obtaining the metrics, without sending them to a remote service, was to use SIGUSR1:
How can Prometheus scrape ESM's metrics? |
@edevil - apologies for the delay. Using SIGUSR1 is definitely one way to go. I'm not familiar with Prometheus and started looking into it. It looks like we are adding a Prometheus sink when initializing telemetry. I'll continue to look into it but wanted to reach out before too much time had passed. Please feel free to let me know if you have any updates. Thank you! |
Hello @lornasong . So prometheus metrics usually are scraped from the application through an http interface. The consul agent, which already has an http interface, exposes the metrics here https://github.com/hashicorp/consul/blob/1b413b0444fe91a30bf18989fe8c668a767c9c8a/agent/agent_endpoint.go#L151. In the case of ESM, it currently has no HTTP interface, so I see no way to scrape the prometheus metrics that are being collected. Would it be OK to expose an http endpoint just for metrics? |
@edevil, thanks for the additional information on Prometheus! I’m also concluding that a metrics endpoint is needed for Prometheus metrics. I’d like to do a little more research to make sure I understand what go-metrics is doing by adding the Prometheus sink. Regardless, I think it would be good to open a new issue to capture this feature, and we can continue the conversation there. Since you’ve done all this great research, would you want to be the one to open the issue and include the details you’ve mentioned in the past two comments? If you prefer, I’m also happy to open the issue - let me know! |
This PR includes the
go-metrics
telemetry changes from #56. A separate PR (#63) contains the non-telemetry changes.#56 changes were merged into a non-master branch bloomberg-dev in order to help carry the PR, add some additional commits to Bloomberg’s work, and retain the Corporate CLA.