private boolean executeMessage(SampleResult result, SendMailCommand sendMailCmd, Message message) { boolean didSampleSucceed = false; try { sendMailCmd.execute(message); result.setResponseCodeOK(); result.setResponseMessage( "Message successfully sent!\n"); didSampleSucceed = true; } catch (AuthenticationFailedException afex) { log.warn("", afex); result.setResponseCode("500"); result.setResponseMessage( "AuthenticationFailedException: authentication failed - wrong username / password!\n" + afex); } catch (Exception ex) { log.warn("", ex); result.setResponseCode("500"); result.setResponseMessage(ex.getMessage()); } return didSampleSucceed; }
/** * 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); }
return; res.setResponseCode(rc); res.setResponseMessage(httpStatus.substring(e).trim()); } catch (NumberFormatException ex) {
log.error("Problem in JSR223 script {}, message: {}", getName(), e, e); result.setSuccessful(false); result.setResponseCode("500"); // $NON-NLS-1$ result.setResponseMessage(e.toString());
/** * Fills in result and decide wether to reconnect or not depending on * checkForReconnect and underlying {@link JMSException#getErrorCode()} * * @param result * {@link SampleResult} * @param e * {@link Exception} * @param checkForReconnect * if true and exception is a {@link JMSException} */ private void handleError(SampleResult result, Exception e, boolean checkForReconnect) { result.setSuccessful(false); result.setResponseMessage(e.toString()); if (e instanceof JMSException) { JMSException jms = (JMSException) e; String errorCode = Optional.ofNullable(jms.getErrorCode()).orElse(""); if (checkForReconnect && publisher != null && getIsReconnectErrorCode().test(errorCode)) { ClientPool.removeClient(publisher); IOUtils.closeQuietly(publisher); publisher = null; } result.setResponseCode(errorCode); } StringWriter writer = new StringWriter(); e.printStackTrace(new PrintWriter(writer)); // NOSONAR We're getting it // to put it in ResponseData result.setResponseData(writer.toString(), "UTF-8"); }
res.setResponseCode("200"); // $NON-NLS-1$ res.setSuccessful(true); res.setResponseMessageOK(); res.setResponseData(resultAsString.getBytes()); } catch (Exception ex) { res.setResponseCode("500"); // $NON-NLS-1$ res.setSuccessful(false); res.setResponseMessage(ex.toString());
public SampleResult runTest(JavaSamplerContext context) { SampleResult result = new SampleResult(); try { result.sampleStart(); // start stopwatch produce(context); result.sampleEnd(); // stop stopwatch result.setSuccessful(true); result.setResponseMessage("Sent " + total.get() + " messages total"); result.setResponseCode("OK"); } catch (Exception e) { result.sampleEnd(); // stop stopwatch result.setSuccessful(false); result.setResponseMessage("Exception: " + e); // get stack trace as a String to return as document data java.io.StringWriter stringWriter = new java.io.StringWriter(); e.printStackTrace(new java.io.PrintWriter(stringWriter)); result.setResponseData(stringWriter.toString(), null); result.setDataType(org.apache.jmeter.samplers.SampleResult.TEXT); result.setResponseCode("FAILED"); } return result; }
public SampleResult runTest(JavaSamplerContext context) { SampleResult result = new SampleResult(); try { result.sampleStart(); // start stopwatch Thread.sleep(Long.parseLong(context.getParameter("TIMEOUT"))); result.sampleEnd(); // stop stopwatch result.setSuccessful(true); result.setResponseMessage("Received " + context.getParameter("AGGREGATE") + " messages"); result.setResponseCode("OK"); } catch (Exception e) { result.sampleEnd(); // stop stopwatch result.setSuccessful(false); result.setResponseMessage("Exception: " + e); // get stack trace as a String to return as document data java.io.StringWriter stringWriter = new java.io.StringWriter(); e.printStackTrace(new java.io.PrintWriter(stringWriter)); result.setResponseData(stringWriter.toString(), null); result.setDataType(org.apache.jmeter.samplers.SampleResult.TEXT); result.setResponseCode("FAILED"); } return result; }
@Override public SampleResult perform(JMeterXMPPSampler sampler, SampleResult res) throws Exception { long counter = 0; for (Packet packet : incomingPackets) { incomingPackets.remove(packet); SampleResult subRes = new SampleResult(); subRes.setSuccessful(true); subRes.setResponseCode("200"); subRes.setResponseMessage("OK"); subRes.setSampleLabel(packet.getClass().getSimpleName().isEmpty() ? packet.getClass().getName() : packet.getClass().getSimpleName()); subRes.setResponseData(packet.toXML().toString().getBytes()); if ((packet instanceof Presence) && (((Presence) packet).getType() == Presence.Type.error)) { subRes.setSuccessful(false); subRes.setResponseCode("500"); subRes.setResponseMessage(packet.getError().toString()); } else if ((packet instanceof Message) && (((Message) packet).getType() == Message.Type.error)) { subRes.setSuccessful(false); subRes.setResponseCode("500"); subRes.setResponseMessage(packet.getError().toString()); } else if ((packet instanceof IQ) && (((IQ) packet).getType() == IQ.Type.error)) { subRes.setSuccessful(false); subRes.setResponseCode("500"); subRes.setResponseMessage(packet.getError().toString()); } res.addSubResult(subRes); counter++; } res.setResponseData(("Received packets: " + counter).getBytes()); return counter > 0 ? res : null; }
private SampleResult waitResponse(SampleResult res, String recipient) throws InterruptedException, SmackException { long time = 0; do { Iterator<Message> packets = responseMessages.iterator(); Thread.sleep(conn.getPacketReplyTimeout() / 100); // optimistic while (packets.hasNext()) { Packet packet = packets.next(); Message response = (Message) packet; if (XmppStringUtils.parseBareAddress(response.getFrom()).equals(recipient)) { packets.remove(); res.setResponseData(response.toXML().toString().getBytes()); if (response.getError() != null) { res.setSuccessful(false); res.setResponseCode("500"); res.setResponseMessage(response.getError().toString()); } return res; } } time += conn.getPacketReplyTimeout() / 10; Thread.sleep(conn.getPacketReplyTimeout() / 10); } while (time < conn.getPacketReplyTimeout()); throw new SmackException.NoResponseException(); }
res.setDataType(SampleResult.TEXT); res.setSuccessful(true); res.setResponseCode("200"); res.setResponseMessage("OK"); log.error("Error in XMPP Sampler: ", e); res.setSuccessful(false); res.setResponseCode("500"); res.setResponseMessage((e.getMessage() == null || e.getMessage().isEmpty()) ? e.toString() : e.getMessage()); res.setResponseData(ExceptionUtils.getStackTrace(e).getBytes());
@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; }
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 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; }
res.setResponseCode(getResponseCode()); res.setResponseMessage(getResponseMessage()); res.setSuccessful(isSuccessfull());
private DataRequest getPlayList(SampleResult playListResult, Parser parser) throws IOException { String lastPath = ""; playListResult.sampleStart(); DataRequest subRespond = parser.getBaseUrl(new URL(playlist), playListResult, true); playListResult.sampleEnd(); String[] urlArray = playlist.split("/"); lastPath = urlArray[urlArray.length - 1]; playListResult.setRequestHeaders(subRespond.getRequestHeaders() + "\n\n" + getCookieHeader(playlist) + "\n\n" + getRequestHeader(this.getHeaderManager())); playListResult.setSuccessful(subRespond.isSuccess()); playListResult.setResponseMessage(subRespond.getResponseMessage()); playListResult.setSampleLabel(lastPath); playListResult.setResponseHeaders(subRespond.getHeadersAsString()); playListResult.setResponseData(subRespond.getResponse().getBytes()); playListResult.setResponseCode(subRespond.getResponseCode()); playListResult.setContentType(subRespond.getContentType()); playListResult.setBytes(playListResult.getBytesAsLong() + (long) playListResult.getRequestHeaders().length()); int headerBytes = playListResult.getResponseHeaders().length() // condensed // length // (without // \r) + subRespond.getHeaders().size() // Add \r for each header + 1 // Add \r for initial header + 2; // final \r\n before data playListResult.setHeadersSize((int) headerBytes); playListResult.setSentBytes(subRespond.getSentBytes()); playListResult.setDataEncoding(subRespond.getContentEncoding()); return subRespond; }
res.setResponseCode(getResponseCode()); res.setResponseMessage(getResponseMessage()); res.setSuccessful(isSuccessfull());
private DataRequest getMasterList(SampleResult masterResult, Parser parser) throws IOException { masterResult.sampleStart(); DataRequest respond = parser.getBaseUrl(new URL(getURLData()), masterResult, true); masterResult.sampleEnd(); masterResult.setRequestHeaders(respond.getRequestHeaders() + "\n\n" + getCookieHeader(getURLData()) + "\n\n" + getRequestHeader(this.getHeaderManager())); masterResult.setSuccessful(respond.isSuccess()); masterResult.setResponseMessage(respond.getResponseMessage()); masterResult.setSampleLabel(this.getName()); masterResult.setResponseHeaders(respond.getHeadersAsString()); masterResult.setResponseData(respond.getResponse().getBytes()); masterResult.setResponseCode(respond.getResponseCode()); masterResult.setContentType(respond.getContentType()); masterResult.setBytes(masterResult.getBytesAsLong() + (long) masterResult.getRequestHeaders().length()); int headerBytes = masterResult.getResponseHeaders().length() // condensed // length // (without // \r) + respond.getHeaders().size() // Add \r for each header + 1 // Add \r for initial header + 2; // final \r\n before data masterResult.setHeadersSize((int) headerBytes); masterResult.setSentBytes(respond.getSentBytes()); masterResult.setDataEncoding(respond.getContentEncoding()); return respond; }
/** * @param reader stream to read objects from * @param context context for xstream to allow nested objects * @param res sample result on which the attributes should be set */ protected void retrieveAttributes(HierarchicalStreamReader reader, UnmarshallingContext context, SampleResult res) { res.setSampleLabel(ConversionHelp.decode(reader.getAttribute(ATT_LABEL))); res.setDataEncoding(ConversionHelp.decode(reader.getAttribute(ATT_DATA_ENCODING))); res.setDataType(ConversionHelp.decode(reader.getAttribute(ATT_DATA_TYPE))); String oldrc=reader.getAttribute(ATT_RESPONSE_CODE_OLD); if (oldrc!=null) { res.setResponseCode(ConversionHelp.decode(oldrc)); } else { res.setResponseCode(ConversionHelp.decode(reader.getAttribute(ATT_RESPONSE_CODE))); } res.setResponseMessage(ConversionHelp.decode(reader.getAttribute(ATT_RESPONSE_MESSAGE))); res.setSuccessful(Converter.getBoolean(reader.getAttribute(ATT_SUCCESS), true)); res.setThreadName(ConversionHelp.decode(reader.getAttribute(ATT_THREADNAME))); res.setStampAndTime(Converter.getLong(reader.getAttribute(ATT_TIME_STAMP)), Converter.getLong(reader.getAttribute(ATT_TIME))); res.setIdleTime(Converter.getLong(reader.getAttribute(ATT_IDLETIME))); res.setLatency(Converter.getLong(reader.getAttribute(ATT_LATENCY))); res.setConnectTime(Converter.getLong(reader.getAttribute(ATT_CONNECT_TIME))); res.setBytes(Converter.getLong(reader.getAttribute(ATT_BYTES))); res.setSentBytes(Converter.getLong(reader.getAttribute(ATT_SENT_BYTES))); res.setSampleCount(Converter.getInt(reader.getAttribute(ATT_SAMPLE_COUNT),1)); // default is 1 res.setErrorCount(Converter.getInt(reader.getAttribute(ATT_ERROR_COUNT),0)); // default is 0 res.setGroupThreads(Converter.getInt(reader.getAttribute(ATT_GRP_THRDS))); res.setAllThreads(Converter.getInt(reader.getAttribute(ATT_ALL_THRDS))); }