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.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static SimpleDateFormat
private static JDialog
private static DecimalFormat
formatprivate boolean
private JLabel
the labelprivate static long
Keep track of the last time we ran the gc and cleared the cacheprivate static final org.slf4j.Logger
private String
private static double
private String
private final int
percent cancelprivate final int
percent thresholdprivate boolean
flag for runningprivate static final long
private boolean
private final long
sleep intervalprivate StateManager
private int
private Thread
a threadprivate int
number of times above the thresholdprivate boolean
have we tried to cancel the load yetprivate int
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields 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 Color
doColorThing
(int percent) boolean
Get whether we are runningprivate String
Returns a description of either the clock or memory monitor GUI.private void
handleMouseEvent
(MouseEvent event) Handle a mouse eventstatic void
Test routineprivate void
popupMenu
(MouseEvent event) Popup a menu on an eventvoid
run()
Run this monitorvoid
runGC()
Run the GC and clear the cachevoid
setLabelFont
(Font f) Set the label fontvoid
setRunning
(boolean r) Set whether we are runningprivate void
Show the statistics.private void
start()
Start runningvoid
stop()
Stop runningprivate void
void
Toggle runningMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
Methods 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, update
Methods 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, validateTree
Methods 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
-