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('\'');
+    }
 }

Reply via email to