Package org.apache.jmeter.visualizers

# Class RespTimeGraphVisualizer

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.apache.jmeter.gui.AbstractJMeterGuiComponent
org.apache.jmeter.visualizers.gui.AbstractListenerGui
org.apache.jmeter.visualizers.gui.AbstractVisualizer
org.apache.jmeter.visualizers.RespTimeGraphVisualizer

All Implemented Interfaces:
  `ActionListener`, `ImageObserver`, `MenuContainer`, `Serializable`, `EventListener`, `Accessible`, `ChangeListener`, `ClearGui`, `JMeterGUIComponent`, `UnsharedComponent`, `Clearable`, `Printable`, `Visualizer`

public class RespTimeGraphVisualizer extends AbstractVisualizer implements ActionListener, Clearable

See Also:
  - Serialized Form

- ## 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

  Fields
  Modifier and Type
  Field
  Description
  `static final boolean`
  `DEFAULT_CASE_SENSITIVE`
  `static final boolean`
  `DEFAULT_DYNAMIC_GRAPH_SIZE`
  `static final int`
  `DEFAULT_INTERVAL`
  `static final int`
  `DEFAULT_LEGEND_FONT`
  `static final int`
  `DEFAULT_LEGEND_PLACEMENT`
  `static final int`
  `DEFAULT_LEGEND_SIZE`
  `static final int`
  `DEFAULT_LEGEND_STYLE`
  `static final int`
  `DEFAULT_LINE_SHAPE_POINT`
  `static final boolean`
  `DEFAULT_NUMBER_SHOW_GROUPING`
  `static final boolean`
  `DEFAULT_REGEXP`
  `static final boolean`
  `DEFAULT_SERIES_SELECTION`
  `static final int`
  `DEFAULT_STROKE_WIDTH_LIST`
  `static final int`
  `DEFAULT_TITLE_FONT_NAME`
  `static final int`
  `DEFAULT_TITLE_FONT_SIZE`
  `static final int`
  `DEFAULT_TITLE_FONT_STYLE`
  `static final String`
  `DEFAULT_XAXIS_TIME_FORMAT`
  `static final String`
  `GRAPH_SIZE_DYNAMIC`
  `static final String`
  `GRAPH_SIZE_HEIGHT`
  `static final String`
  `GRAPH_SIZE_WIDTH`
  `static final String`
  `GRAPH_TITLE`
  `static final String`
  `GRAPH_TITLE_FONT_NAME`
  `static final String`
  `GRAPH_TITLE_FONT_SIZE`
  `static final String`
  `GRAPH_TITLE_FONT_STYLE`
  `static final String`
  `INTERVAL`
  `static final String`
  `LEGEND_FONT`
  `static final String`
  `LEGEND_PLACEMENT`
  `static final String`
  `LEGEND_SIZE`
  `static final String`
  `LEGEND_STYLE`
  `static final String`
  `LINE_SHAPE_POINT`
  `static final String`
  `LINE_STROKE_WIDTH`
  `static final String`
  `SERIES_SELECTION`
  `static final String`
  `SERIES_SELECTION_CASE_SENSITIVE`
  `static final String`
  `SERIES_SELECTION_MATCH_LABEL`
  `static final String`
  `SERIES_SELECTION_REGEXP`
  `static final String`
  `XAXIS_TIME_FORMAT`
  `static final String`
  `YAXIS_INCREMENT_SCALE`
  `static final String`
  `YAXIS_NUMBER_GROUPING`
  `static final String`
  `YAXIS_SCALE_MAX_VALUE`

  ### Fields inherited from class org.apache.jmeter.visualizers.gui.AbstractVisualizer

  `collector, isStats`

  ### Fields inherited from class org.apache.jmeter.gui.AbstractJMeterGuiComponent

  `bindingGroup, namePanel`

  ### 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

  Constructors
  Constructor
  Description
  `RespTimeGraphVisualizer()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `actionPerformed(ActionEvent event)`
  `void`
  `add(SampleResult sampleResult)`
  This method is called by sampling thread to inform the visualizer about the arrival of a new sample.
  `void`
  `clearData()`
  Clears the current data of the object.
  `void`
  `clearGui()`
  Implements JMeterGUIComponent.clearGui
  `void`
  `configure(org.apache.jmeter.testelement.TestElement te)`
  A newly created gui component can be initialized with the contents of a Test Element object by calling this method.
  `double[][]`
  `getData()`
  Generate the data for the jChart API
  `String`
  `getLabelResource()`
  Get the component's resource name, which getStaticLabel uses to derive the component's label in the local language.
  `JComponent`
  `getPrintableComponent()`
  Subclasses need to over-ride this method, if they wish to return something other than the Visualizer itself.
  `String[]`
  `getXAxisLabels()`
  `void`
  `makeGraph()`
  `void`
  `modifyTestElement(org.apache.jmeter.testelement.TestElement te)`
  GUI components are responsible for populating TestElements they create with the data currently held in the GUI components.

  ### Methods inherited from class org.apache.jmeter.visualizers.gui.AbstractVisualizer

  `configureTestElement, createTestElement, getErrorLoggingCheckbox, getFile, getFilePanel, getModel, isStats, makeTitlePanel, 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, getStaticLabel, isEnabled, makeBorder, makeScrollPane, makeScrollPane, setComment, setEnabled, setName, wrapTitlePanel`

  ### 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, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, 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`

  ### Methods inherited from interface org.apache.jmeter.gui.JMeterGUIComponent

  `assignDefaultValues, canBeAdded, makeTestElement`

