Apache JMeter
2.0.1.20050615

org.apache.jmeter.visualizers
Class MonitorHealthVisualizer

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byorg.apache.jmeter.gui.AbstractJMeterGuiComponent
                      extended byorg.apache.jmeter.visualizers.gui.AbstractVisualizer
                          extended byorg.apache.jmeter.visualizers.MonitorHealthVisualizer
All Implemented Interfaces:
Accessible, ChangeListener, Clearable, EventListener, GraphListener, ImageObserver, ImageVisualizer, ItemListener, JMeterGUIComponent, MenuContainer, Serializable, UnsharedComponent, Visualizer

public class MonitorHealthVisualizer
extends AbstractVisualizer
implements ImageVisualizer, ItemListener, GraphListener, Clearable

For performance reasons, I am using tabs for the visualizers. Since a visualizer is heavy weight, I don not want to have two separate result collectors rather the same information. Instead, I would rather have the visualizer be the container for the data and simply pass the data to child JComponents. In the future, we may want to add email alerts as a third tab.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static String BUFFER
           
 
Fields inherited from class org.apache.jmeter.visualizers.gui.AbstractVisualizer
collector
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
MonitorHealthVisualizer()
          Constructor for the GraphVisualizer object.
 
Method Summary
 void add(SampleResult res)
          Because of the unique requirements of a monitor We have to handle the results differently than normal GUI components.
 void clear()
          Clear will clear the MonitorAccumModel and create a new instance.
 void createHealthPane(MonitorTabPane pane)
          Create the JPanel
 void createPerformancePane(MonitorTabPane pane)
          Create the JSplitPane for the performance history
protected  void createTabs()
           
 TestElement createTestElement()
          JMeter test components are separated into a model and a GUI representation.
 Image getImage()
           
 String getLabelResource()
          Get the component's resource name, which getStaticLabel uses to derive the component's label in the local language.
 void itemStateChanged(ItemEvent e)
           
protected  Container makeTitlePanel()
          Create a standard title section for JMeter components.
 void updateGui()
           
 void updateGui(Sample s)
           
 
Methods inherited from class org.apache.jmeter.visualizers.gui.AbstractVisualizer
configure, configureTestElement, createPopupMenu, getErrorLoggingCheckbox, getFile, getFilePanel, getMenuCategories, getModel, modifyTestElement, setFile, setModel, stateChanged
 
Methods inherited from class org.apache.jmeter.gui.AbstractJMeterGuiComponent
configureTestElement, createTitleLabel, getDocAnchor, getName, getNamePanel, getNode, getStaticLabel, isEnabled, makeBorder, makeScrollPane, makeScrollPane, setEnabled, setName, setNode
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BUFFER

public static final String BUFFER
See Also:
Constant Field Values
Constructor Detail

MonitorHealthVisualizer

public MonitorHealthVisualizer()
Constructor for the GraphVisualizer object.

Method Detail

getLabelResource

public String getLabelResource()
Description copied from interface: JMeterGUIComponent
Get the component's resource name, which getStaticLabel uses to derive the component's label in the local language. The resource name is fixed, and does not vary with the selected language.

Specified by:
getLabelResource in interface JMeterGUIComponent
Overrides:
getLabelResource in class AbstractJMeterGuiComponent

add

public void add(SampleResult res)
Because of the unique requirements of a monitor We have to handle the results differently than normal GUI components. A monitor should be able to run for a very long time without eating up all the memory.

Specified by:
add in interface Visualizer

getImage

public Image getImage()
Specified by:
getImage in interface ImageVisualizer

itemStateChanged

public void itemStateChanged(ItemEvent e)
Specified by:
itemStateChanged in interface ItemListener

updateGui

public void updateGui()
Specified by:
updateGui in interface GraphListener

updateGui

public void updateGui(Sample s)
Specified by:
updateGui in interface GraphListener

createTabs

protected void createTabs()

createHealthPane

public void createHealthPane(MonitorTabPane pane)
Create the JPanel

Parameters:
pane -

createPerformancePane

public void createPerformancePane(MonitorTabPane pane)
Create the JSplitPane for the performance history

Parameters:
pane -

makeTitlePanel

protected Container makeTitlePanel()
Description copied from class: AbstractVisualizer
Create a standard title section for JMeter components. This includes the title for the component and the Name Panel allowing the user to change the name for the component. The AbstractVisualizer also adds the FilePanel allowing the user to save the results, and the error logging checkbox, allowing the user to choose whether or not only errors should be logged.

This method is typically added to the top of the component at the beginning of the component's init method.

Overrides:
makeTitlePanel in class AbstractVisualizer
Returns:
a panel containing the component title, name panel, file panel, and error logging checkbox

clear

public void clear()
Clear will clear the MonitorAccumModel and create a new instance.

Specified by:
clear in interface Clearable
Overrides:
clear in class AbstractJMeterGuiComponent

createTestElement

public TestElement createTestElement()
Description copied from interface: JMeterGUIComponent
JMeter test components are separated into a model and a GUI representation. The model holds the data and the GUI displays it. The GUI class is responsible for knowing how to create and initialize with data the model class that it knows how to display, and this method is called when new test elements are created.

Specified by:
createTestElement in interface JMeterGUIComponent
Overrides:
createTestElement in class AbstractVisualizer

Apache JMeter
2.0.1.20050615

Copyright © 1998-2005 Apache Software Foundation. All Rights Reserved.