Integrated: 8324950: IGV: save the state to a file
Tobias Holenstein
tholenstein at openjdk.org
Thu Apr 18 12:56:11 UTC 2024
On Tue, 30 Jan 2024 14:13:47 GMT, Tobias Holenstein <tholenstein at openjdk.org> wrote:
> The current workflow in IGV is the following:
> 1) import an XML file with graphs or send via network
> 2) open or more graphs in a tab
> 3) extract a set of nodes to be displayed in the tab
> 4) close IGV and start from 1) again
>
> The idea of this RFE is to save the opened graph tabs and extracted nodes of a graph in the `graph.xml` file.
> ### The new workflow
>
> When opening IGV the user gets an empty workspace without any opened files.
> - Graphs can be sent via the network to IGV
> - Graph can be opened from an XML file
> <img width="218" alt="empty" src="https://github.com/openjdk/jdk/assets/71546117/627a2dca-db65-4860-8377-de03696f1678">
>
> Unzipping this [example_graph.zip](https://github.com/openjdk/jdk/files/14946834/example_graph.zip) and opening `graphs.xml` shows the following graph. New with this RFE is that opened graph tabs and extracted nodes are saved to the `graph.xml` file and restored when re-opening the `graphs.xml`:
>
> <img width="728" alt="graph" src="https://github.com/openjdk/jdk/assets/71546117/e1801537-c3b2-4adf-aa18-d247ae54a228">
>
> A new `<graphStates>` is introduced in `graphs.xml` that stores the opened graphs and their visible nodes:
>
> <graphDocument>
> <group>
> <graph>
> <properties>...</properties>
> <nodes>...</nodes>
> <edges>...</edges>
> <controlFlow>...</controlFlow>
> <graphStates>
> <state>
> <difference value="0"/>
> <visibleNodes all="false">
> <node id="0"/>
> <node id="1"/>
> <node id="3"/>
> </visibleNodes >
> </state>
> </graphStates>
> </graph>
> </group>
> </graphDocument>
>
>
> The workspace menu is restructured:
>
> <img width="118" alt="open" src="https://github.com/openjdk/jdk/assets/71546117/baa871b7-6b73-42c9-8982-7a1601714e69">
>
> - `Open` allows the user to open an XML file. In IGV there is either no XML opened indicated as `untitled` or exactly one xml file opened. It's not possible to have two XML files opened at the same time:
> - `Import`: Allows the user to import graphs from another XML file to the current opened XML file.
>
> <img width="101" alt="save" src="https://github.com/openjdk/jdk/assets/71546117/46a9e945-7f5c-4777-a66d-2fc8a95705c3">
>
> - `Save..` saves the current opened xml file. Create a new file if no file is opened.
> - `Save as...` save the current graphs as a copy to an xml file.
> Note: ...
This pull request has now been integrated.
Changeset: ec180d47
Author: Tobias Holenstein <tholenstein at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/ec180d4782d39d50d2db3dfbe78e62a215c0a414
Stats: 1748 lines in 30 files changed: 854 ins; 632 del; 262 mod
8324950: IGV: save the state to a file
Reviewed-by: rcastanedalo, chagedorn
-------------
PR: https://git.openjdk.org/jdk/pull/17630
More information about the hotspot-compiler-dev
mailing list