-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
[receiver/expvar] Add ability to collect internal memstats #33926
Comments
Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
Not a bad idea, though, might be best for the as an internal "telemetry" component of the collector itself instead of making directly part of the Would be a better question @open-telemetry/collector-maintainers . |
@MovieStoreGuy this is a good point, it could be part of the internal telemetry of the collector itself. I'd be interested to see what the maintainers would have to say about that. |
Collector service emits some subset of similar internal metrics using Go API https://github.com/open-telemetry/opentelemetry-collector/blob/main/service/documentation.md#internal-telemetry. What other metrics specifically are you looking for? Maybe we can extend it. |
@dmitryax I think that makes sense, I forgot about those internal metrics actually. I will see if we can cope with those for now, might be nice to get some GC metrics. We are about to run a high-memory workload so I'll update here if we want additional memstats. Will close this for now. |
@dmitryax we have come across some scenarios where we want:
This is to keep track of GC and how it's performing. I'd be happy to add this feature to the |
Component(s)
receiver/expvar
Is your feature request related to a problem? Please describe.
Current the
expvarreceiver
has the ability to query an HTTP endpoint to gather memstats. However, it doesn't have the ability to query the actual process the collector is running on, and emit that (unless of course, the user has started an expvar server in the same process and pointed the expvarreceiver at it, but this requires code changes from the user).Having memstats about the collector is useful especially in high-memory usage scenarios.
Describe the solution you'd like
Currently the configuration looks like:
We could add another field similar to
metrics
, calledinternal_metrics
, which has the same type but collects the metrics from internally (using theruntime
package). Disabled by default, but optionally enabled.Describe alternatives you've considered
There's two other ways I thought of doing this:
expvarextension
that starts a server and serves the collector's internal memstats. Would work, is a lot more code and IMO overkill.Additional context
No response
The text was updated successfully, but these errors were encountered: