ASF Bugzilla – Attachment 35974 Details for
Bug 62426
Here are some Reduced ReportGenerator performance Code
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Eager initialization of fields in sample
0002-Convert-data-eagerly-to-optimize-report-generation.patch (text/plain), 4.89 KB, created by
Felix Schumacher
on 2018-06-19 19:02:45 UTC
(
hide
)
Description:
Eager initialization of fields in sample
Filename:
MIME Type:
Creator:
Felix Schumacher
Created:
2018-06-19 19:02:45 UTC
Size:
4.89 KB
patch
obsolete
>From de68e0cf25ebd335b8ab0bcfecbb389a639a02dd Mon Sep 17 00:00:00 2001 >From: Felix Schumacher <felix.schumacher@debeka.de> >Date: Tue, 19 Jun 2018 13:47:41 +0200 >Subject: [PATCH 2/2] Convert data eagerly to optimize report generation > >--- > src/core/org/apache/jmeter/report/core/Sample.java | 44 +++++++++++++--------- > 1 file changed, 26 insertions(+), 18 deletions(-) > >diff --git a/src/core/org/apache/jmeter/report/core/Sample.java b/src/core/org/apache/jmeter/report/core/Sample.java >index fdf8ab15a..9a0f799cf 100644 >--- a/src/core/org/apache/jmeter/report/core/Sample.java >+++ b/src/core/org/apache/jmeter/report/core/Sample.java >@@ -35,13 +35,21 @@ public class Sample { > private static final String ERROR_ON_SAMPLE = "Error in sample at line:"; > > private static final String CONTROLLER_PATTERN = "Number of samples in transaction"; >- >+ > private static final String EMPTY_CONTROLLER_PATTERN = "Number of samples in transaction : 0"; > > private final boolean storesStartTimeStamp; > private final SampleMetadata metadata; > private final String[] data; > private final long row; >+ private final long elapsedTime; >+ private final long timestamp; >+ private final long latency; >+ private final long connectTime; >+ private final long receivedBytes; >+ private final long sentBytes; >+ private final int groupThreads; >+ private final boolean success; > > /** > * Build a sample from a string array >@@ -59,6 +67,14 @@ public class Sample { > this.metadata = metadata; > this.data = data; > this.storesStartTimeStamp = JMeterUtils.getPropDefault("sampleresult.timestamp.start", false); >+ this.elapsedTime = getData(long.class, CSVSaveService.CSV_ELAPSED).longValue(); >+ this.timestamp = getData(long.class, CSVSaveService.TIME_STAMP).longValue(); >+ this.latency = getData(long.class, CSVSaveService.CSV_LATENCY).longValue(); >+ this.connectTime = metadata.indexOf(CSVSaveService.CSV_CONNECT_TIME) >= 0 ? getData(long.class, CSVSaveService.CSV_CONNECT_TIME).longValue() : 0L; >+ this.success = getData(boolean.class, CSVSaveService.SUCCESSFUL).booleanValue(); >+ this.receivedBytes = getData(long.class, CSVSaveService.CSV_BYTES).longValue(); >+ this.sentBytes = metadata.indexOf(CSVSaveService.CSV_SENT_BYTES) >= 0 ? getData(long.class, CSVSaveService.CSV_SENT_BYTES).longValue() : 0L; >+ this.groupThreads = getData(int.class, CSVSaveService.CSV_THREAD_COUNT1).intValue(); > } > > /** >@@ -148,7 +164,7 @@ public class Sample { > * @return the time stamp > */ > public long getTimestamp() { >- return getData(long.class, CSVSaveService.TIME_STAMP).longValue(); >+ return this.timestamp; > } > > /** >@@ -157,7 +173,7 @@ public class Sample { > * @return the elapsed time stored in the sample > */ > public long getElapsedTime() { >- return getData(long.class, CSVSaveService.CSV_ELAPSED).longValue(); >+ return this.elapsedTime; > } > > /** >@@ -242,20 +258,16 @@ public class Sample { > * @return the latency stored in the sample > */ > public long getLatency() { >- return getData(long.class, CSVSaveService.CSV_LATENCY).longValue(); >+ return this.latency; > } >- >+ > /** > * Gets the connect time stored in the sample. > * > * @return the connect time stored in the sample or 0 is column is not in results > */ > public long getConnectTime() { >- if(metadata.indexOf(CSVSaveService.CSV_CONNECT_TIME) >= 0) { >- return getData(long.class, CSVSaveService.CSV_CONNECT_TIME).longValue(); >- } else { >- return 0L; >- } >+ return this.connectTime; > } > > /** >@@ -264,7 +276,7 @@ public class Sample { > * @return the success status stored in the sample > */ > public boolean getSuccess() { >- return getData(boolean.class, CSVSaveService.SUCCESSFUL).booleanValue(); >+ return this.success; > } > > /** >@@ -273,7 +285,7 @@ public class Sample { > * @return the number of received bytes stored in the sample > */ > public long getReceivedBytes() { >- return getData(long.class, CSVSaveService.CSV_BYTES).longValue(); >+ return this.receivedBytes; > } > > /** >@@ -282,11 +294,7 @@ public class Sample { > * @return the number of sent bytes stored in the sample > */ > public long getSentBytes() { >- if(metadata.indexOf(CSVSaveService.CSV_SENT_BYTES) >= 0) { >- return getData(long.class, CSVSaveService.CSV_SENT_BYTES).longValue(); >- } else { >- return 0L; >- } >+ return this.sentBytes; > } > > /** >@@ -295,7 +303,7 @@ public class Sample { > * @return the number of threads in the group of this sample > */ > public int getGroupThreads() { >- return getData(int.class, CSVSaveService.CSV_THREAD_COUNT1).intValue(); >+ return this.groupThreads; > } > > /** >-- >2.13.7 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 62426
:
35972
|
35973
| 35974