Apache JMeter

org.apache.jmeter.visualizers
Class StatGraphVisualizer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.apache.jmeter.gui.AbstractJMeterGuiComponent
                      extended by org.apache.jmeter.visualizers.gui.AbstractListenerGui
                          extended by org.apache.jmeter.visualizers.gui.AbstractVisualizer
                              extended by org.apache.jmeter.visualizers.StatGraphVisualizer
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener, JMeterGUIComponent, UnsharedComponent, Clearable, Printable, Visualizer

public class StatGraphVisualizer
extends AbstractVisualizer
implements Clearable, java.awt.event.ActionListener

Aggregrate Table-Based Reporting Visualizer for JMeter. Props to the people who've done the other visualizers ahead of me (Stefano Mazzocchi), who I borrowed code from to start me off (and much code may still exist). Thank you!

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  JLabeledChoice columns
           
protected  int defaultHeight
           
protected  int defaultWidth
           
protected  javax.swing.JButton displayButton
           
protected  VerticalPanel graph
           
protected  AxisGraph graphPanel
           
protected  javax.swing.JScrollPane graphScroll
           
protected  javax.swing.JTable myJTable
           
protected  javax.swing.JScrollPane myScrollPane
           
protected  javax.swing.JButton saveGraph
           
protected  boolean saveGraphToFile
           
protected  javax.swing.JButton saveTable
           
protected  javax.swing.JSplitPane spane
           
protected  java.lang.String yAxisLabel
           
protected  java.lang.String yAxisTitle
           
 
Fields inherited from class org.apache.jmeter.visualizers.gui.AbstractVisualizer
collector, isStats
 
Fields inherited from class org.apache.jmeter.gui.AbstractJMeterGuiComponent
namePanel
 
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
StatGraphVisualizer()
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent event)
           
 void add(SampleResult res)
          This method is called by sampling thread to inform the visualizer about the arrival of a new sample.
 void clearData()
          Clears this visualizer and its model, and forces a repaint of the table.
 java.util.Vector getAllTableData()
          We use this method to get the data, since we are using ObjectTableModel, so the calling getDataVector doesn't work as expected.
 java.lang.String[] getAxisLabels()
           
 double[][] getData()
           
 java.lang.String getLabelResource()
          Get the component's resource name, which getStaticLabel uses to derive the component's label in the local language.
 javax.swing.JComponent getPrintableComponent()
          Subclasses need to over-ride this method, if they wish to return something other than the Visualizer itself.
 void makeGraph()
           
static boolean testFunctors()
           
 
Methods inherited from class org.apache.jmeter.visualizers.gui.AbstractVisualizer
clearGui, configure, configureTestElement, createTestElement, getErrorLoggingCheckbox, getFile, getFilePanel, getModel, isStats, makeTitlePanel, modifyTestElement, setFile, setModel, stateChanged
 
Methods inherited from class org.apache.jmeter.visualizers.gui.AbstractListenerGui
createPopupMenu, getMenuCategories
 
Methods inherited from class org.apache.jmeter.gui.AbstractJMeterGuiComponent
configureTestElement, createTitleLabel, getComment, getDocAnchor, getName, getNamePanel, getNode, getStaticLabel, isEnabled, makeBorder, makeScrollPane, makeScrollPane, setComment, 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, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

myJTable

protected javax.swing.JTable myJTable

myScrollPane

protected javax.swing.JScrollPane myScrollPane

graphPanel

protected AxisGraph graphPanel

graph

protected VerticalPanel graph

graphScroll

protected javax.swing.JScrollPane graphScroll

spane

protected javax.swing.JSplitPane spane

columns

protected JLabeledChoice columns

displayButton

protected javax.swing.JButton displayButton

saveGraph

protected javax.swing.JButton saveGraph

saveTable

protected javax.swing.JButton saveTable

yAxisLabel

protected java.lang.String yAxisLabel

yAxisTitle

protected java.lang.String yAxisTitle

saveGraphToFile

protected boolean saveGraphToFile

defaultWidth

protected int defaultWidth

defaultHeight

protected int defaultHeight
Constructor Detail

StatGraphVisualizer

public StatGraphVisualizer()
Method Detail

testFunctors

public static boolean testFunctors()

getLabelResource

public java.lang.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. Normally this method should be overriden in preference to overriding getStaticLabel(). However where the resource name is not available or required, getStaticLabel() may be overridden instead.

Specified by:
getLabelResource in interface JMeterGUIComponent
Returns:
the resource name

add

public void add(SampleResult res)
Description copied from interface: Visualizer
This method is called by sampling thread to inform the visualizer about the arrival of a new sample.

Specified by:
add in interface Visualizer

clearData

public void clearData()
Clears this visualizer and its model, and forces a repaint of the table.

Specified by:
clearData in interface Clearable

makeGraph

public void makeGraph()

getData

public double[][] getData()

getAxisLabels

public java.lang.String[] getAxisLabels()

getAllTableData

public java.util.Vector getAllTableData()
We use this method to get the data, since we are using ObjectTableModel, so the calling getDataVector doesn't work as expected.

Returns:
the data from the model

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

getPrintableComponent

public javax.swing.JComponent getPrintableComponent()
Description copied from class: AbstractJMeterGuiComponent
Subclasses need to over-ride this method, if they wish to return something other than the Visualizer itself.

Specified by:
getPrintableComponent in interface Printable
Overrides:
getPrintableComponent in class AbstractJMeterGuiComponent
Returns:
this object

Apache JMeter

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