|
What this is
Other links
The source code// $Header: /home/cvs/jakarta-jmeter/src/examples/org/apache/jmeter/examples/sampler/ExampleSampler.java,v 1.1 2004/02/25 23:13:44 jsalvata Exp $ /* * Copyright 2004 The Apache Software Foundation. * * Licensed 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.examples.sampler; import org.apache.jmeter.samplers.AbstractSampler; import org.apache.jmeter.samplers.Entry; import org.apache.jmeter.samplers.SampleResult; import org.apache.jorphan.logging.LoggingManager; import org.apache.log.Logger; /** * Example Sampler (non-Bean version) * * JMeter creates an instance of a sampler class for every * occurrence of the element in every thread. * [some additional copies may be created before the test run starts] * * Thus each sampler is guaranteed to be called by a single thread - * there is no need to synchronize access to instance variables. * * However, access to class fields must be synchronized. * * @author sebb AT apache DOT org * @version $Revision: 1.1 $ $Date: 2004/02/25 23:13:44 $ */ public class ExampleSampler extends AbstractSampler { protected static Logger log = LoggingManager.getLoggerForClass(); // The name of the property used to hold our data public final static String DATA = "ExampleSampler.data"; //$NON-NLS-1$ private transient static int classCount=0; // keep track of classes created // (for instructional purposes only!) public ExampleSampler() { classCount++; trace("ExampleSampler()"); } /* (non-Javadoc) * Performs the sample, and returns the result * * @see org.apache.jmeter.samplers.Sampler#sample(org.apache.jmeter.samplers.Entry) */ public SampleResult sample(Entry e) { trace("sample()"); SampleResult res = new SampleResult(); boolean isOK = false; // Did sample succeed? String data=getData(); // Sampler data String response=null; res.setSampleLabel(getTitle()); /* * Perform the sampling */ res.sampleStart(); //Start timing try { // Do something here ... response=Thread.currentThread().getName(); /* * Set up the sample result details */ res.setSamplerData(data); res.setResponseData(response.getBytes()); res.setDataType(SampleResult.TEXT); res.setResponseCode("200"); res.setResponseMessage("OK"); isOK = true; } catch (Exception ex){ log.debug("",ex); res.setResponseCode("500"); res.setResponseMessage(ex.toString()); } res.sampleEnd(); //End timimg res.setSuccessful(isOK); return res; } /** * @return a string for the sampleResult Title */ private String getTitle() { return this.getName(); } /** * @return the data for the sample */ public String getData() { return getPropertyAsString(DATA); } /* * Helper method */ private void trace(String s) { String tl = getTitle(); String tn = Thread.currentThread().getName(); String th = this.toString(); log.debug(tn+" ("+classCount+") "+tl+" "+s+" "+th); } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.