opentelemetry-collector
opentelemetry-collector copied to clipboard
Adds Profiles Signal
Description
This is a PR that adds profiling support to collector. Relevant links:
State of this PR
This is currently work in progress. The code compiles and tests pass, however I'm planning to split this one into smaller chunks to simplify the review process.
TODOs:
- rebase off of https://github.com/open-telemetry/opentelemetry-collector/pull/10109
- double check that I added profiling support to all of the components
- add instructions on how to test this end-to-end
- make sure I properly marked profiles as experimental everywhere
Testing
Workflow I use to test this right now:
- Run
make otelcorecolto verify that collector compiles - Run
./bin/otelcorecol_darwin_arm64 --config=file:tmp/config.yaml(config is here) - Run
curl -i -X POST http://localhost:4318/v1experimental/profiles -H 'Content-Type: application/json' -d @profile.json(profile.json is here) - ^ This prints the profile in text form
My plan is to have an end-to-end pipeline where you can run collector with an example client and example backend to test the whole pipeline. I did this with an earlier version of this PR, but haven't updated it yet. Will do this soon and update PR descriptions with instructions on how to run it.