This is an automated email from the ASF dual-hosted git repository. vladimirsitnikov pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/jmeter.git
commit 7ebbd98c6f24bcb6df7d807f030b215046d10416 Author: Vladimir Sitnikov <[email protected]> AuthorDate: Fri Jun 16 08:35:31 2023 +0300 test: add SampleEvent.toString and SampleResult.toDebugString for better debug representation --- .../org/apache/jmeter/samplers/SampleEvent.java | 23 +++++++++ .../org/apache/jmeter/samplers/SampleResult.java | 56 ++++++++++++++++++++++ .../jmeter/samplers/StatisticalSampleResult.java | 7 +++ .../protocol/http/sampler/HTTPSampleResult.java | 8 ++++ 4 files changed, 94 insertions(+) diff --git a/src/core/src/main/java/org/apache/jmeter/samplers/SampleEvent.java b/src/core/src/main/java/org/apache/jmeter/samplers/SampleEvent.java index ff7dd02691..d42ec38a12 100644 --- a/src/core/src/main/java/org/apache/jmeter/samplers/SampleEvent.java +++ b/src/core/src/main/java/org/apache/jmeter/samplers/SampleEvent.java @@ -224,4 +224,27 @@ public class SampleEvent implements Serializable { return isTransactionSampleEvent; } + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("SampleEvent{"); + sb.append("hostname='").append(hostname).append('\''); + sb.append(", threadGroup='").append(threadGroup).append('\''); + sb.append(", isTransactionSampleEvent=").append(isTransactionSampleEvent); + if (values != null && values.length > 0) { + sb.append("values=["); + for (int i = 0; i < variableNames.length; i++) { + if (i > 0) { + sb.append(", "); + } + sb.append('\'').append(variableNames[i]).append("', '").append(values[i]).append('\''); + } + sb.append(']'); + } + if (result != null) { + sb.append(", result=").append(result.toDebugString()); + } + sb.append('}'); + return sb.toString(); + } } diff --git a/src/core/src/main/java/org/apache/jmeter/samplers/SampleResult.java b/src/core/src/main/java/org/apache/jmeter/samplers/SampleResult.java index a8eb891583..2518f26c31 100644 --- a/src/core/src/main/java/org/apache/jmeter/samplers/SampleResult.java +++ b/src/core/src/main/java/org/apache/jmeter/samplers/SampleResult.java @@ -936,6 +936,62 @@ public class SampleResult implements Serializable, Cloneable, Searchable { return getSampleLabel(); } + public String toDebugString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()).append('{'); + appendDebugParameters(sb); + sb.append('}'); + return sb.toString(); + } + + protected void appendDebugParameters(StringBuilder sb) { + sb.append("label='").append(label).append('\''); + sb.append(", success=").append(success); + sb.append(", saveConfig=").append(saveConfig); + if (parent != null) { + sb.append(", parent=").append(parent.toDebugString()); + } + sb.append(", responseCode='").append(responseCode).append('\''); + sb.append(", resultFileName='").append(resultFileName).append('\''); + sb.append(", samplerData='").append(samplerData).append('\''); + sb.append(", threadName='").append(threadName).append('\''); + sb.append(", responseMessage='").append(responseMessage).append('\''); + sb.append(", responseHeaders='").append(responseHeaders).append('\''); + sb.append(", requestHeaders='").append(requestHeaders).append('\''); + sb.append(", timeStamp=").append(timeStamp); + sb.append(", startTime=").append(startTime); + sb.append(", endTime=").append(endTime); + sb.append(", idleTime=").append(idleTime); + sb.append(", pauseTime=").append(pauseTime); + sb.append(", assertionResults=").append(assertionResults); + sb.append(", subResults=").append(subResults); + sb.append(", dataType='").append(dataType).append('\''); + sb.append(", files=").append(files); + sb.append(", dataEncoding='").append(dataEncoding).append('\''); + sb.append(", contentType='").append(contentType).append('\''); + sb.append(", elapsedTime=").append(elapsedTime); + sb.append(", latency=").append(latency); + sb.append(", connectTime=").append(connectTime); + sb.append(", testLogicalAction=").append(testLogicalAction); + sb.append(", stopThread=").append(stopThread); + sb.append(", stopTest=").append(stopTest); + sb.append(", stopTestNow=").append(stopTestNow); + sb.append(", sampleCount=").append(sampleCount); + sb.append(", bytes=").append(bytes); + sb.append(", headersSize=").append(headersSize); + sb.append(", bodySize=").append(bodySize); + sb.append(", groupThreads=").append(groupThreads); + sb.append(", allThreads=").append(allThreads); + sb.append(", nanoTimeOffset=").append(nanoTimeOffset); + sb.append(", useNanoTime=").append(useNanoTime); + sb.append(", nanoThreadSleep=").append(nanoThreadSleep); + sb.append(", sentBytes=").append(sentBytes); + sb.append(", location=").append(location); + sb.append(", ignore=").append(ignore); + sb.append(", subResultIndex=").append(subResultIndex); + sb.append(", responseDataAsString='").append(getResponseDataAsString()).append('\''); + } + /** * Returns the dataEncoding or the default if no dataEncoding was provided. * diff --git a/src/core/src/main/java/org/apache/jmeter/samplers/StatisticalSampleResult.java b/src/core/src/main/java/org/apache/jmeter/samplers/StatisticalSampleResult.java index 2177d5cf7c..77b1bf65c6 100644 --- a/src/core/src/main/java/org/apache/jmeter/samplers/StatisticalSampleResult.java +++ b/src/core/src/main/java/org/apache/jmeter/samplers/StatisticalSampleResult.java @@ -134,4 +134,11 @@ public class StatisticalSampleResult extends SampleResult implements } return sb.toString(); } + + @Override + protected void appendDebugParameters(StringBuilder sb) { + super.appendDebugParameters(sb); + sb.append(", errorCount=").append(errorCount); + sb.append(", elapsed=").append(elapsed); + } } diff --git a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSampleResult.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSampleResult.java index 0b30eaefbf..29919f4728 100644 --- a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSampleResult.java +++ b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSampleResult.java @@ -280,4 +280,12 @@ public class HTTPSampleResult extends SampleResult { list.add(getUrlAsString()); return list; } + + @Override + protected void appendDebugParameters(StringBuilder sb) { + super.appendDebugParameters(sb); + sb.append(", method='").append(method).append('\''); + sb.append(", redirectLocation='").append(redirectLocation).append('\''); + sb.append(", queryString='").append(queryString).append('\''); + } }
