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 se...@apache.org on 2009/02/23 20:47:39 UTC

svn commit: r747112 - in /jakarta/jmeter/trunk: src/core/org/apache/jmeter/resources/ src/monitor/components/org/apache/jmeter/monitor/util/ src/monitor/components/org/apache/jmeter/visualizers/ src/monitor/model/org/apache/jmeter/monitor/model/ xdocs/

Author: sebb
Date: Mon Feb 23 19:47:38 2009
New Revision: 747112

URL: http://svn.apache.org/viewvc?rev=747112&view=rev
Log:
Bug 40045 - Allow Results monitor to select a specific connector

Modified:
    jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
    jakarta/jmeter/trunk/src/monitor/components/org/apache/jmeter/monitor/util/Stats.java
    jakarta/jmeter/trunk/src/monitor/components/org/apache/jmeter/visualizers/MonitorAccumModel.java
    jakarta/jmeter/trunk/src/monitor/components/org/apache/jmeter/visualizers/MonitorHealthVisualizer.java
    jakarta/jmeter/trunk/src/monitor/model/org/apache/jmeter/monitor/model/Status.java
    jakarta/jmeter/trunk/src/monitor/model/org/apache/jmeter/monitor/model/StatusImpl.java
    jakarta/jmeter/trunk/xdocs/changes.xml

Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=747112&r1=747111&r2=747112&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties Mon Feb 23 19:47:38 2009
@@ -511,6 +511,7 @@
 monitor_label_left_bottom=0 %
 monitor_label_left_middle=50 %
 monitor_label_left_top=100 %
+monitor_label_prefix=Connection Prefix
 monitor_label_right_active=Active
 monitor_label_right_dead=Dead
 monitor_label_right_healthy=Healthy

Modified: jakarta/jmeter/trunk/src/monitor/components/org/apache/jmeter/monitor/util/Stats.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/monitor/components/org/apache/jmeter/monitor/util/Stats.java?rev=747112&r1=747111&r2=747112&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/monitor/components/org/apache/jmeter/monitor/util/Stats.java (original)
+++ jakarta/jmeter/trunk/src/monitor/components/org/apache/jmeter/monitor/util/Stats.java Mon Feb 23 19:47:38 2009
@@ -82,7 +82,7 @@
             // of the list. Peter 12.22.04
             double threadWeight = 0;
             if (stat.getConnector().size() > 0) {
-                Connector cntr = (Connector) stat.getConnector().get(0);
+            	Connector cntr = fetchConnector(stat);
                 int maxThread = cntr.getThreadInfo().getMaxThreads();
                 int curThread = cntr.getThreadInfo().getCurrentThreadsBusy();
                 double thdiv = (double) curThread / (double) maxThread;
@@ -109,7 +109,7 @@
      */
     public static int calculateStatus(Status stat) {
         if (stat != null && stat.getConnector().size() > 0) {
-            Connector cntr = (Connector) stat.getConnector().get(0);
+        	Connector cntr = fetchConnector(stat);
             int max = cntr.getThreadInfo().getMaxThreads();
             int current = cntr.getThreadInfo().getCurrentThreadsBusy();
             // int spare = cntr.getThreadInfo().getMaxSpareThreads();
@@ -157,12 +157,35 @@
     public static int calculateThreadLoad(Status stat) {
         int load = 0;
         if (stat != null && stat.getConnector().size() > 0) {
-            Connector cntr = (Connector) stat.getConnector().get(0);
+            Connector cntr = fetchConnector(stat);
             double max = cntr.getThreadInfo().getMaxThreads();
             double current = cntr.getThreadInfo().getCurrentThreadsBusy();
             load = (int) ((current / max) * 100);
         }
         return load;
     }
+    
+    /**
+     * Method to get connector to use for calculate server status
+     * 
+     * @param stat
+     * @return connector
+     */
+    private static Connector fetchConnector(Status stat) {
+    	Connector cntr = null;
+    	String connectorPrefix = stat.getConnectorPrefix();
+    	if (connectorPrefix != null && connectorPrefix.length() > 0) {
+           // loop to fetch desired connector
+           for (int i = 0; i < stat.getConnector().size(); i++) {
+               cntr = (Connector) stat.getConnector().get(i);
+               if (cntr.getName().startsWith(connectorPrefix)) {
+                   return cntr;
+               }
+           }           
+    	}
+        // default : get first connector
+        cntr = (Connector) stat.getConnector().get(0);
+    	return cntr;
+    }
 
 }

Modified: jakarta/jmeter/trunk/src/monitor/components/org/apache/jmeter/visualizers/MonitorAccumModel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/monitor/components/org/apache/jmeter/visualizers/MonitorAccumModel.java?rev=747112&r1=747111&r2=747112&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/monitor/components/org/apache/jmeter/visualizers/MonitorAccumModel.java (original)
+++ jakarta/jmeter/trunk/src/monitor/components/org/apache/jmeter/visualizers/MonitorAccumModel.java Mon Feb 23 19:47:38 2009
@@ -49,6 +49,9 @@
      */
     private int DEFAULT_BUFFER = 800;
 
+    // optional connector name prefix
+    private String connectorPrefix = null;
+
     /**
      *
      */
@@ -65,6 +68,10 @@
         DEFAULT_BUFFER = buffer;
     }
 
+    public void setPrefix(String prefix) {
+        connectorPrefix = prefix;
+    }
+
     /**
      * Added this method we that we can save the calculated stats.
      *
@@ -153,7 +160,8 @@
             if (sample.isResponseCodeOK() && ((HTTPSampleResult) sample).isMonitor()) {
                 ObjectFactory of = ObjectFactory.getInstance();
                 Status st = of.parseBytes(sample.getResponseData());
-                if (st != null && surl != null) {// surl can be null if read from a file
+                st.setConnectorPrefix(connectorPrefix);
+                if (surl != null) {// surl can be null if read from a file
                     MonitorStats stat = new MonitorStats(Stats.calculateStatus(st), Stats.calculateLoad(st), 0, Stats
                             .calculateMemoryLoad(st), Stats.calculateThreadLoad(st), surl.getHost(), String.valueOf(surl
                             .getPort()), surl.getProtocol(), System.currentTimeMillis());

Modified: jakarta/jmeter/trunk/src/monitor/components/org/apache/jmeter/visualizers/MonitorHealthVisualizer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/monitor/components/org/apache/jmeter/visualizers/MonitorHealthVisualizer.java?rev=747112&r1=747111&r2=747112&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/monitor/components/org/apache/jmeter/visualizers/MonitorHealthVisualizer.java (original)
+++ jakarta/jmeter/trunk/src/monitor/components/org/apache/jmeter/visualizers/MonitorHealthVisualizer.java Mon Feb 23 19:47:38 2009
@@ -27,9 +27,11 @@
 
 import org.apache.jmeter.samplers.Clearable;
 import org.apache.jmeter.samplers.SampleResult;
+import org.apache.jmeter.testelement.TestElement;
 import org.apache.jmeter.util.JMeterUtils;
 import org.apache.jmeter.visualizers.gui.AbstractVisualizer;
 
+import org.apache.jorphan.gui.JLabeledTextField;
 import org.apache.jorphan.logging.LoggingManager;
 import org.apache.log.Logger;
 
@@ -42,6 +44,10 @@
  */
 public class MonitorHealthVisualizer extends AbstractVisualizer implements ImageVisualizer, ItemListener,
         GraphListener, Clearable {
+
+    private static final String CONNECTOR_PREFIX = "connector.prefix"; // $NON-NLS-1$
+    private static final String CONNECTOR_PREFIX_DEFAULT = ""; // $NON-NLS-1$
+
     private MonitorTabPane TABPANE;
 
     private MonitorHealthPanel HEALTHPANE;
@@ -52,6 +58,8 @@
 
     private MonitorGraph GRAPH;
 
+    private JLabeledTextField prefixField;
+
     public static final String BUFFER = "monitor.buffer.size"; // $NON-NLS-1$
 
     private static final Logger log = LoggingManager.getLoggerForClass();
@@ -65,6 +73,18 @@
         init();
     }
 
+    public void configure(TestElement el) {
+        super.configure(el);
+        prefixField.setText(el.getPropertyAsString(CONNECTOR_PREFIX, CONNECTOR_PREFIX_DEFAULT));
+        MODEL.setPrefix(prefixField.getText());
+    }
+
+    public void modifyTestElement(TestElement c) {
+        super.modifyTestElement(c);
+        c.setProperty(CONNECTOR_PREFIX,prefixField.getText(),CONNECTOR_PREFIX_DEFAULT);
+        MODEL.setPrefix(prefixField.getText());
+    }
+    
     private void initModel() {
         MODEL = new MonitorAccumModel();
         GRAPH = new MonitorGraph(MODEL);
@@ -121,6 +141,8 @@
         // Add the main panel and the graph
         this.add(this.makeTitlePanel(), BorderLayout.NORTH);
         this.createTabs();
+        prefixField = new JLabeledTextField(JMeterUtils.getResString("monitor_label_prefix")); // $NON-NLS-1$
+        add(prefixField, BorderLayout.SOUTH);
     }
 
     private void createTabs() {

Modified: jakarta/jmeter/trunk/src/monitor/model/org/apache/jmeter/monitor/model/Status.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/monitor/model/org/apache/jmeter/monitor/model/Status.java?rev=747112&r1=747111&r2=747112&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/monitor/model/org/apache/jmeter/monitor/model/Status.java (original)
+++ jakarta/jmeter/trunk/src/monitor/model/org/apache/jmeter/monitor/model/Status.java Mon Feb 23 19:47:38 2009
@@ -24,4 +24,8 @@
     java.util.List getConnector();
     
     void addConnector(Connector conn);
+
+    void setConnectorPrefix(String prefix);
+
+    String getConnectorPrefix();
 }

Modified: jakarta/jmeter/trunk/src/monitor/model/org/apache/jmeter/monitor/model/StatusImpl.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/monitor/model/org/apache/jmeter/monitor/model/StatusImpl.java?rev=747112&r1=747111&r2=747112&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/monitor/model/org/apache/jmeter/monitor/model/StatusImpl.java (original)
+++ jakarta/jmeter/trunk/src/monitor/model/org/apache/jmeter/monitor/model/StatusImpl.java Mon Feb 23 19:47:38 2009
@@ -25,6 +25,8 @@
  */
 public class StatusImpl implements Status {
     private Jvm jvm = null;
+    
+    private String connectorPrefix = null;
 
     private final List connectors;
 
@@ -67,4 +69,11 @@
         this.connectors.add(conn);
     }
 
+    public void setConnectorPrefix(String prefix) {
+        connectorPrefix = prefix;
+    }
+
+    public String getConnectorPrefix(){
+        return connectorPrefix;
+    }
 }

Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=747112&r1=747111&r2=747112&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Mon Feb 23 19:47:38 2009
@@ -217,11 +217,12 @@
 <li>Use Script to evaluate __jexl() function so can have multiple statements.</li>
 <li>JDBC Request can optionally save the results of Select statements to variables.</li>
 <li>JDBC Request now handles quoted strings.</li>
-<li>JDBC Request now handles arbitray variable types.</li>
+<li>JDBC Request now handles arbitrary variable types.</li>
 <li>Bug 46030 - Extend TCP Sampler to Support Length-Prefixed Binary Data</li>
 <li>Process JVM_ARGS last so users can override default settings</li>
 <li>Read XML JTL files more efficiently - pass samples to visualisers as they are read, rather than saving them all and then processing them</li>
 <li>Added locales.add property to allow for new Locales</li>
+<li>Bug 40045 - Allow Results monitor to select a specific connector</li>
 </ul>
 
 <h3>Non-functional changes</h3>



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org