Skip to content
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

Parca Agent as extension to open-telemetry/opentelemetry-ebpf-profiler #2958

Merged
merged 1 commit into from
Aug 8, 2024

Conversation

brancz
Copy link
Member

@brancz brancz commented Aug 8, 2024

As discussed on the maintainers mailing list, this is the Parca Agent based on the open-telemetry/opentelemetry-ebpf-profiler.

The projects have identical goals, so it makes sense to just have everyone pull on the same string and keep the tight integration and extensions that are special to the Parca project as a thick wrapper around it.

This change includes several large changes, most prominently:

  • Apache Arrow-based protocol: A new Parca-native Apache Arrow-based protocol that is significantly more efficient than what was previously used. It is cheaper to produce, cheaper to consume by a server, and less bytes on the wire.
  • Metadata relabeling: It introduces Prometheus-style relabeling for metadata. Parca Agent no longer adds all metadata it can find, which previously resulted in overwhelming amounts of metadata automatically being attached to profiling data. Using relabeling users can choose exactly what metadata is valuable to them, and also use relabeling to selectively choose which profiling data to potentially drop.

While the Parca Agent already supported native unwinding with DWARF (x86 and arm64), Python, Ruby, and many more, by using the opentelemetry-ebpf-profiler under the hood, it gains JVM, PHP, Perl, and .NET support. We've also been working on LuaJIT support, which we plan to upstream to the opentelemetry-ebpf-profiler. We're also working on upstreaming our custom labels support, which among other things, allows correlating with distributed tracing data.

Since this has already been discussed on the maintainers mailing list, I'm going to merge this right away, and then we'll work on finishing everything up for a release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant