You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by wo...@apache.org on 2005/01/11 05:56:02 UTC
cvs commit: jakarta-jmeter/src/monitor/components/org/apache/jmeter/visualizers MonitorPerformancePanel.java MonitorHealthVisualizer.java
woolfel 2005/01/10 20:56:02
Modified: src/monitor/components/org/apache/jmeter/visualizers
MonitorPerformancePanel.java
MonitorHealthVisualizer.java
Log:
updated the visualizer so it can save the statistics. also fixed a bug
with the performance panel so that it checks the node to make sure
it is not null.
peter
Revision Changes Path
1.8 +18 -17 jakarta-jmeter/src/monitor/components/org/apache/jmeter/visualizers/MonitorPerformancePanel.java
Index: MonitorPerformancePanel.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/monitor/components/org/apache/jmeter/visualizers/MonitorPerformancePanel.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- MonitorPerformancePanel.java 24 Dec 2004 17:12:55 -0000 1.7
+++ MonitorPerformancePanel.java 11 Jan 2005 04:56:02 -0000 1.8
@@ -245,22 +245,23 @@
* MonitorAccumModel will call this method to notify
* the component data has changed.
*/
- public void addSample(MonitorModel model){
- if (!SERVERMAP.containsKey(model.getURL())){
- DefaultMutableTreeNode newnode =
- new DefaultMutableTreeNode(model);
- newnode.setAllowsChildren(false);
- SERVERMAP.put(model.getURL(),newnode);
- ROOTNODE.add(newnode);
- this.TREEPANE.updateUI();
- }
- DefaultMutableTreeNode node =
- (DefaultMutableTreeNode) SERVERTREE.getLastSelectedPathComponent();
- Object usrobj = node.getUserObject();
- if (usrobj instanceof MonitorModel){
- GRAPH.updateGui((MonitorModel)usrobj);
- }
- }
+ public synchronized void addSample(MonitorModel model) {
+ if (!SERVERMAP.containsKey(model.getURL())) {
+ DefaultMutableTreeNode newnode = new DefaultMutableTreeNode(model);
+ newnode.setAllowsChildren(false);
+ SERVERMAP.put(model.getURL(), newnode);
+ ROOTNODE.add(newnode);
+ this.TREEPANE.updateUI();
+ }
+ DefaultMutableTreeNode node =
+ (DefaultMutableTreeNode)SERVERTREE.getLastSelectedPathComponent();
+ if (node != null) {
+ Object usrobj = node.getUserObject();
+ if (usrobj instanceof MonitorModel) {
+ GRAPH.updateGui((MonitorModel)usrobj);
+ }
+ }
+ }
/**
* When the user selects a different node in the
1.8 +24 -20 jakarta-jmeter/src/monitor/components/org/apache/jmeter/visualizers/MonitorHealthVisualizer.java
Index: MonitorHealthVisualizer.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/monitor/components/org/apache/jmeter/visualizers/MonitorHealthVisualizer.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- MonitorHealthVisualizer.java 6 Jan 2005 01:37:59 -0000 1.7
+++ MonitorHealthVisualizer.java 11 Jan 2005 04:56:02 -0000 1.8
@@ -27,14 +27,15 @@
import javax.swing.border.EmptyBorder;
import org.apache.jmeter.gui.util.VerticalPanel;
-import org.apache.jmeter.reporters.ResultCollector;
-import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.samplers.Clearable;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
+import org.apache.jorphan.logging.LoggingManager;
+import org.apache.log.Logger;
+
/**
* For performance reasons, I am using tabs for the
* visualizers. Since a visualizer is heavy weight,
@@ -55,18 +56,24 @@
private MonitorGraph GRAPH;
public static final String BUFFER = "monitor.buffer.size";
+ private static transient Logger log = LoggingManager.getLoggerForClass();
/**
* Constructor for the GraphVisualizer object.
*/
public MonitorHealthVisualizer()
{
- MODEL = new MonitorAccumModel();
- GRAPH = new MonitorGraph(MODEL);
+ this.isStats = true;
+ initModel();
init();
- MODEL.setBufferSize(JMeterUtils.getPropDefault(BUFFER,800));
}
+ public void initModel(){
+ MODEL = new MonitorAccumModel();
+ GRAPH = new MonitorGraph(MODEL);
+ MODEL.setBufferSize(JMeterUtils.getPropDefault(BUFFER,800));
+ }
+
public String getLabelResource()
{
return "monitor_health_title";
@@ -79,10 +86,16 @@
* to run for a very long time without eating up
* all the memory.
*/
- public void add(SampleResult res)
- {
- MODEL.addSample(res);
- }
+ public void add(SampleResult res) {
+ MODEL.addSample(res);
+ try {
+ collector.recordStats(
+ this.MODEL.getLastSample().cloneMonitorStats());
+ } catch (Exception e) {
+ // for now just swallow the exception
+ log.debug("StatsModel was null", e);
+ }
+ }
public Image getImage()
{
@@ -154,7 +167,7 @@
VerticalPanel titlePanel = new VerticalPanel();
titlePanel.add(createTitleLabel());
titlePanel.add(getNamePanel());
- titlePanel.add(super.getFilePanel());
+ titlePanel.add(getFilePanel());
return titlePanel;
}
@@ -168,13 +181,4 @@
this.PERFPANE.clear();
}
- public TestElement createTestElement()
- {
- if (collector == null)
- {
- collector = new ResultCollector();
- }
- modifyTestElement(collector);
- return (TestElement) collector.clone();
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org