RFR: JDK-8324950: IGV: save the state to a file [v18]
Tobias Holenstein
tholenstein at openjdk.org
Tue Apr 9 15:06:42 UTC 2024
> 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.
> ### What's new
>
> 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="260" alt="empty" src="https://github.com/openjdk/jdk/assets/71546117/ed4b572a-f6dc-4ea0-bc45-45d21cfe3ecc">
>
> Unzipping this [example.zip](https://github.com/openjdk/jdk/files/14905764/example.zip) and open `graphs.xml`
> opens 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 opening the `graphs.xml`:
>
> <img width="739" alt="graph" src="https://github.com/openjdk/jdk/assets/71546117/ad65c000-0fb3-440f-94f7-5777dc87ac8e">
>
> A new `<graphStates>` introduced in `graphs.xml` that stores the opened graphs and their hidden (visible) nodes:
>
> <graphDocument>
> <group>
> <graph>
> <properties>...</properties>
> <nodes>...</nodes>
> <edges>...</edges>
> <controlFlow>...</controlFlow>
> <graphStates>
> <state>
> <difference value="0"/>
> <hiddenNodes>
> <node id="0"/>
> <node id="1"/>
> <node id="3"/>
> </hiddenNodes>
> </state>
> </graphStates>
> </graph>
> </group>
> </graphDocument>
>
>
> The workspace menu is restructured:
>
> <img width="47" alt="open" src="https://github.com/openjdk/jdk/assets/71546117/d92fffdb-6431-4ac6-b21c-7d7b89d36ef5">
>
> - Open allows the user to open an XML file. In IGV there is either no XML opened `untitled` or exactly one xml file opened. It's not possible to have two XML files opened at the same time:
>
>
> <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.
>
>
> <img width="96" alt="import:export" src="https://github.com/openjdk/jdk/assets/71546117/adeee169-9f6f-4c98-86a4-8368ae79faf0">
>
> - `Import`: Allows the ...
Tobias Holenstein has updated the pull request incrementally with two additional commits since the last revision:
- Merge branch 'JDK-8324950' of github.com:tobiasholenstein/jdk into JDK-8324950
- fix diffgraph
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/17630/files
- new: https://git.openjdk.org/jdk/pull/17630/files/ed4cb76b..9bf13ba5
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=17630&range=17
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=17630&range=16-17
Stats: 16 lines in 1 file changed: 5 ins; 9 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/17630.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17630/head:pull/17630
PR: https://git.openjdk.org/jdk/pull/17630
More information about the hotspot-compiler-dev
mailing list