-
Notifications
You must be signed in to change notification settings - Fork 16
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
Getting unable to parse errors #4
Comments
Thanks for reporting the problems @charlesverdad! Both problems are expected, as the JFR support is still partial. Pending work has a summary of the missing parts. In the cases you are reporting:
Fortunately, both are relatively simple to fix. Adding lock event support in Pyroscope requires some additional work, but we can add support for these types and encodings at the parsing level so that Pyroscope can at least ingest them fine. Could you attach the generated JFRs? They would be pretty helpful to validate everything works fine. |
@abeaumont Sure thing! Here you go: jfr_archive.zip In the archive is:
The java program I profiled can be found here https://github.com/pyroscope-io/pyroscope/blob/main/examples/java/Main.java Some other findings
I'm not entirely sure why this happens. If I look at the json file parsed by Below is the list of types in the jfr, parsed by
Note in the above, |
Thanks for the output files in both formats, they are really useful!
The Java Flight Recorder output file shows some additional problems that I'll address in a separate pull request. |
Thanks @abeaumont . I checked out that branch and I can confirm that it works for the async-profiler output 😄 . I even tried it out with the Pyroscope server and it seemd to work without any problems. |
The existing support for multiple checkpoint events (handling and checking checkpoint delta value) was buggy and not good enough to actually parse data with multiple such events. Now, the deltas are properly handled and all the parsed events parsed are properly tracked to avoid duplicates. Related to #4.
- 8 new types have been added, for a total of 25 supported types. - 41 new event types have been added, for a total of 54 supported event types. OpenJDK 17 supports 59 types and 167 event types, so there's still a lot of work to do, but at least the Java Flight Recorder output of #4 is fully supported.
With the latest improvements in the parser, both provided JFR files should be properly parsed now :) |
Thanks for your work in getting jfr ingest support for Pyroscope.
I'm trying out that feature but I can't get the parser to work.
I get an error that's coming from the parser.
I have two different jfr files: one created by Java Flight Recorder (
from-jfr.jfr
), and one created bylibasyncprofiler
(from-ap.jfr
) with the following flags:event=itimer,lock,alloc,loop=60s
.Here are the error messages:
Attempting to parse Java Flight Recorder output
Attempting to parse Async Profiler output
Note this error
unable to parse constant type 31: unknown type profiler.types.LogLevel
is different from the first one. I'm more interested in this async-profiler output.The text was updated successfully, but these errors were encountered: