Skip to content

Profiling with firepit#3333

Merged
julianocosta89 merged 19 commits into
open-telemetry:mainfrom
osullivandonal:profiling-with-firepit
May 16, 2026
Merged

Profiling with firepit#3333
julianocosta89 merged 19 commits into
open-telemetry:mainfrom
osullivandonal:profiling-with-firepit

Conversation

@osullivandonal
Copy link
Copy Markdown
Contributor

@osullivandonal osullivandonal commented Apr 30, 2026

Changes

This PR add's profiling to the otel demo and uses firepit as the backend to process and display profiles as a flame graph.

Closes: #1601

To run the demo with profiling:

make start-profiling

Profiling

Firepit

image

Usage

Enable adHighCpu with Flagd Configurator.

image image

...

Merge Requirements

For new features contributions, please make sure you have completed the following
essential items:

  • CHANGELOG.md updated to document new feature additions
  • Appropriate documentation updates in the docs
  • Appropriate Helm chart updates in the helm-charts

Maintainers will not merge until the above have been completed. If you're unsure
which docs need to be changed ping the
@open-telemetry/demo-approvers.

OTel collector added for profiling with highenend privileges. Send the
profiling data to a pyroscope backend.
Makefile updated with start-profiling target which starts the demo along
with the profiling collector.
Firepit is a opensource tool to view profiles in a flame graph, it
doesn't store the profiles. https://github.com/florianl/firepit/tree/main
@github-actions github-actions Bot added the helm-update-required Requires an update to the Helm chart when released label Apr 30, 2026
@Kielek
Copy link
Copy Markdown
Member

Kielek commented Apr 30, 2026

Can we utilize collector as a gateway for profiling as for any other signals?
Then it should go firepit/any other endpoitn.

This shows how you can use the main collector as a gateway for all otel
signals
@osullivandonal
Copy link
Copy Markdown
Contributor Author

Can we utilize collector as a gateway for profiling as for any other signals? Then it should go firepit/any other endpoitn.

Good shout, we can indeed do this. I have updated the PR. We now send the profiling signal from the ebpf collector to the main collector.

Comment thread src/otel-collector/otelcol-ebpf-profiling.yml Outdated
Comment thread compose-profiling.yml Outdated
@julianocosta89
Copy link
Copy Markdown
Member

@florianl and @osullivandonal it would be nice to have that in: florianl/firepit#17

I've played locally and with that change we can add Firepit to Envoy and reach it via frontend-proxy.

@osullivandonal osullivandonal marked this pull request as ready for review May 6, 2026 08:35
@osullivandonal osullivandonal requested a review from a team as a code owner May 6, 2026 08:35
@osullivandonal
Copy link
Copy Markdown
Contributor Author

I assume here we need to update docs, what is the thoughts here? Should we update the opentelemtry.io demo docs?

Comment thread CHANGELOG.md Outdated
@osullivandonal osullivandonal force-pushed the profiling-with-firepit branch from 94a2714 to 8e24601 Compare May 6, 2026 10:13
@julianocosta89
Copy link
Copy Markdown
Member

@osullivandonal ive added my changes to your PR.
Would you mind taking a look?

Comment thread src/otel-collector/otelcol-config.yml Outdated
@julianocosta89
Copy link
Copy Markdown
Member

This is looking good and should be good to go!

@osullivandonal back to you 🤓

Screenshot 2026-05-11 at 17 35 24

@osullivandonal
Copy link
Copy Markdown
Contributor Author

This is looking good and should be good to go!

@osullivandonal back to you 🤓
Screenshot 2026-05-11 at 17 35 24

LGTM:

image

@julianocosta89
Copy link
Copy Markdown
Member

julianocosta89 commented May 12, 2026

@puckpuck would you give us your blessing?
It looks good to me, but I have touched the code significantly 😅

Copy link
Copy Markdown
Contributor

@rogercoll rogercoll left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome! 🚀

@julianocosta89
Copy link
Copy Markdown
Member

I'll merge it later today!
Just waiting to see if anyone else has opinions 🥰

Copy link
Copy Markdown
Contributor

@ps48 ps48 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice addition! Profiling is a great signal to have in the demo, and the eBPF collector + Firepit approach keeps things lightweight.

Comment thread docker-compose.yml
Comment thread src/frontend-proxy/envoy.tmpl.yaml
@julianocosta89 julianocosta89 added this pull request to the merge queue May 16, 2026
Merged via the queue into open-telemetry:main with commit 49a7631 May 16, 2026
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

helm-update-required Requires an update to the Helm chart when released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Benchmarking/Profiling

6 participants