- ## Field Details

  - ### INTERVAL

    public static final String INTERVAL
    See Also:
      - Constant Field Values

  - ### SERIES_SELECTION

    public static final String SERIES_SELECTION
    See Also:
      - Constant Field Values

  - ### SERIES_SELECTION_MATCH_LABEL

    public static final String SERIES_SELECTION_MATCH_LABEL
    See Also:
      - Constant Field Values

  - ### SERIES_SELECTION_CASE_SENSITIVE

    public static final String SERIES_SELECTION_CASE_SENSITIVE
    See Also:
      - Constant Field Values

  - ### SERIES_SELECTION_REGEXP

    public static final String SERIES_SELECTION_REGEXP
    See Also:
      - Constant Field Values

  - ### GRAPH_TITLE

    public static final String GRAPH_TITLE
    See Also:
      - Constant Field Values

  - ### GRAPH_TITLE_FONT_NAME

    public static final String GRAPH_TITLE_FONT_NAME
    See Also:
      - Constant Field Values

  - ### GRAPH_TITLE_FONT_SIZE

    public static final String GRAPH_TITLE_FONT_SIZE
    See Also:
      - Constant Field Values

  - ### GRAPH_TITLE_FONT_STYLE

    public static final String GRAPH_TITLE_FONT_STYLE
    See Also:
      - Constant Field Values

  - ### LINE_STROKE_WIDTH

    public static final String LINE_STROKE_WIDTH
    See Also:
      - Constant Field Values

  - ### LINE_SHAPE_POINT

    public static final String LINE_SHAPE_POINT
    See Also:
      - Constant Field Values

  - ### GRAPH_SIZE_DYNAMIC

    public static final String GRAPH_SIZE_DYNAMIC
    See Also:
      - Constant Field Values

  - ### GRAPH_SIZE_WIDTH

    public static final String GRAPH_SIZE_WIDTH
    See Also:
      - Constant Field Values

  - ### GRAPH_SIZE_HEIGHT

    public static final String GRAPH_SIZE_HEIGHT
    See Also:
      - Constant Field Values

  - ### XAXIS_TIME_FORMAT

    public static final String XAXIS_TIME_FORMAT
    See Also:
      - Constant Field Values

  - ### YAXIS_SCALE_MAX_VALUE

    public static final String YAXIS_SCALE_MAX_VALUE
    See Also:
      - Constant Field Values

  - ### YAXIS_INCREMENT_SCALE

    public static final String YAXIS_INCREMENT_SCALE
    See Also:
      - Constant Field Values

  - ### YAXIS_NUMBER_GROUPING

    public static final String YAXIS_NUMBER_GROUPING
    See Also:
      - Constant Field Values

  - ### LEGEND_PLACEMENT

    public static final String LEGEND_PLACEMENT
    See Also:
      - Constant Field Values

  - ### LEGEND_FONT

    public static final String LEGEND_FONT
    See Also:
      - Constant Field Values

  - ### LEGEND_SIZE

    public static final String LEGEND_SIZE
    See Also:
      - Constant Field Values

  - ### LEGEND_STYLE

    public static final String LEGEND_STYLE
    See Also:
      - Constant Field Values

  - ### DEFAULT_INTERVAL

    public static final int DEFAULT_INTERVAL
    See Also:
      - Constant Field Values

  - ### DEFAULT_SERIES_SELECTION

    public static final boolean DEFAULT_SERIES_SELECTION
    See Also:
      - Constant Field Values

  - ### DEFAULT_CASE_SENSITIVE

    public static final boolean DEFAULT_CASE_SENSITIVE
    See Also:
      - Constant Field Values

  - ### DEFAULT_REGEXP

    public static final boolean DEFAULT_REGEXP
    See Also:
      - Constant Field Values

  - ### DEFAULT_TITLE_FONT_NAME

    public static final int DEFAULT_TITLE_FONT_NAME
    See Also:
      - Constant Field Values

  - ### DEFAULT_TITLE_FONT_SIZE

    public static final int DEFAULT_TITLE_FONT_SIZE
    See Also:
      - Constant Field Values

  - ### DEFAULT_TITLE_FONT_STYLE

    public static final int DEFAULT_TITLE_FONT_STYLE
    See Also:
      - Constant Field Values

  - ### DEFAULT_STROKE_WIDTH_LIST

    public static final int DEFAULT_STROKE_WIDTH_LIST
    See Also:
      - Constant Field Values

  - ### DEFAULT_LINE_SHAPE_POINT

    public static final int DEFAULT_LINE_SHAPE_POINT
    See Also:
      - Constant Field Values

  - ### DEFAULT_DYNAMIC_GRAPH_SIZE

    public static final boolean DEFAULT_DYNAMIC_GRAPH_SIZE
    See Also:
      - Constant Field Values

  - ### DEFAULT_XAXIS_TIME_FORMAT

    public static final String DEFAULT_XAXIS_TIME_FORMAT
    See Also:
      - Constant Field Values

  - ### DEFAULT_NUMBER_SHOW_GROUPING

    public static final boolean DEFAULT_NUMBER_SHOW_GROUPING
    See Also:
      - Constant Field Values

  - ### DEFAULT_LEGEND_PLACEMENT

    public static final int DEFAULT_LEGEND_PLACEMENT
    See Also:
      - Constant Field Values

  - ### DEFAULT_LEGEND_FONT

    public static final int DEFAULT_LEGEND_FONT
    See Also:
      - Constant Field Values

  - ### DEFAULT_LEGEND_SIZE

    public static final int DEFAULT_LEGEND_SIZE
    See Also:
      - Constant Field Values

  - ### DEFAULT_LEGEND_STYLE

    public static final int DEFAULT_LEGEND_STYLE
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### RespTimeGraphVisualizer

    public RespTimeGraphVisualizer()

