Class JITWatchUI
- java.lang.Object
-
- javafx.application.Application
-
- org.adoptopenjdk.jitwatch.ui.main.JITWatchUI
-
- All Implemented Interfaces:
IJITListener,ILogListener,ILogParseErrorListener,IMemberSelectedListener,IStageAccessProxy,IParserSelectedListener,IStageClosedListener
public class JITWatchUI extends javafx.application.Application implements IJITListener, ILogParseErrorListener, IStageClosedListener, IStageAccessProxy, IMemberSelectedListener, IParserSelectedListener
-
-
Field Summary
Fields Modifier and Type Field Description private BrowserStagebrowserStageprivate javafx.scene.control.ButtonbtnCodeCacheTimelineprivate javafx.scene.control.ButtonbtnCompilerThreadsprivate javafx.scene.control.ButtonbtnConfigureprivate javafx.scene.control.ButtonbtnErrorLogprivate javafx.scene.control.ButtonbtnHistoprivate javafx.scene.control.ButtonbtnNMethodsprivate javafx.scene.control.ButtonbtnReportEliminatedAllocationsprivate javafx.scene.control.ButtonbtnReportOptimisedLocksprivate javafx.scene.control.ButtonbtnReportSuggestionsprivate javafx.scene.control.ButtonbtnResetprivate javafx.scene.control.ButtonbtnSandboxprivate javafx.scene.control.ButtonbtnStartprivate javafx.scene.control.ButtonbtnStatsprivate javafx.scene.control.ButtonbtnStopprivate javafx.scene.control.ButtonbtnTimeLineprivate javafx.scene.control.ButtonbtnTopListprivate javafx.scene.control.ButtonbtnTriViewprivate ClassMemberListclassMemberListprivate ClassTreeclassTreeprivate CodeCacheLayoutStagecodeCacheBlocksStageprivate CodeCacheStagecodeCacheTimelineStageprivate CodeCacheWalkerResultcodeCacheWalkerResultprivate javafx.collections.ObservableList<CompilationTableRow>compilationRowListprivate javafx.scene.control.TableView<CompilationTableRow>compilationTableprivate CompilerThreadStagecompilerThreadStageprivate MainConfigStageconfigStageprivate javafx.beans.property.StringPropertyeliminatedAllocationsCounterMessageprivate javafx.beans.property.StringPropertyeliminatedLocksCounterMessageprivate interrorCountprivate ErrorLogerrorLogprivate java.lang.StringfocusMemberFromPropertyprivate HistoStagehistoStagestatic booleanIS_JAVA_FX2private booleanisReadingLogFileprivate static java.lang.StringJAVA_VERSION_7private java.io.FilejitLogFileprivate MetaClasslastSelectedClassprivate IMetaMemberlastSelectedMemberprivate java.lang.StringlastVmCommandprivate javafx.scene.control.LabellblHeapprivate javafx.scene.control.LabellblTweakLogprivate javafx.scene.control.LabellblVmVersionprivate java.lang.StringBufferlogBufferprivate static com.chrisnewland.freelogj.Loggerloggerprivate ILogParserlogParserprivate NothingMountedStagenothingMountedStageprivate ParserChooserparserChooserprivate static java.lang.StringPROPERTY_CLASSPATHprivate static java.lang.StringPROPERTY_FOCUS_MEMBERprivate static java.lang.StringPROPERTY_LOGFILEprivate static java.lang.StringPROPERTY_SOURCESprivate booleanrepaintTreeprivate java.util.List<Report>reportListEliminatedAllocationsprivate java.util.List<Report>reportListOptimisedLocksprivate java.util.List<Report>reportListSuggestionsprivate ReportStagereportStageElminatedAllocationsprivate ReportStagereportStageOptimisedLocksprivate ReportStagereportStageSuggestionsprivate java.lang.Runtimeruntimeprivate SandboxStagesandBoxStageprivate IMetaMemberselectedMemberprivate MetaClassselectedMetaClassprivate booleanselectedProgrammaticallyprivate javafx.stage.Stagestageprivate booleanstartDelayedByConfigprivate StatsStagestatsStageprivate javafx.beans.property.StringPropertysuggestionsCounterMessageprivate javafx.scene.control.TextAreatextAreaLogprivate TimeLineStagetimeLineStageprivate TopListStagetopListStageprivate TriViewtriViewStagestatic intWINDOW_HEIGHTstatic intWINDOW_WIDTH
-
Constructor Summary
Constructors Constructor Description JITWatchUI()JITWatchUI(java.lang.String[] args)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private CodeCacheWalkerResultbuildCodeCacheResult()private voidbuildEliminatedAllocationReport()private voidbuildOptimisedLocksReport()private voidbuildSuggestions()private voidchooseJITLog()private voidclear()(package private) voidclearAndRefreshTreeView(boolean unsetSelection)private voidclearTextArea()voidfocusTreeInternal(IMetaMember member)booleanfocusTreeOnClass(MetaClass metaClass, boolean unsetSelection)voidfocusTreeOnMember(IMetaMember member)CodeCacheWalkerResultgetCodeCacheWalkerResult()JITWatchConfiggetConfig()IReadOnlyJITDataModelgetJITDataModel()PackageManagergetPackageManager()IMetaMembergetSelectedMember()javafx.stage.StagegetStageForDialog()voidhandleError(java.lang.String title, java.lang.String body)voidhandleErrorEntry(java.lang.String entry)voidhandleJITEvent(JITEvent event)voidhandleLogEntry(java.lang.String entry)voidhandleReadComplete()voidhandleReadStart()voidhandleStageClosed(javafx.stage.Stage stage)private voidlog(java.lang.String entry)(package private) voidmetaClassSelectedFromClassTree(MetaClass metaClass)voidopenBrowser(java.lang.String title, java.lang.String html, java.lang.String stylesheet)voidopenCompileChain(IMetaMember member)(package private) voidopenConfigStage()voidopenInlinedIntoReport(IMetaMember member)voidopenJournalViewer(java.lang.String title, IMetaMember member)voidopenSandbox()voidopenTextViewer(java.lang.String title, java.lang.String content)voidopenTextViewer(java.lang.String title, java.lang.String content, boolean lineNumbers, boolean highlighting)private voidopenTriView()voidopenTriView(IMetaMember member)voidopenTriView(IMetaMember member, int highlightBCI)voidparserSelected(ParserType parserType)private voidreadLogFile()private voidrefresh()private voidrefreshLog()private booleansameVmCommand()voidselectCompilation(IMetaMember member, int compilationIndex)voidselectMember(IMetaMember member, boolean updateTree, boolean updateTriView)private voidsetJITLogFile(java.io.File logFile)private voidsetSelectedMetaMemberFromCompilationTable()voidstart(javafx.stage.Stage stage)private voidstopParsing()private voidupdateButtons()
-
-
-
Field Detail
-
logger
private static final com.chrisnewland.freelogj.Logger logger
-
WINDOW_WIDTH
public static final int WINDOW_WIDTH
- See Also:
- Constant Field Values
-
WINDOW_HEIGHT
public static final int WINDOW_HEIGHT
- See Also:
- Constant Field Values
-
JAVA_VERSION_7
private static final java.lang.String JAVA_VERSION_7
- See Also:
- Constant Field Values
-
IS_JAVA_FX2
public static final boolean IS_JAVA_FX2
-
selectedProgrammatically
private boolean selectedProgrammatically
-
stage
private javafx.stage.Stage stage
-
logParser
private ILogParser logParser
-
classTree
private ClassTree classTree
-
classMemberList
private ClassMemberList classMemberList
-
compilationTable
private javafx.scene.control.TableView<CompilationTableRow> compilationTable
-
compilationRowList
private javafx.collections.ObservableList<CompilationTableRow> compilationRowList
-
textAreaLog
private javafx.scene.control.TextArea textAreaLog
-
jitLogFile
private java.io.File jitLogFile
-
lastVmCommand
private java.lang.String lastVmCommand
-
lastSelectedMember
private IMetaMember lastSelectedMember
-
lastSelectedClass
private MetaClass lastSelectedClass
-
focusMemberFromProperty
private java.lang.String focusMemberFromProperty
-
PROPERTY_LOGFILE
private static final java.lang.String PROPERTY_LOGFILE
- See Also:
- Constant Field Values
-
PROPERTY_SOURCES
private static final java.lang.String PROPERTY_SOURCES
- See Also:
- Constant Field Values
-
PROPERTY_CLASSPATH
private static final java.lang.String PROPERTY_CLASSPATH
- See Also:
- Constant Field Values
-
PROPERTY_FOCUS_MEMBER
private static final java.lang.String PROPERTY_FOCUS_MEMBER
- See Also:
- Constant Field Values
-
isReadingLogFile
private boolean isReadingLogFile
-
lblVmVersion
private javafx.scene.control.Label lblVmVersion
-
lblTweakLog
private javafx.scene.control.Label lblTweakLog
-
btnStart
private javafx.scene.control.Button btnStart
-
btnStop
private javafx.scene.control.Button btnStop
-
btnConfigure
private javafx.scene.control.Button btnConfigure
-
btnTimeLine
private javafx.scene.control.Button btnTimeLine
-
btnStats
private javafx.scene.control.Button btnStats
-
btnReset
private javafx.scene.control.Button btnReset
-
btnHisto
private javafx.scene.control.Button btnHisto
-
btnTopList
private javafx.scene.control.Button btnTopList
-
btnErrorLog
private javafx.scene.control.Button btnErrorLog
-
btnCodeCacheTimeline
private javafx.scene.control.Button btnCodeCacheTimeline
-
btnNMethods
private javafx.scene.control.Button btnNMethods
-
btnCompilerThreads
private javafx.scene.control.Button btnCompilerThreads
-
btnTriView
private javafx.scene.control.Button btnTriView
-
btnReportSuggestions
private javafx.scene.control.Button btnReportSuggestions
-
btnReportEliminatedAllocations
private javafx.scene.control.Button btnReportEliminatedAllocations
-
btnReportOptimisedLocks
private javafx.scene.control.Button btnReportOptimisedLocks
-
btnSandbox
private javafx.scene.control.Button btnSandbox
-
lblHeap
private javafx.scene.control.Label lblHeap
-
configStage
private MainConfigStage configStage
-
timeLineStage
private TimeLineStage timeLineStage
-
statsStage
private StatsStage statsStage
-
histoStage
private HistoStage histoStage
-
topListStage
private TopListStage topListStage
-
codeCacheTimelineStage
private CodeCacheStage codeCacheTimelineStage
-
codeCacheBlocksStage
private CodeCacheLayoutStage codeCacheBlocksStage
-
compilerThreadStage
private CompilerThreadStage compilerThreadStage
-
triViewStage
private TriView triViewStage
-
browserStage
private BrowserStage browserStage
-
reportStageSuggestions
private ReportStage reportStageSuggestions
-
reportStageElminatedAllocations
private ReportStage reportStageElminatedAllocations
-
reportStageOptimisedLocks
private ReportStage reportStageOptimisedLocks
-
sandBoxStage
private SandboxStage sandBoxStage
-
nothingMountedStage
private NothingMountedStage nothingMountedStage
-
selectedMember
private IMetaMember selectedMember
-
selectedMetaClass
private MetaClass selectedMetaClass
-
reportListSuggestions
private java.util.List<Report> reportListSuggestions
-
reportListEliminatedAllocations
private java.util.List<Report> reportListEliminatedAllocations
-
reportListOptimisedLocks
private java.util.List<Report> reportListOptimisedLocks
-
codeCacheWalkerResult
private CodeCacheWalkerResult codeCacheWalkerResult
-
runtime
private java.lang.Runtime runtime
-
logBuffer
private java.lang.StringBuffer logBuffer
-
errorLog
private ErrorLog errorLog
-
errorCount
private int errorCount
-
repaintTree
private boolean repaintTree
-
startDelayedByConfig
private boolean startDelayedByConfig
-
parserChooser
private ParserChooser parserChooser
-
suggestionsCounterMessage
private javafx.beans.property.StringProperty suggestionsCounterMessage
-
eliminatedAllocationsCounterMessage
private javafx.beans.property.StringProperty eliminatedAllocationsCounterMessage
-
eliminatedLocksCounterMessage
private javafx.beans.property.StringProperty eliminatedLocksCounterMessage
-
-
Method Detail
-
readLogFile
private void readLogFile()
-
handleReadStart
public void handleReadStart()
- Specified by:
handleReadStartin interfaceIJITListener
-
clear
private void clear()
-
handleReadComplete
public void handleReadComplete()
- Specified by:
handleReadCompletein interfaceIJITListener
-
buildSuggestions
private void buildSuggestions()
-
buildEliminatedAllocationReport
private void buildEliminatedAllocationReport()
-
buildOptimisedLocksReport
private void buildOptimisedLocksReport()
-
buildCodeCacheResult
private CodeCacheWalkerResult buildCodeCacheResult()
-
getCodeCacheWalkerResult
public CodeCacheWalkerResult getCodeCacheWalkerResult()
-
handleError
public void handleError(java.lang.String title, java.lang.String body)- Specified by:
handleErrorin interfaceILogParseErrorListener
-
stopParsing
private void stopParsing()
-
getConfig
public JITWatchConfig getConfig()
- Specified by:
getConfigin interfaceIStageAccessProxy
-
start
public void start(javafx.stage.Stage stage)
- Specified by:
startin classjavafx.application.Application
-
openConfigStage
void openConfigStage()
-
openTriView
public void openTriView(IMetaMember member)
- Specified by:
openTriViewin interfaceIStageAccessProxy
-
openTriView
public void openTriView(IMetaMember member, int highlightBCI)
- Specified by:
openTriViewin interfaceIStageAccessProxy
-
openTriView
private void openTriView()
-
openSandbox
public void openSandbox()
-
openBrowser
public void openBrowser(java.lang.String title, java.lang.String html, java.lang.String stylesheet)- Specified by:
openBrowserin interfaceIStageAccessProxy
-
getJITDataModel
public IReadOnlyJITDataModel getJITDataModel()
-
updateButtons
private void updateButtons()
-
focusTreeOnClass
public boolean focusTreeOnClass(MetaClass metaClass, boolean unsetSelection)
-
focusTreeOnMember
public void focusTreeOnMember(IMetaMember member)
-
focusTreeInternal
public void focusTreeInternal(IMetaMember member)
-
openTextViewer
public void openTextViewer(java.lang.String title, java.lang.String content, boolean lineNumbers, boolean highlighting)- Specified by:
openTextViewerin interfaceIStageAccessProxy
-
openTextViewer
public void openTextViewer(java.lang.String title, java.lang.String content)
-
openCompileChain
public void openCompileChain(IMetaMember member)
- Specified by:
openCompileChainin interfaceIStageAccessProxy
-
openInlinedIntoReport
public void openInlinedIntoReport(IMetaMember member)
- Specified by:
openInlinedIntoReportin interfaceIStageAccessProxy
-
openJournalViewer
public void openJournalViewer(java.lang.String title, IMetaMember member)
-
chooseJITLog
private void chooseJITLog()
-
setJITLogFile
private void setJITLogFile(java.io.File logFile)
-
sameVmCommand
private boolean sameVmCommand()
-
setSelectedMetaMemberFromCompilationTable
private void setSelectedMetaMemberFromCompilationTable()
-
selectMember
public void selectMember(IMetaMember member, boolean updateTree, boolean updateTriView)
- Specified by:
selectMemberin interfaceIMemberSelectedListener
-
selectCompilation
public void selectCompilation(IMetaMember member, int compilationIndex)
- Specified by:
selectCompilationin interfaceIMemberSelectedListener
-
refresh
private void refresh()
-
clearTextArea
private void clearTextArea()
-
refreshLog
private void refreshLog()
-
getSelectedMember
public IMetaMember getSelectedMember()
-
clearAndRefreshTreeView
void clearAndRefreshTreeView(boolean unsetSelection)
-
handleStageClosed
public void handleStageClosed(javafx.stage.Stage stage)
- Specified by:
handleStageClosedin interfaceIStageClosedListener
-
handleJITEvent
public void handleJITEvent(JITEvent event)
- Specified by:
handleJITEventin interfaceIJITListener
-
handleLogEntry
public void handleLogEntry(java.lang.String entry)
- Specified by:
handleLogEntryin interfaceILogListener
-
handleErrorEntry
public void handleErrorEntry(java.lang.String entry)
- Specified by:
handleErrorEntryin interfaceILogListener
-
log
private void log(java.lang.String entry)
-
metaClassSelectedFromClassTree
void metaClassSelectedFromClassTree(MetaClass metaClass)
-
getPackageManager
public PackageManager getPackageManager()
-
getStageForDialog
public javafx.stage.Stage getStageForDialog()
- Specified by:
getStageForDialogin interfaceIStageAccessProxy
-
parserSelected
public void parserSelected(ParserType parserType)
- Specified by:
parserSelectedin interfaceIParserSelectedListener
-
-