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