private void handleBrowse(SampleResult res) throws JMSException { LOGGER.debug("isBrowseOnly"); StringBuilder sb = new StringBuilder(75); res.setSuccessful(true); sb.append("Browse message on Send Queue ").append(sendQueue.getQueueName()) .append(": ") .append(browseQueueDetails(sendQueue, res)); res.setResponseData(sb.toString().getBytes()); res.setResponseCodeOK(); }
private void handleClearQueue(SampleResult res) throws JMSException { LOGGER.debug("isClearQueue"); StringBuilder sb = new StringBuilder(75); res.setSuccessful(true); sb.append("Clear messages on Send Queue ").append(sendQueue.getQueueName()) .append(": ") .append(clearQueue(sendQueue, res)); res.setResponseData(sb.toString().getBytes()); res.setResponseCodeOK(); }
/** * Mark the sample result as @{code end}ed and not {@code successful}, and set the * {@code responseCode} to {@code reason}. * * @param result the sample result to change * @param reason the failure reason */ private void sampleResultFailed(SampleResult result, String reason) { result.sampleEnd(); result.setSuccessful(false); result.setResponseCode(reason); }
/** * Set result statuses OK - shorthand method to set: * <ul> * <li>ResponseCode</li> * <li>ResponseMessage</li> * <li>Successful status</li> * </ul> */ public void setResponseOK(){ setResponseCodeOK(); setResponseMessageOK(); setSuccessful(true); }
/** * Jmeter调用,用于实际的测试 */ @Override public SampleResult runTest(JavaSamplerContext context) { SampleResult sample = getSample(); sample.sampleStart(); try { MessageLite response = doTest(); String msg = response == null ? "" : response.toString(); sample.setResponseMessage(msg); sample.setSuccessful(true); } catch (Exception e) { sample.setSuccessful(false); e.printStackTrace(); } finally { sample.sampleEnd(); } return sample; }
private static SampleResult generateErrorResult(SampleResult result, HttpRequestHdr request, Exception e, String msg) { if (result == null) { result = new SampleResult(); ByteArrayOutputStream text = new ByteArrayOutputStream(200); e.printStackTrace(new PrintStream(text)); // NOSONAR we store the Stacktrace in the result result.setResponseData(text.toByteArray()); result.setSamplerData(request.getFirstLine()); result.setSampleLabel(request.getUrl()); } result.setSuccessful(false); result.setResponseMessage(e.getMessage()+msg); return result; }
public void subSampleEnd(boolean success) { if (subSample == null) { log.warn("There is no sub-sample started, use subSampleStart() to have one"); return; } subSample.sampleEnd(); subSample.setSuccessful(success); super.addSubResult(subSample); subSample = null; }
/** * Return SampleResult with data on error. * * @see JavaSamplerClient#runTest(JavaSamplerContext) */ @Override public SampleResult runTest(JavaSamplerContext p_context) { log.debug(whoAmI() + "\trunTest"); Thread.yield(); SampleResult results = new SampleResult(); results.setSuccessful(false); results.setResponseData("Class not found: " + getClassname(), null); results.setSampleLabel("ERROR: " + getClassname()); return results; } }
private void addAssertionFailure(final SampleResult previousResult, final Throwable thrown, final boolean setFailed) { AssertionResult ass = new AssertionResult(getName()); // $NON-NLS-1$ ass.setFailure(true); ass.setFailureMessage(thrown.getLocalizedMessage()+"\nSee log file for further details."); previousResult.addAssertionResult(ass); if (setFailed){ previousResult.setSuccessful(false); } }
private void addAssertionFailure(final SampleResult previousResult, final Throwable thrown, final boolean setFailed) { AssertionResult ass = new AssertionResult(getName()); // $NON-NLS-1$ ass.setFailure(true); ass.setFailureMessage(thrown.getLocalizedMessage()+"\nSee log file for further details."); previousResult.addAssertionResult(ass); if (setFailed){ previousResult.setSuccessful(false); } }
public TransactionSampler(TransactionController controller, String name) { transactionController = controller; setName(name); // ensure name is available for debugging transactionSampleResult = new SampleResult(); transactionSampleResult.setSampleLabel(name); // Assume success transactionSampleResult.setSuccessful(true); transactionSampleResult.sampleStart(); }
@Override public SampleResult sample(Entry e) { SampleResult result = new SampleResult(); result.setSampleLabel(getName()); result.setSamplerData(this.getJsonInput()); result.setDataType(SampleResult.TEXT); result.sampleStart(); if (!getJsonInput().equalsIgnoreCase("")) { try { this.convertToXML(); result.setResponseData(this.getXmlOutput().getBytes()); result.setSuccessful(true); } catch (Exception e1) { result.setResponseData(e1.getMessage().getBytes()); result.setSuccessful(false); } } result.sampleEnd(); return result; } }
@Override public SampleResult sample(Entry e) { SampleResult result = new SampleResult(); result.setSampleLabel(getName()); result.setSamplerData(this.getJsonInput()); result.setDataType(SampleResult.TEXT); result.sampleStart(); if (!getJsonInput().equalsIgnoreCase("")) { try { this.convertToXML(); result.setResponseData(this.getXmlOutput().getBytes()); result.setSuccessful(true); } catch (Exception e1) { result.setResponseData(e1.getMessage().getBytes()); result.setSuccessful(false); } } result.sampleEnd(); return result; } }
/** * Mark the sample result as {@code end}ed and {@code successful} with an "OK" {@code responseCode}, * and if the response is not {@code null} then set the {@code responseData} to {@code response}, * otherwise it is marked as not requiring a response. * * @param result sample result to change * @param response the successful result message, may be null. */ private void sampleResultSuccess(SampleResult result, /* @Nullable */ String response) { result.sampleEnd(); result.setSuccessful(true); result.setResponseCodeOK(); if (response != null) { result.setResponseData(response, ENCODING); } else { result.setResponseData("No response required", ENCODING); } }
public void addSubSamplerResult(SampleResult res) { // Another subsample for the transaction calls++; // Set Response code of transaction if (noFailingSamples == 0) { transactionSampleResult.setResponseCode(res.getResponseCode()); } // The transaction fails if any sub sample fails if (!res.isSuccessful()) { transactionSampleResult.setSuccessful(false); noFailingSamples++; } // Add the sub result to the transaction result transactionSampleResult.addSubResult(res, false); // Add current time to total for later use (exclude pause time) totalTime += res.getTime(); }
@Override public SampleResult sample(Entry entry) { SampleResult res = new SampleResult(); res.setSampleLabel(getName()); res.setSamplerData(getRequestData()); res.sampleStart(); res.setDataType(SampleResult.TEXT); res.setSuccessful(true); res.setResponseCode(RC200); try { res.setResponseData(processIO(res)); } catch (Exception ex) { if (!(ex instanceof SocketTimeoutException)) { log.error(getHostName(), ex); } res.sampleEnd(); res.setSuccessful(false); res.setResponseCode(RC500); res.setResponseMessage(ex.toString()); res.setResponseData((ex.toString() + CRLF + ExceptionUtils.getStackTrace(ex)).getBytes()); } return res; }
@Override public void notifyListeners(SampleEvent res, List<SampleListener> listeners) { log.debug("Adding subresult " + res.getResult()); SampleResult result = res.getResult(); String label = result.getSampleLabel(); synchronized (this) { container.addSubResult(result); if (!res.getResult().isSuccessful()) { container.setSuccessful(false); } } // because https://bz.apache.org/bugzilla/show_bug.cgi?id=62550 in JMeter 5.0 result.setSampleLabel(label); super.notifyListeners(res, listeners); log.debug("Added subresult " + res.getResult()); }
@Override public SampleResult sample(Entry entry) { SampleResult res = new SampleResult(); res.setSampleLabel(getName()); res.setSamplerData(getRequestData()); res.sampleStart(); res.setDataType(SampleResult.TEXT); res.setSuccessful(true); res.setResponseCode(RC200); try { res.setResponseData(processIO(res)); } catch (Exception ex) { if (!(ex instanceof SocketTimeoutException)) { log.error(getHostName(), ex); } res.sampleEnd(); res.setSuccessful(false); res.setResponseCode(RC500); res.setResponseMessage(ex.toString()); res.setResponseData((ex.toString() + CRLF + ExceptionUtils.getStackTrace(ex)).getBytes()); } return res; }
@Override public SampleResult sample(Entry entry) { SampleResult res = new SampleResult(); res.setSampleLabel(getName()); res.setSamplerData(getRequestData()); res.sampleStart(); res.setDataType(SampleResult.TEXT); res.setSuccessful(true); res.setResponseCode(HTTPRawSampler.RC200); try { res.setResponseData(processIO(res)); } catch (Exception ex) { if (!(ex instanceof SocketTimeoutException)) { log.error(getHostName(), ex); } res.sampleEnd(); res.setSuccessful(false); res.setResponseCode(HTTPRawSampler.RC500); res.setResponseMessage(ex.toString()); res.setResponseData((ex.toString() + HTTPRawSampler.CRLF + JMeterPluginsUtils.getStackTrace(ex)).getBytes()); } return res; }
public void subSampleStart(String label) { if (subSample != null) { log.warn("There is already a sub-sample started, continuing using it"); return; } if (getStartTime() == 0) { sampleStart(); } subSample = new SampleResult(); subSample.setSampleLabel(label); subSample.setDataType(SampleResult.TEXT); subSample.setSuccessful(true); subSample.sampleStart(); }