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

beater/api/profile: add support for JFR encoding #3960

Closed
axw opened this issue Jul 13, 2020 · 3 comments
Closed

beater/api/profile: add support for JFR encoding #3960

axw opened this issue Jul 13, 2020 · 3 comments

Comments

@axw
Copy link
Member

axw commented Jul 13, 2020

Currently we have experimental support for receiving pprof-encoded profiles. To enable profiling Java applications, we should also add support for decoding JFR (Java Flight Recorder) profiles to the server. This will offload the cost of translation to a common data model to the server, to avoid impacting applications.

@felixbarny
Copy link
Member

Happy to help with tests here. We're already parsing JFR files for inferred spans. But for CPU/allocation/lock profiling, we'd like to avoid having to parse the file.

Here's our current JFR parser: https://github.com/elastic/apm-agent-java/blob/master/apm-agent-plugins/apm-profiling-plugin/src/main/java/co/elastic/apm/agent/profiler/asyncprofiler/JfrParser.java

Note that async-profiler doesn't use the most recent JFR version (0.7 IIRC). The format may slightly change in the future as well as async-profiler has plans to support continuous profiling. Once we have a target version for this, we should sync on what's left to do and which things should be included in the first version.

@axw
Copy link
Member Author

axw commented Jul 15, 2020

Perfect, thanks for the pointer @felixbarny. In terms of testing, it would be ideal if we had some sample profiles that we can use for "golden testing". No rush as we won't get to this for a little while yet.

@axw
Copy link
Member Author

axw commented Jul 25, 2022

Closing as we have no concrete plans to get to this, I'll resurrect it if/when we do.

@axw axw closed this as not planned Won't fix, can't repro, duplicate, stale Jul 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants