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 2007/10/09 17:40:20 UTC

svn commit: r583199 - in /jakarta/jmeter/trunk: bin/ docs/ docs/images/screenshots/ docs/usermanual/ src/components/org/apache/jmeter/extractor/ src/components/org/apache/jmeter/sampler/ xdocs/ xdocs/images/screenshots/ xdocs/usermanual/

Author: sebb
Date: Tue Oct  9 08:40:19 2007
New Revision: 583199

URL: http://svn.apache.org/viewvc?rev=583199&view=rev
Log:
Add Debug Sampler and PostProcessor

Added:
    jakarta/jmeter/trunk/docs/images/screenshots/debug_postprocessor.png   (with props)
    jakarta/jmeter/trunk/docs/images/screenshots/debug_sampler.png   (with props)
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessor.java   (with props)
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessorBeanInfo.java   (with props)
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessorResources.properties   (with props)
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSampler.java   (with props)
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSamplerBeanInfo.java   (with props)
    jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSamplerResources.properties   (with props)
    jakarta/jmeter/trunk/xdocs/images/screenshots/debug_postprocessor.png   (with props)
    jakarta/jmeter/trunk/xdocs/images/screenshots/debug_sampler.png   (with props)
Modified:
    jakarta/jmeter/trunk/bin/saveservice.properties
    jakarta/jmeter/trunk/docs/changes.html
    jakarta/jmeter/trunk/docs/usermanual/component_reference.html
    jakarta/jmeter/trunk/xdocs/changes.xml
    jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml

Modified: jakarta/jmeter/trunk/bin/saveservice.properties
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/bin/saveservice.properties?rev=583199&r1=583198&r2=583199&view=diff
==============================================================================
--- jakarta/jmeter/trunk/bin/saveservice.properties (original)
+++ jakarta/jmeter/trunk/bin/saveservice.properties Tue Oct  9 08:40:19 2007
@@ -84,6 +84,8 @@
 CounterConfig=org.apache.jmeter.modifiers.CounterConfig
 CounterConfigGui=org.apache.jmeter.modifiers.gui.CounterConfigGui
 CSVDataSet=org.apache.jmeter.config.CSVDataSet
+DebugPostProcessor=org.apache.jmeter.extractor.DebugPostProcessor
+DebugSampler=org.apache.jmeter.sampler.DebugSampler
 DistributionGraphVisualizer=org.apache.jmeter.visualizers.DistributionGraphVisualizer
 DurationAssertion=org.apache.jmeter.assertions.DurationAssertion
 DurationAssertionGui=org.apache.jmeter.assertions.gui.DurationAssertionGui

Modified: jakarta/jmeter/trunk/docs/changes.html
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/docs/changes.html?rev=583199&r1=583198&r2=583199&view=diff
==============================================================================
--- jakarta/jmeter/trunk/docs/changes.html (original)
+++ jakarta/jmeter/trunk/docs/changes.html Tue Oct  9 08:40:19 2007
@@ -149,6 +149,11 @@
 						</li>
 									
 
+												<li	>
+								If a POST body is built from parameter values only, these are now encoded if the checkbox is set.
+						</li>
+									
+
 						</ul>
 							  									 				<h4	>
 								Improvements
@@ -211,6 +216,21 @@
 						</li>
 									
 
+												<li	>
+								JDBC Sampler now allows per-thread connections
+						</li>
+									
+
+												<li	>
+								Cookie Manager not longer clears cookies defined in the GUI
+						</li>
+									
+
+												<li	>
+								HTTP Parameters without names are ignored (except for POST requests with no file)
+						</li>
+									
+
 						</ul>
 							  									 				<h4	>
 								Non-functional Improvements
@@ -220,6 +240,16 @@
 
 												<li	>
 								Functor code tightened up; Functor can now be used with interfaces, as well as pre-defined targets and parameters.
+						</li>
+									
+
+												<li	>
+								Save graphics function now prompts before overwriting an existing file
+						</li>
+									
+
+												<li	>
+								Debug Sampler and Debug PostProcessor added.
 						</li>
 									
 

