Skip to content

Commit 9b4a7a9

Browse files
committed
[GR-55298] Extend the documentation of the call PrintAnalysisCallTreeType=CSV format.
PullRequest: graal/18288
2 parents 71e6492 + 98c56f6 commit 9b4a7a9

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

docs/reference-manual/native-image/StaticAnalysisReports.md

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,32 @@ For invokes of inline methods the `<invoke-bci>` is a list of bci values, separa
5858

5959
### CSV Format
6060
When using the `CSV` format a set of files containing raw data for methods and their relationships is generated.
61-
The aim of these files is to enable this raw data to be easily imported into a graph database.
61+
In particular, three files are generated&mdash;they represent methods, method invocations, and call targets.
62+
The `call_tree_methods_*.csv` has the following columns:
63+
64+
* `Id`: The unique identifier of this method.
65+
* `Name`: The name of the method.
66+
* `Type`: The declaring type.
67+
* `Parameters`: A space-separated list of parameter types.
68+
* `Return`: The return type.
69+
* `Display`: A shortened version of the qualified name of the method, useful for visualizations.
70+
* `Flags`: Other metadata such as visibility modifiers, synchronization, and so on.
71+
* `IsEntryPoint`: If `true`, the method is an entry point (root method) in the call graph, `false` otherwise.
72+
73+
The `call_tree_invokes_*.csv` has the following columns:
74+
75+
* `Id`: The unique identifier of the invocation.
76+
* `MethodId`: The identifier of the method in which the invocation is located.
77+
* `BytecodeIndexes`: The bytecode index of the invocation. It can be a chain of bytecode indexes connected via `->` if
78+
the method was inlined.
79+
* `TargetId`: The id of the target method.
80+
* `IsDirect`: If `true`, the invocation is direct, `false` otherwise.
81+
82+
The `call_tree_targets_*.csv` has two columns: `InvokeId` and `TargetId`, connecting invocations with their call
83+
targets.
84+
85+
The aim of these files is to enable the raw data to be easily processed by custom scripts or imported into a graph
86+
database.
6287
A graph database can provide the following functionality:
6388

6489
* Sophisticated graphical visualization of the call tree graph that provides a different perspective compared to text-based formats.
@@ -68,7 +93,7 @@ A graph database can provide the following functionality:
6893
The process to import the files into a graph database is specific to each database.
6994
Please follow the instructions provided by the graph database provider.
7095

71-
## Object tree
96+
## Object Tree
7297
The object tree is an exhaustive expansion of the objects included in the native binary heap.
7398
The tree is obtained by a depth first walk of the native binary heap object graph.
7499
It is enabled using the `-H:+PrintImageObjectTree` option.

0 commit comments

Comments
 (0)