internal/debug: add support for grafana pyroscope sdk#33261
internal/debug: add support for grafana pyroscope sdk#33261cbermudez97 wants to merge 7 commits into
Conversation
- Added Pyroscope profiling capabilities to the debug package. - Introduced command-line flags for enabling profiling and specifying the Pyroscope server URL. - Implemented methods to start and stop the Pyroscope profiler, including a custom logger to interface with the existing logging system. - Updated relevant files to accommodate the new profiling features.
- Updated StartPyroscopeProfiler to accept a map of tags for profiling data. - Introduced a new command-line flag for specifying comma-separated key=value tags. - Modified Setup function to parse and pass tags to the profiler, improving profiling data granularity.
|
I really like the idea, and the integration is done well in package internal/debug. We will deploy Pyroscope internally to try this. |
|
Tested these changes with this setup: https://gist.github.com/cbermudez97/c3c219799613a3d8edfba2667ec740f3 Checking the implementation again I didn't add any Auth config options for connection to the Pyroscope server. With the Grafana Alloy usage as a middleman it could handle all available options for auth without complicating too much the Geth config. Still, I could add some of the options if needed (Maybe basic auth?). |
|
Yes we need the auth. In our setups, we will typically report metrics across the Internet, talking to a public https endpoint with authentication. |
|
It should be handled similar to how influxdb metrics are configured. |
98d653c to
6978ab4
Compare
|
I just realized this PR is against the |
|
I have resubmitted against master in #33623 with some changes. |
This adds support for Grafana Pyroscope, a continuous profiling solution.
The client is configured similarly to metrics, i.e. run
geth --pyroscope --pyroscope.server=https://...
This commit is a resubmit of #33261 with some changes.
---------
Co-authored-by: Carlos Bermudez Porto <cbermudez.dev@gmail.com>
This adds support for Grafana Pyroscope, a continuous profiling solution.
The client is configured similarly to metrics, i.e. run
geth --pyroscope --pyroscope.server=https://...
This commit is a resubmit of ethereum#33261 with some changes.
---------
Co-authored-by: Carlos Bermudez Porto <cbermudez.dev@gmail.com>
Summary
Add support for Grafana Pyroscope SDK in the Geth client.
Changes
Usage