- ## Method Details

  - ### add

    public void add(SampleResult sampleResult)
    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`
    Parameters:
      `sampleResult` - the newly arrived sample

  - ### makeGraph

    public void makeGraph()

  - ### getData

    public double[][] getData()
    Generate the data for the jChart API
    Returns:
      array of array of data to draw

  - ### 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.

    Normally this method should be overridden 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

  - ### clearData

    public void clearData()
    Description copied from interface: `Clearable`
    Clears the current data of the object.
    Specified by:
      `clearData` in interface `Clearable`

  - ### actionPerformed

    public void actionPerformed(ActionEvent event)
    Specified by:
      `actionPerformed` in interface `ActionListener`

  - ### getPrintableComponent

    public 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

  - ### configure

    public void configure(org.apache.jmeter.testelement.TestElement te)
    Description copied from class: `AbstractJMeterGuiComponent`
    A newly created gui component can be initialized with the contents of a Test Element object by calling this method. The component is responsible for querying the Test Element object for the relevant information to display in its GUI.

    AbstractJMeterGuiComponent provides a partial implementation of this method, setting the name of the component and its enabled status. Subclasses should override this method, performing their own configuration as needed, but also calling this super-implementation.

    Specified by:
      `configure` in interface `JMeterGUIComponent`
    Overrides:
      `configure` in class `AbstractVisualizer`
    Parameters:
      `te` - the TestElement to configure

  - ### modifyTestElement

    public void modifyTestElement(org.apache.jmeter.testelement.TestElement te)
    Description copied from interface: `JMeterGUIComponent`
    GUI components are responsible for populating TestElements they create with the data currently held in the GUI components. This method should overwrite whatever data is currently in the TestElement as it is called after a user has filled out the form elements in the gui with new information.

    If you override `AbstractJMeterGuiComponent`, you might want using `AbstractJMeterGuiComponent.bindingGroup` instead of overriding `modifyTestElement`.

    The canonical implementation looks like this:

         @Override
         public void modifyTestElement(TestElement element) {
             super.modifyTestElement(element); // clear the element and assign basic fields like name, gui class, test class
             // Using the element setters (preferred):
             // If the field is empty, you probably want to remove the property instead of storing an empty string
             // See Streamline binding of UI elements to TestElement properties
             // for more details
             TestElementXYZ xyz = (TestElementXYZ) element;
             xyz.setState(StringUtils.defaultIfEmpty(guiState.getText(), null));
             xyz.setCode(StringUtils.defaultIfEmpty(guiCode.getText(), null));
             ... other GUI fields ...
             // or directly (do not use unless there is no setter for the field):
             element.setProperty(TestElementXYZ.STATE, StringUtils.defaultIfEmpty(guiState.getText(), null))
             element.setProperty(TestElementXYZ.CODE, StringUtils.defaultIfEmpty(guiCode.getText(), null))
             ... other GUI fields ...
         }

    Specified by:
      `modifyTestElement` in interface `JMeterGUIComponent`
    Overrides:
      `modifyTestElement` in class `AbstractVisualizer`
    Parameters:
      `te` - the TestElement to modify

  - ### clearGui

    public void clearGui()
    Implements JMeterGUIComponent.clearGui
    Specified by:
      `clearGui` in interface `ClearGui`
    Overrides:
      `clearGui` in class `AbstractVisualizer`

  - ### getXAxisLabels

    public String[] getXAxisLabels()