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

6936: Parser should track statistics during parsing #219

Closed
wants to merge 4 commits into from

Conversation

jpbempel
Copy link
Member

@jpbempel jpbempel commented Feb 23, 2021

Add new IParserStats interface implemented by EventCollection.
That way, IItemCollection is not touched, but you need to cast the
instance to IParserStats.
Support of old (v0.x) JFR format.
During parsing, we collect number of events per type, the size, number
of chunks and version of the file.
We also track for version 1.x/2.x the number of skipped events.
RecordingPrinter tool class is modified to support a summary verbosity mode
and -summary option to print statistics per event type.


Progress

  • Commit message must refer to an issue
  • Change must be properly reviewed

Issue

  • JMC-6936: Parser should track statistics during parsing

Reviewers

Download

$ git fetch https://git.openjdk.java.net/jmc pull/219/head:pull/219
$ git checkout pull/219

Add new IParserStats interface implemented by EventCollection.
That way, IItemCollection is not touched, but you need to cast the
instance to IParserStats.
Support of old (v0.x) JFR format.
During parsing, we collect number of events per type, the size, number
of chunks and version of the file.
We also track for version 1.x/2.x the number of skipped events.
RecordPrinter tool class is modified to support a summary verbosity mode
and -summary option to print statistics per event type.
@bridgekeeper
Copy link

bridgekeeper bot commented Feb 23, 2021

👋 Welcome back jpbempel! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk openjdk bot added the rfr label Feb 23, 2021
@mlbridge
Copy link

mlbridge bot commented Feb 23, 2021

Webrevs

@@ -39,7 +39,7 @@
* Contains type IDs for events that are produced by JDK 7 and 8.
*/
@SuppressWarnings({"nls", "unused"})
final class JdkTypeIDsPreJdk11 {
public final class JdkTypeIDsPreJdk11 {
Copy link
Member Author

Choose a reason for hiding this comment

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

Made public to be able to use it from here:

Copy link
Member

Choose a reason for hiding this comment

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

If we make that class public, we might as well rename it. Since the JDK 8 backport, it really is Oracle type IDs - so perhaps OracleJdkTypeIDsPre11?

Copy link
Member Author

Choose a reason for hiding this comment

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

done

@thegreystone
Copy link
Member

Do we need the number of events per type? Isn't that the same as a count aggregate with a type filter?

@jpbempel
Copy link
Member Author

Do we need the number of events per type? Isn't that the same as a count aggregate with a type filter?

Sure it's the same (or should be 😁 ) but at least you have this information close to the other ones to interpret them

@openjdk
Copy link

openjdk bot commented Mar 1, 2021

@jpbempel This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

6936: Parser should track statistics during parsing

Reviewed-by: hirt

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been no new commits pushed to the master branch. If another commit should be pushed before you perform the /integrate command, your PR will be automatically rebased. If you prefer to avoid any potential automatic rebasing, please check the documentation for the /integrate command for further details.

As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@thegreystone) but any other Committer may sponsor as well.

➡️ To flag this PR as ready for integration with the above commit message, type /integrate in a new comment. (Afterwards, your sponsor types /sponsor in a new comment to perform the integration).

@openjdk openjdk bot added the ready label Mar 1, 2021
@jpbempel
Copy link
Member Author

jpbempel commented Mar 1, 2021

/integrate

@openjdk openjdk bot added the sponsor label Mar 1, 2021
@openjdk
Copy link

openjdk bot commented Mar 1, 2021

@jpbempel
Your change (at version 9abc196) is now ready to be sponsored by a Committer.

@thegreystone
Copy link
Member

/sponsor

@openjdk openjdk bot closed this Mar 2, 2021
@openjdk
Copy link

openjdk bot commented Mar 2, 2021

@thegreystone @jpbempel Pushed as commit 0c7ae2a.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

@jpbempel jpbempel deleted the 6936 branch March 9, 2021 20:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

2 participants