Added: jakarta/jmeter/trunk/docs/images/screenshots/debug_postprocessor.png
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/docs/images/screenshots/debug_postprocessor.png?rev=583199&view=auto
==============================================================================
Binary file - no diff available.

Propchange: jakarta/jmeter/trunk/docs/images/screenshots/debug_postprocessor.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: jakarta/jmeter/trunk/docs/images/screenshots/debug_sampler.png
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/docs/images/screenshots/debug_sampler.png?rev=583199&view=auto
==============================================================================
Binary file - no diff available.

Propchange: jakarta/jmeter/trunk/docs/images/screenshots/debug_sampler.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: jakarta/jmeter/trunk/docs/usermanual/component_reference.html
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/docs/usermanual/component_reference.html?rev=583199&r1=583198&r2=583199&view=diff
==============================================================================
--- jakarta/jmeter/trunk/docs/usermanual/component_reference.html (original)
+++ jakarta/jmeter/trunk/docs/usermanual/component_reference.html Tue Oct  9 08:40:19 2007
@@ -252,6 +252,8 @@
 					<li><a href="#SSL_Manager">SSL Manager</a></li>
 					<li><a href="#HTTP_Mirror_Server">HTTP Mirror Server</a></li>
 					<li><a href="#Property_Display">Property Display</a></li>
+					<li><a href="#Debug_Sampler">Debug Sampler</a></li>
+					<li><a href="#Debug_PostProcessor">Debug PostProcessor</a></li>
 				</ul>
 			<li><a href="#Reports">18.10 Reports</a></li>
 		<ul>
@@ -735,6 +737,11 @@
         sending a file using a multipart form, the query string will be created using the
         multipart form specifications.
         
+												<b	>
+								See below for some further information on parameter handling.
+						</b>
+									
+        
 												<p	>
 								
         Additionally, you can specify whether each paramter should be URL encoded.  If you are not sure what this
@@ -831,6 +838,24 @@
 
 						</p>
 							  									 				<p	>
+								
+Parameter Handling:
+												<br	>
+						</br>
+									
+For the POST method, if there is no file to send, and the name(s) of the parameter(s) are omitted,
+then the body is created by concatenating all the value(s) of the parameters. 
+The values are encoded if the encoding flag is set (versions of JMeter after 2.3).
+
+												<br	>
+						</br>
+									
+For other methods, if the name of the parameter is missing,
+then the parameter is ignored. This allows the use of optional parameters defined by variables.
+(versions of JMeter after 2.3)
+
+						</p>
+							  									 				<p	>
 								Upto and including JMeter 2.1.1, only responses with the content-type "text/html" were scanned for
 embedded resources. Other content-types were assumed to be something other than HTML.
 JMeter 2.1.2 introduces the a new property 
@@ -6888,8 +6913,8 @@
 		</tr>
 			<tr>
 			<td>Clear Cookies each Iteration</td>
-			<td>						If selected, all cookies are cleared each time the main Thread Group loop is executed.
-  This includes all the Cookies stored in the manager, so they will never be sent.
+			<td>						If selected, all server-defined cookies are cleared each time the main Thread Group loop is executed.
+  In JMeter versions after 2.3, any cookies defined in the GUI are not cleared.
 			</td>
 			<td>
 											Yes
@@ -7682,7 +7707,14 @@
 			<td>Variable Name</td>
 			<td>						The name of the variable the connection pool is tied to.  
 		Multiple connection pools can be used, each tied to a different variable, allowing JDBC Samplers
-		to select the pool to draw connections from.
+		to select the pool to draw connections from.
+		
+												<b	>
+								Each pool name must be different. If there are two configuration elements using the same pool name,
+		only one will be saved. JMeter versions after 2.3 log a message if a duplicate name is detected.
+						</b>
+									
+		
 			</td>
 			<td>
 											Yes
@@ -7690,7 +7722,14 @@
 		</tr>
 			<tr>
 			<td>Max Number of Connections</td>
-			<td>						Maximum number of connections allowed in the pool
+			<td>						Maximum number of connections allowed in the pool.
+		To ensure that threads don't have to wait for connections, set the max count to the same as	the number of threads.
+		In versions of JMeter after 2.3, the value "0" is treated specially.
+		Instead of sharing the pool between all threads in the test plan, a pool containing a single connection
+		is created for each thread. This ensures that the same connection can be re-used for multiple samplers
+		in the same thread.
+		Multiple such pools can be used - e.g. for connecting to different databases - just give them different names.
+		
 			</td>
 			<td>
 											Yes
@@ -9936,6 +9975,7 @@
 												<p	>
 								User Variables can also be specified in the Test Plan but not specific to individual threads. This panel allows
 you to specify a series of values for any User Variable. For each thread, the variable will be assigned one of the values from the series
+
 in sequence. If there are more threads than values, the values get re-used. For example, this can be used to assign a distinct
 user id to be used by each thread. User variables can be referenced in any field of any jMeter Component.
 						</p>
@@ -10125,11 +10165,6 @@
 									
 
 												<p	>
-								For versions after 2.2 the BeanShell Post-Processor no longer ignores samples with zero-length result data
-						</p>
-									
-
-												<p	>
 								
 		
 												<b	>
@@ -10865,6 +10900,11 @@
 									
 
 												<p	>
+								For JMeter versions after 2.2 the BeanShell Post-Processor no longer ignores samples with zero-length result data
+						</p>
+									
+
+												<p	>
 								
 		
 												<b	>
@@ -11289,13 +11329,125 @@
 								
 The Property Display shows the values of System or JMeter properties.
 Values can be changed by entering new text in the Value column.
+It is available only on the WorkBench.
 
 						</p>
 									
 
 														<p><b>Control Panel</b></p>
 						<div align="center"><img width='776' height='502' src="../images/screenshots/property_display.png"></div>
-											  		</td></tr>
+											  									 			 <p>
+	<b>Parameters</b>
+	<table border="1" cellspacing="0" cellpadding="2">
+	<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
+			<tr>
+			<td>Name</td>
+			<td>						Descriptive name for this element that is shown in the tree.
+			</td>
+			<td>
+											No
+								</td>
+		</tr>
+		</table>
+	</p>
+							  		</td></tr>
+		<tr><td><br></td></tr>
+	 </table>
+	<hr>
+							  									 						<table border="0" cellspacing="0" cellpadding="2">
+		<tr><td>
+		  <font face="arial,helvetica,sanserif">
+			 <a name="Debug_Sampler"><h3>18.9.7 Debug Sampler</h3></a>
+		  </font>
+		</td></tr>
+				<tr><td>
+		  															
+
+												<p	>
+								
+The Debug Sampler generates a sample containing the values of all JMeter variables and/or properties.
+
+						</p>
+									
+
+														<p><b>Control Panel</b></p>
+						<div align="center"><img width='355' height='172' src="../images/screenshots/debug_sampler.png"></div>
+											  									 			 <p>
+	<b>Parameters</b>
+	<table border="1" cellspacing="0" cellpadding="2">
+	<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
+			<tr>
+			<td>Name</td>
+			<td>						Descriptive name for this element that is shown in the tree.
+			</td>
+			<td>
+											No
+								</td>
+		</tr>
+			<tr>
+			<td>JMeter Properties</td>
+			<td>						Include JMeter properties ?
+			</td>
+			<td>
+											Yes
+								</td>
+		</tr>
+			<tr>
+			<td>JMeter Variables</td>
+			<td>						Include JMeter variables ?
+			</td>
+			<td>
+											Yes
+								</td>
+		</tr>
+			<tr>
+			<td>System Properties</td>
+			<td>						Include System properties ?
+			</td>
+			<td>
+											Yes
+								</td>
+		</tr>
+		</table>
+	</p>
+							  		</td></tr>
+		<tr><td><br></td></tr>
+	 </table>
+	<hr>
+							  									 						<table border="0" cellspacing="0" cellpadding="2">
+		<tr><td>
+		  <font face="arial,helvetica,sanserif">
+			 <a name="Debug_PostProcessor"><h3>18.9.8 Debug PostProcessor</h3></a>
+		  </font>
+		</td></tr>
+				<tr><td>
+		  															
+
+												<p	>
+								
+The Debug PostProcessor creates a subSample with the details of the previous sampler properties.
+This is intended for developer use only.
+
+						</p>
+									
+
+														<p><b>Control Panel</b></p>
+						<div align="center"><img width='341' height='134' src="../images/screenshots/debug_postprocessor.png"></div>
+											  									 			 <p>
+	<b>Parameters</b>
+	<table border="1" cellspacing="0" cellpadding="2">
+	<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
+			<tr>
+			<td>Name</td>
+			<td>						Descriptive name for this element that is shown in the tree.
+			</td>
+			<td>
+											No
+								</td>
+		</tr>
+		</table>
+	</p>
+							  		</td></tr>
 		<tr><td><br></td></tr>
 	 </table>
 	<hr>

