Package edu.wisc.ssec.mcidasv.util
Class MemoryMonitor
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
edu.wisc.ssec.mcidasv.util.MemoryMonitor
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Runnable,Accessible
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static SimpleDateFormatprivate static JDialogprivate static DecimalFormatformatprivate booleanprivate JLabelthe labelprivate static longKeep track of the last time we ran the gc and cleared the cacheprivate static final org.slf4j.Loggerprivate Stringprivate static doubleprivate Stringprivate final intpercent cancelprivate final intpercent thresholdprivate booleanflag for runningprivate static final longprivate booleanprivate final longsleep intervalprivate StateManagerprivate intprivate Threada threadprivate intnumber of times above the thresholdprivate booleanhave we tried to cancel the load yetprivate intFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionMemoryMonitor(StateManager stateManager) Default constructor.MemoryMonitor(StateManager stateManager, int percentThreshold, int percentCancel, boolean showClock) Create a new MemoryMonitor. -
Method Summary
Modifier and TypeMethodDescriptionprivate ColordoColorThing(int percent) booleanGet whether we are runningprivate StringReturns a description of either the clock or memory monitor GUI.private voidhandleMouseEvent(MouseEvent event) Handle a mouse eventstatic voidTest routineprivate voidpopupMenu(MouseEvent event) Popup a menu on an eventvoidrun()Run this monitorvoidrunGC()Run the GC and clear the cachevoidsetLabelFont(Font f) Set the label fontvoidsetRunning(boolean r) Set whether we are runningprivate voidShow the statistics.private voidstart()Start runningvoidstop()Stop runningprivate voidvoidToggle runningMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTreeMethods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
logger
-
serialVersionUID
- See Also:
-
running
flag for running -
sleepInterval
sleep interval- See Also:
-
thread
a thread -
isWarned
-
sustainTimer
-
warnTimer
-
dialog
-
percentThreshold
percent threshold -
timesAboveThreshold
number of times above the threshold -
percentCancel
percent cancel -
triedToCancel
have we tried to cancel the load yet -
fmt
format -
label
the label -
lastTimeRanGC
Keep track of the last time we ran the gc and cleared the cache -
stateManager
-
memoryString
-
mbString
-
showClock
-
clockFormat
-
MEGABYTE
-
-
Constructor Details
-
MemoryMonitor
Default constructor.- Parameters:
stateManager- Reference back to application session'sStateManager. Cannot benull.
-
MemoryMonitor
public MemoryMonitor(StateManager stateManager, int percentThreshold, int percentCancel, boolean showClock) Create a new MemoryMonitor.- Parameters:
stateManager- Reference back to application session'sStateManager. Cannot benull.percentThreshold- Percentage of use memory before garbage collection is run.percentCancel- Not currently in use.showClock- Whether or not the clock should be shown instead of the memory monitor widget.
-
-
Method Details
-
handleMouseEvent
Handle a mouse event- Parameters:
event- the event
-
toggleClock
-
getToolTip
Returns a description of either the clock or memory monitor GUI.- Returns:
- Description of either the clock or memory monitor GUI.
-
popupMenu
Popup a menu on an event- Parameters:
event- the event
-
toggleRunning
Toggle running -
setLabelFont
Set the label font- Parameters:
f- the font
-
stop
Stop running -
start
Start running -
runGC
Run the GC and clear the cache -
showStats
Show the statistics.- Throws:
IllegalStateException
-
doColorThing
-
run
Run this monitor -
setRunning
Set whether we are running- Parameters:
r- true if we are running
-
getRunning
Get whether we are running- Returns:
- true if we are
-
main
Test routine- Parameters:
args- not used
-