Add pprof HTTP endpoints to metrics server
What does this MR do?
pprof endpoints to existing metrics server, to help debug what's happening with Runner while it is running.
Why was this MR needed?
v1.8.0 we've introduced HTTP metrics server with Prometheus metrics collected while Runner is working. Those information are helpful however we've noticed that in some cases we need to have a detailed information about data flows and function calls inside of a running Runner's process. That's why we've decided to add
After merging this MR
pprof endpoints will be available on the same
host:port as the integrated metrics server, under the
Are there points in the code the reviewer needs to double check?
I've analyzed the
net/http/pprof package to check if importing it (which automatically registers some endpoints to an existing HTTP server) will add any complexity or resources usage overhead. In my opinion it doesn't add anything until the endpoint is called (and only then data is collected). But it would be nice if someone else would look on this.
Does this MR meet the acceptance criteria?
- Documentation created/updated
- Added for this feature/bug
- All builds are passing
Branch has no merge conflicts with
master(if you do - rebase it please)
What are the relevant issue numbers?