Added: jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessor.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessor.java?rev=583199&view=auto
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessor.java (added)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessor.java Tue Oct  9 08:40:19 2007
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+
+package org.apache.jmeter.extractor;
+
+import org.apache.jmeter.processor.PostProcessor;
+import org.apache.jmeter.samplers.SampleResult;
+import org.apache.jmeter.testbeans.TestBean;
+import org.apache.jmeter.testelement.AbstractTestElement;
+import org.apache.jmeter.testelement.property.JMeterProperty;
+import org.apache.jmeter.testelement.property.PropertyIterator;
+import org.apache.jmeter.threads.JMeterContext;
+
+/**
+ * Debugging Post-Processor: creates a subSample containing the variables defined in the previous sampler.
+ */
+public class DebugPostProcessor extends AbstractTestElement implements PostProcessor, TestBean {
+    
+	public void process(){
+	    StringBuffer sb = new StringBuffer(100);
+		JMeterContext threadContext = getThreadContext();
+		PropertyIterator i = threadContext.getCurrentSampler().propertyIterator();
+		while(i.hasNext())
+		{
+		    JMeterProperty prop = i.next();
+		    sb.append(prop.getName());
+		    sb.append("=");
+		    sb.append(prop.getStringValue());
+		    sb.append("\n");
+		 }
+		 SampleResult sr = new SampleResult();
+		 sr.setResponseData(sb.toString().getBytes());
+		 sr.setDataType("text");
+		 sr.setSampleLabel(getName());
+		 sr.setSuccessful(true);
+		 sr.setSamplerData("SamplerPropertyValues");
+		 threadContext.getPreviousResult().addSubResult(sr);
+	}
+}

Propchange: jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessor.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessorBeanInfo.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessorBeanInfo.java?rev=583199&view=auto
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessorBeanInfo.java (added)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessorBeanInfo.java Tue Oct  9 08:40:19 2007
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *  
+ */
+
+package org.apache.jmeter.extractor;
+
+import org.apache.jmeter.testbeans.BeanInfoSupport;
+
+public class DebugPostProcessorBeanInfo extends BeanInfoSupport {
+
+	public DebugPostProcessorBeanInfo() {
+		super(DebugPostProcessor.class);
+	}
+
+}

Propchange: jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessorBeanInfo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessorBeanInfo.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessorResources.properties
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessorResources.properties?rev=583199&view=auto
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessorResources.properties (added)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessorResources.properties Tue Oct  9 08:40:19 2007
@@ -0,0 +1 @@
+displayName=Debug PostProcessor
\ No newline at end of file

Propchange: jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessorResources.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/jmeter/trunk/src/components/org/apache/jmeter/extractor/DebugPostProcessorResources.properties
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSampler.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSampler.java?rev=583199&view=auto
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSampler.java (added)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSampler.java Tue Oct  9 08:40:19 2007
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+
+package org.apache.jmeter.sampler;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+import org.apache.jmeter.samplers.AbstractSampler;
+import org.apache.jmeter.samplers.Entry;
+import org.apache.jmeter.samplers.SampleResult;
+import org.apache.jmeter.testbeans.TestBean;
+import org.apache.jmeter.threads.JMeterContextService;
+import org.apache.jmeter.threads.JMeterVariables;
+import org.apache.jmeter.util.JMeterUtils;
+
+/**
+ * This TestBean is just an example about how to write testbeans. The intent is
+ * to demonstrate usage of the TestBean features to podential TestBean
+ * developers. Note that only the class's introspector view matters: the methods
+ * do nothing -- nothing useful, in any case.
+ */
+public class DebugSampler extends AbstractSampler implements TestBean {
+    
+	private boolean displayJMeterVariables;
+	
+	private boolean displayJMeterProperties;
+	
+	private boolean displaySystemProperties;
+	
+	public SampleResult sample(Entry e) {
+        SampleResult res = new SampleResult();
+        res.setSampleLabel(getName());
+        res.sampleStart();
+        StringBuffer sb = new StringBuffer(100);
+        StringBuffer rd = new StringBuffer(20); // for request Data
+        if (isDisplayJMeterVariables()){
+        	rd.append("JMeterVariables\n");
+        	sb.append("JMeterVariables:\n");
+	        JMeterVariables vars = JMeterContextService.getContext().getVariables();
+	        Iterator i = vars.getIterator();
+	        while(i.hasNext())
+	        {
+	          Map.Entry me = (Map.Entry) i.next();
+	           if(String.class.equals(me.getValue().getClass())){
+	                 sb.append(me.toString()).append("\n");
+	           }
+	        }
+	        sb.append("\n");
+        }
+        
+        if (isDisplayJMeterProperties()){
+        	rd.append("JMeterProperties\n");
+        	sb.append("JMeterProperties:\n");
+   		    formatProperties(sb, JMeterUtils.getJMeterProperties());        	
+	        sb.append("\n");
+        }
+        
+        if (isDisplaySystemProperties()){
+        	rd.append("SystemProperties\n");
+        	sb.append("SystemProperties:\n");
+   		    formatProperties(sb, System.getProperties());        	        	
+	        sb.append("\n");
+        }
+        
+        res.setResponseData(sb.toString().getBytes());
+        res.setDataType(SampleResult.TEXT);
+        res.setSamplerData(rd.toString());
+        res.setSuccessful(true);
+        res.sampleEnd();
+        return res;
+	}
+
+	private void formatProperties(StringBuffer sb, Properties p) {
+		Set s = p.entrySet();
+		ArrayList al = new ArrayList(s);
+		Collections.sort(al, new Comparator(){
+			public int compare(Object o1, Object o2) {
+				String m1,m2;
+				m1=(String)((Map.Entry)o1).getKey();
+				m2=(String)((Map.Entry)o2).getKey();
+				return m1.compareTo(m2);
+			}
+		});
+		Iterator i = al.iterator();
+		while(i.hasNext()){
+			Map.Entry me = (Map.Entry) i.next();
+			sb.append(me.getKey());
+			sb.append("=");
+			sb.append(me.getValue());
+			sb.append("\n");
+		}
+	}
+
+	public boolean isDisplayJMeterVariables() {
+		return displayJMeterVariables;
+	}
+
+	public void setDisplayJMeterVariables(boolean displayJMeterVariables) {
+		this.displayJMeterVariables = displayJMeterVariables;
+	}
+
+	public boolean isDisplayJMeterProperties() {
+		return displayJMeterProperties;
+	}
+
+	public void setDisplayJMeterProperties(boolean displayJMeterPropterties) {
+		this.displayJMeterProperties = displayJMeterPropterties;
+	}
+
+	public boolean isDisplaySystemProperties() {
+		return displaySystemProperties;
+	}
+
+	public void setDisplaySystemProperties(boolean displaySystemProperties) {
+		this.displaySystemProperties = displaySystemProperties;
+	}
+}

