RFR: 6787: Simplified stack trace tree model [v8]
Guru Hb
ghb at openjdk.java.net
Fri Dec 11 08:03:55 UTC 2020
On Mon, 30 Nov 2020 18:54:12 GMT, Alex Ciminian <github.com+348973+cimi at openjdk.org> wrote:
>> This PR adds a new way to represent JFR data - we aggregate stacktraces into a tree structure which we then allow to be serialised to JSON so we can use it in the `FlameGraphView`.
>>
>> The `Node` and `AggregatableFrame` classes were initially copied from the new graph representation then slightly modified. Once the two implementations are merged and stabilised we should consider unifying these models.
>>
>> We've validated the output of the new JSON serialisation against the previous flame graph JSON implementation, before removing the legacy code. The intermediary commits have tests that check the output is identical for one of our test recording, using the various configuration options (with/without a target attribute, with thread root at top/bottom).
>
> Alex Ciminian has updated the pull request incrementally with one additional commit since the last revision:
>
> 6787: tolerate the UNKNOWN_FRAME type inside the flame graph
Changes requested by ghb (Reviewer).
core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/flightrecorder/stacktrace/tree/AggregatableFrame.java line 44:
> 42: * Frame wrapper taking into account a frame separator for hash code and equals.
> 43: */
> 44: public final class AggregatableFrame implements IMCFrame {
We already have the same Class name in "org.openjdk.jmc.flightrecorder.stacktrace.graph.AggregatableFrame.java" and both are identical.
Opt 1 : If we really need a seperate "tree.AggregatableFrame" , try to rename this class.
Opt 2 : If we can re-use "tree.AggregatableFrame" then this file is not required and might need to change this class and its package name in the current fix.
Ok, By looking the past comment, Is it possible to Consolidate in this fix Itself ? (If not then i can go ahead and approve this fix).
-------------
PR: https://git.openjdk.java.net/jmc/pull/159
More information about the jmc-dev
mailing list