/** * In the event the sampler does want to pass back the actual contents, we * still want to calculate the throughput. The bytes are the bytes of the * response data. * * @param length * the number of bytes of the response data for this sample * @deprecated use setBytes(long) */ @Deprecated public void setBytes(int length) { setBytes((long) length); }
/** * Strip response but fill in bytes field. * @param result {@link SampleResult} */ private void stripResponse(SampleResult result) { result.setBytes(result.getBytesAsLong()); result.setResponseData(EMPTY_BA); }
private ByteArrayOutputStream readResponse(SampleResult res) throws IOException { ByteArrayOutputStream response = new ByteArrayOutputStream(); int cnt = 0; ByteBuffer recvBuf = getRecvBuf(); recvBuf.clear(); if ((cnt = channel.read(recvBuf)) != -1) { res.latencyEnd(); //log.debug("Read " + recvBuf.toString()); recvBuf.flip(); byte[] bytes = new byte[cnt]; recvBuf.get(bytes); response.write(bytes); recvBuf.clear(); } res.sampleEnd(); res.setBytes(response.size()); return response; }
private ByteArrayOutputStream readResponse(SampleResult res) throws IOException { ByteArrayOutputStream response = new ByteArrayOutputStream(); int cnt; ByteBuffer recvBuf = getRecvBuf(); recvBuf.clear(); if ((cnt = channel.read(recvBuf)) != -1) { res.latencyEnd(); //log.debug("Read " + recvBuf.toString()); recvBuf.flip(); byte[] bytes = new byte[cnt]; recvBuf.get(bytes); response.write(bytes); recvBuf.clear(); } res.latencyEnd(); res.sampleEnd(); res.setBytes(response.size()); return response; }
res.setBytes(responseSize); return response.toByteArray();
res.setBytes(responseSize); return response.toByteArray();
} else { byte[] md5Result = md.digest(); sampleResult.setBytes(totalBytes); return JOrphanUtils.baToHexBytes(md5Result);
result.setSampleCount(messageCount); result.setBytes(bytesReceived); if (messageCount > 0) { if (sampler.isUseSenderTime() && sampleStart != 0 && errorCount == 0) {
result.setResponseCode(respond.getResponseCode()); result.setContentType(respond.getContentType()); result.setBytes(result.getBytesAsLong() + (long) result.getRequestHeaders().length()); int headerBytes = result.getResponseHeaders().length() // condensed
/** * Add a subresult and adjust the parent byte count and end-time. * * @param subResult * the {@link SampleResult} to be added * @param renameSubResults boolean do we rename subResults based on position */ public void addSubResult(SampleResult subResult, boolean renameSubResults) { if(subResult == null) { // see https://bz.apache.org/bugzilla/show_bug.cgi?id=54778 return; } String tn = getThreadName(); if (tn.length()==0) { tn=Thread.currentThread().getName();//TODO do this more efficiently this.setThreadName(tn); } subResult.setThreadName(tn); // TODO is this really necessary? // Extend the time to the end of the added sample setEndTime(Math.max(getEndTime(), subResult.getEndTime() + nanoTimeOffset - subResult.nanoTimeOffset)); // Bug 51855 // Include the byte count for the added sample setBytes(getBytesAsLong() + subResult.getBytesAsLong()); setSentBytes(getSentBytes() + subResult.getSentBytes()); setHeadersSize(getHeadersSize() + subResult.getHeadersSize()); setBodySize(getBodySizeAsLong() + subResult.getBodySizeAsLong()); addRawSubResult(subResult, renameSubResults); }
field = CSV_BYTES; text = parts[i++]; result.setBytes(Long.parseLong(text));
result.setBytes((long)buffer.toString().length());
sendMailCmd = createSendMailCommandFromProperties(); message = sendMailCmd.prepareMessage(); result.setBytes(calculateMessageSize(message)); } catch (Exception ex) { log.warn("Error while preparing message", ex);
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; }
result.setBytes(numResults); result.setSuccessful(true); result.setSampleLabel(queryGenerator.getQueryId());
saveResponse(res, binaryTransfer, baos); } else { res.setBytes(bytes);
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; }
sr.setBytes(response.size); message = response.responseRecived; sr.setSuccessful(true);
@Override public void sampleOccurred(SampleEvent se) { if (!isGenerateParentSample()) { // Check if we are still sampling our children if(res != null && !se.isTransactionSampleEvent()) { SampleResult sampleResult = se.getResult(); res.setThreadName(sampleResult.getThreadName()); res.setBytes(res.getBytesAsLong() + sampleResult.getBytesAsLong()); res.setSentBytes(res.getSentBytes() + sampleResult.getSentBytes()); if (!isIncludeTimers()) {// Accumulate waiting time for later pauseTime += sampleResult.getEndTime() - sampleResult.getTime() - prevEndTime; prevEndTime = sampleResult.getEndTime(); } if(!sampleResult.isSuccessful()) { res.setSuccessful(false); noFailingSamples++; } res.setAllThreads(sampleResult.getAllThreads()); res.setGroupThreads(sampleResult.getGroupThreads()); res.setLatency(res.getLatency() + sampleResult.getLatency()); res.setConnectTime(res.getConnectTime() + sampleResult.getConnectTime()); } } }
/** * @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))); }