Propchange: jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSampler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSampler.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSamplerBeanInfo.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSamplerBeanInfo.java?rev=583199&view=auto
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSamplerBeanInfo.java (added)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSamplerBeanInfo.java Tue Oct  9 08:40:19 2007
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+
+package org.apache.jmeter.sampler;
+
+import java.beans.PropertyDescriptor;
+
+import org.apache.jmeter.testbeans.BeanInfoSupport;
+
+public class DebugSamplerBeanInfo extends BeanInfoSupport {
+	public DebugSamplerBeanInfo() {
+		super(DebugSampler.class);
+		PropertyDescriptor p;
+		
+		p = property("displayJMeterVariables");
+		p.setValue(NOT_UNDEFINED, Boolean.TRUE);
+		p.setValue(DEFAULT, Boolean.TRUE);
+
+		p = property("displayJMeterProperties");
+		p.setValue(NOT_UNDEFINED, Boolean.TRUE);
+		p.setValue(DEFAULT, Boolean.FALSE);
+		
+		p = property("displaySystemProperties");
+		p.setValue(NOT_UNDEFINED, Boolean.TRUE);
+		p.setValue(DEFAULT, Boolean.FALSE);
+    }
+}

Propchange: jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSamplerBeanInfo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSamplerBeanInfo.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSamplerResources.properties
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSamplerResources.properties?rev=583199&view=auto
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSamplerResources.properties (added)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSamplerResources.properties Tue Oct  9 08:40:19 2007
@@ -0,0 +1,7 @@
+displayName=Debug Sampler
+displayJMeterVariables.displayName=JMeter variables
+displayJMeterProperties.displayName=JMeter properties
+displaySystemProperties.displayName=System properties
+displayJMeterVariables.shortDescription=Display JMeter variables ?
+displayJMeterProperties.shortDescription=Display JMeter properties ?
+displaySystemProperties.shortDescription=Display System properties ?
\ No newline at end of file

Propchange: jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSamplerResources.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/jmeter/trunk/src/components/org/apache/jmeter/sampler/DebugSamplerResources.properties
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=583199&r1=583198&r2=583199&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Tue Oct  9 08:40:19 2007
@@ -58,6 +58,7 @@
 <ul>
 <li>Functor code tightened up; Functor can now be used with interfaces, as well as pre-defined targets and parameters.</li>
 <li>Save graphics function now prompts before overwriting an existing file</li>
+<li>Debug Sampler and Debug PostProcessor added.</li>
 </ul>
 
 <!--  ===================  -->

Added: jakarta/jmeter/trunk/xdocs/images/screenshots/debug_postprocessor.png
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/images/screenshots/debug_postprocessor.png?rev=583199&view=auto
==============================================================================
Binary file - no diff available.

Propchange: jakarta/jmeter/trunk/xdocs/images/screenshots/debug_postprocessor.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: jakarta/jmeter/trunk/xdocs/images/screenshots/debug_sampler.png
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/images/screenshots/debug_sampler.png?rev=583199&view=auto
==============================================================================
Binary file - no diff available.

Propchange: jakarta/jmeter/trunk/xdocs/images/screenshots/debug_sampler.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=583199&r1=583198&r2=583199&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml Tue Oct  9 08:40:19 2007
@@ -3574,8 +3574,38 @@
 <p>
 The Property Display shows the values of System or JMeter properties.
 Values can be changed by entering new text in the Value column.
+It is available only on the WorkBench.
 </p>
 </description>
+<properties>
+        <property name="Name" required="No">Descriptive name for this element that is shown in the tree.</property>
+</properties>
+</component>
+
+<component name="Debug Sampler" index="&sect-num;.9.7"  width="355" height="172" screenshot="debug_sampler.png">
+<description>
+<p>
+The Debug Sampler generates a sample containing the values of all JMeter variables and/or properties.
+</p>
+</description>
+<properties>
+        <property name="Name" required="No">Descriptive name for this element that is shown in the tree.</property>
+        <property name="JMeter Properties" required="Yes">Include JMeter properties ?</property>
+        <property name="JMeter Variables" required="Yes">Include JMeter variables ?</property>
+        <property name="System Properties" required="Yes">Include System properties ?</property>
+</properties>
+</component>
+
+<component name="Debug PostProcessor" index="&sect-num;.9.8"  width="341" height="134" screenshot="debug_postprocessor.png">
+<description>
+<p>
+The Debug PostProcessor creates a subSample with the details of the previous sampler properties.
+This is intended for developer use only.
+</p>
+</description>
+<properties>
+        <property name="Name" required="No">Descriptive name for this element that is shown in the tree.</property>
+</properties>
 </component>
 
 <a href="#">^</a>



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