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
[GR-34638] Introduce PrintAnalysisCallTreeType option #3861
Conversation
@galderz please review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor changes.
...evm/src/com.oracle.graal.pointsto/src/com/oracle/graal/pointsto/reports/CallTreePrinter.java
Outdated
Show resolved
Hide resolved
...evm/src/com.oracle.graal.pointsto/src/com/oracle/graal/pointsto/reports/CallTreePrinter.java
Outdated
Show resolved
Hide resolved
@@ -52,6 +53,15 @@ protected void onValueUpdate(EconomicMap<OptionKey<?>, Object> values, Boolean o | |||
} | |||
}; | |||
|
|||
@Option(help = "Change the output format of the analysis call tree. See: Reports.md.")// |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since you are referring to Reports.md
it would be nice to mention this option in the #### Call tree
section there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From that help message the user would not know that the two possible option values are TXT
and CSV
.
.../com.oracle.graal.pointsto/src/com/oracle/graal/pointsto/reports/AnalysisReportsOptions.java
Outdated
Show resolved
Hide resolved
...evm/src/com.oracle.graal.pointsto/src/com/oracle/graal/pointsto/reports/CallTreePrinter.java
Show resolved
Hide resolved
toCsvFile("call tree for direct edges", reportsPath, "csv_call_tree_direct_edges", reportName, writer -> printBciEdges(directEdges, writer)); | ||
toCsvFile("call tree for overriden by edges", reportsPath, "csv_call_tree_override_by_edges", reportName, writer -> printNonBciEdges(overridenByEdges, writer)); | ||
toCsvFile("call tree for virtual edges", reportsPath, "csv_call_tree_virtual_edges", reportName, writer -> printBciEdges(virtualEdges, writer)); | ||
toCsvFile("call tree csv file for vm entry point", reportsPath, "call_tree_vm", reportName, CallTreePrinter::printVMEntryPoint); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be nice to use
Sting msgPrefix = "call tree csv file for "
with
...
toCsvFile(msgPrefix + "entry point", reportsPath ....
...
This option enables users to choose the structure of the call tree report. Currently supported formats are txt and csv. The use of this flag implicitly enables PrintAnalysisCallTree option. Closes: oracle#3843
Thank you for the review @olpaw . All comments should now be resolved. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good now. @fniephaus please take it from here.
Done... the PR is in internal review and should be merged soon. |
Closed via a134ee4 |
Now that this got merged on |
Why does this need to be backported to 21.3? It seems it was already backported in Mandrel? |
As discussed in graalvm#302 we decided to avoid deviating from upstream GraalVM, since that could confuse users. In general we prefer the upstream-first approach unless something is a blocker or brings a very important feature. In this case, it looks like this feature is more of a convenience-thing so we decided not to deviate from upstream GraalVM. Note, however, that this is still something we would like to see landing in 21.3 at some point if possible. |
Hi @fniephaus are there any updates regarding getting this backported to 21.3? |
Apologies, this slipped under my radar. I've opened a backporting issue for this internally and will monitor its progress. |
I don't know when the 21.3 release branch will be updated but we've backported this internally so it will be part of the next 21.3 release. |
Thanks a lot @fniephaus ! |
This option enables users to choose the structure of the call tree report. Currently supported formats are txt and csv.
The use of this flag implicitly enables PrintAnalysisCallTree option.
Closes: #3843