kcpeppe / regions Goto Github PK
View Code? Open in Web Editor NEWVisualize G1GC Region allocation data
License: Apache License 2.0
Visualize G1GC Region allocation data
License: Apache License 2.0
The run and pause buttons currently don't work. Pause doesn't show and run will trigger another thread.
Hi, I've replaced the testdata.log with a G1 log produced by my application. The application starts but with an empty canvas. When I press the play button it throws an exception.
Whith your test data the application seems to work correctly.
My G1 conf is as follows:
-showversion -XX:+PrintCommandLineFlags
-XX:+PrintGCDateStamps -XX:+PrintGCDetails
-XX:+ParallelRefProcEnabled -XX:+PrintReferenceGC
-XX:+PrintTenuringDistribution -XX:+PrintAdaptiveSizePolicy
-XX:+DisableExplicitGC -XX:+UseG1GC -XX:MaxGCPauseMillis=250
-XX:InitiatingHeapOccupancyPercent=45
The exception is:
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at com.jclarity.region.model.JavaVirtualMachine.getG1GCHeapAt(JavaVirtualMachine.java:36)
at com.jclarity.region.model.G1GCHeapView.update(G1GCHeapView.java:63)
at com.jclarity.region.G1GCHeapAnimation.lambda$start$0(G1GCHeapAnimation.java:36)
at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
at javafx.beans.property.DoublePropertyBase.fireValueChangedEvent(DoublePropertyBase.java:106)
at javafx.beans.property.DoublePropertyBase.markInvalid(DoublePropertyBase.java:113)
at javafx.beans.property.DoublePropertyBase.set(DoublePropertyBase.java:147)
at com.jclarity.region.FrameCounter.stepForward(FrameCounter.java:34)
at com.jclarity.region.fx.VideoControls$1.run(VideoControls.java:74)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Exception in thread "Timer-0" java.lang.IllegalStateException: Not on FX application thread; currentThread = Timer-0
at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:236)
at com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:423)
at javafx.scene.Parent$2.onProposedChange(Parent.java:367)
at com.sun.javafx.collections.VetoableListDecorator.setAll(VetoableListDecorator.java:113)
at com.sun.javafx.collections.VetoableListDecorator.setAll(VetoableListDecorator.java:108)
at com.sun.javafx.scene.control.skin.LabeledSkinBase.updateChildren(LabeledSkinBase.java:575)
at com.sun.javafx.scene.control.skin.LabeledSkinBase.handleControlPropertyChanged(LabeledSkinBase.java:204)
at com.sun.javafx.scene.control.skin.ButtonSkin.handleControlPropertyChanged(ButtonSkin.java:71)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase.lambda$registerChangeListener$61(BehaviorSkinBase.java:197)
at com.sun.javafx.scene.control.MultiplePropertyChangeListenerHandler$1.changed(MultiplePropertyChangeListenerHandler.java:55)
at javafx.beans.value.WeakChangeListener.changed(WeakChangeListener.java:89)
at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:182)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
at javafx.beans.property.StringPropertyBase.fireValueChangedEvent(StringPropertyBase.java:103)
at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:110)
at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:144)
at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:49)
at javafx.beans.property.StringProperty.setValue(StringProperty.java:65)
at javafx.scene.control.Labeled.setText(Labeled.java:145)
at com.jclarity.region.fx.VideoControls$1.run(VideoControls.java:77)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Thanks,
Riccardo
Active the file load button. I fear this may not be as easy as it sounds as the grid will be constructed until the file is loaded. Grid shape may change when a new file is loaded.
Annotate any regions that will be included in the CSet. Currently that data is not collected in the model.
describe region type and CSet annotation
Needs a non-de build system
Add a help screen
The idea here is to add some idea of how full each region is. Current thinking the view would be tiled and converted to a 3D perspective where the height of the rectangle could be used to indicate fullness.
Have the data associated with a rectangle popup on mouse over.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.