Author: pmouawad
Date: Mon Jan  7 11:15:03 2019
New Revision: 1850626

URL: http://svn.apache.org/viewvc?rev=1850626&view=rev
Log:
Bug 63059 - Create a new JSonExporter that exports as JSON the content of data 
computed for HTML Dashboard Statistics table

Contributed by UbikLoadPack (https://ubikloadpack.com)
Bugzilla Id: 63059

Added:
    jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/JsonExporter.java  
 (with props)
    
jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/SamplingStatistic.java 
  (with props)
Modified:
    jmeter/trunk/LICENSE
    jmeter/trunk/bin/reportgenerator.properties
    jmeter/trunk/build.properties
    jmeter/trunk/build.xml
    jmeter/trunk/eclipse.classpath
    jmeter/trunk/lib/   (props changed)
    jmeter/trunk/lib/aareadme.txt
    jmeter/trunk/res/maven/ApacheJMeter_parent.pom
    jmeter/trunk/xdocs/changes.xml

Modified: jmeter/trunk/LICENSE
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1850626&r1=1850625&r2=1850626&view=diff
==============================================================================
--- jmeter/trunk/LICENSE [utf-8] (original)
+++ jmeter/trunk/LICENSE [utf-8] Mon Jan  7 11:15:03 2019
@@ -251,6 +251,9 @@ The following software is provided under
 * caffeine-2.6.2.jar
 * darcula.jar
 * freemarker-2.3.28.jar (AL2.0, see licenses/bin for additional info)
+* jackson-annotations-2.9.8.jar
+* jackson-core-2.9.8.jar
+* jackson-databind-2.9.8.jar
 * json-path-2.4.0.jar
 * json-smart-2.3.jar
 * mongo-java-driver-2.11.3.jar

Modified: jmeter/trunk/bin/reportgenerator.properties
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/bin/reportgenerator.properties?rev=1850626&r1=1850625&r2=1850626&view=diff
==============================================================================
--- jmeter/trunk/bin/reportgenerator.properties (original)
+++ jmeter/trunk/bin/reportgenerator.properties Mon Jan  7 11:15:03 2019
@@ -192,3 +192,8 @@ jmeter.reportgenerator.exporter.html.cla
 
 # Indicates whether only controller samples are displayed on graphs that 
support it.
 #jmeter.reportgenerator.exporter.html.show_controllers_only=false
+
+# JSON Export that generates statistics.json
+ 
+jmeter.reportgenerator.exporter.json.classname=org.apache.jmeter.report.dashboard.JsonExporter
+jmeter.reportgenerator.exporter.json.property.output_dir=report-output
\ No newline at end of file

Modified: jmeter/trunk/build.properties
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/build.properties?rev=1850626&r1=1850625&r2=1850626&view=diff
==============================================================================
--- jmeter/trunk/build.properties (original)
+++ jmeter/trunk/build.properties Mon Jan  7 11:15:03 2019
@@ -210,6 +210,21 @@ httpcore-nio.jar                = httpco
 httpcore-nio.loc                = 
${maven2.repo}/org/apache/httpcomponents/httpcore-nio/${httpcore-nio.version}
 httpcore-nio.sha512             = 
002AF5F72B68A4FF1B1FF46B788013283D195E1D62EE1D7B102AA930B30F77F7E215A6D18EDBEA0FCCD18FB1FA3A66CC4AEF6070D72D6D1886F0044DFE0E16C7
 
+jackson-annotations.version = 2.9.8
+jackson-annotations.jar     = 
jackson-annotations-${jackson-annotations.version}.jar
+jackson-annotations.loc     = 
${maven2.repo}/com/fasterxml/jackson/core/jackson-annotations/${jackson-annotations.version}
+jackson-annotations.sha512  = 
05A7A203623DF2E7A2C338D589871C07258E7552F4C55B3F45BBBD77B5E04B7A77F96779F19394182B20DE98DB419496AB0ADB6D5D28C42F8FFEA1C76C82D8AF
+
+jackson-core.version = 2.9.8
+jackson-core.jar     = jackson-core-${jackson-core.version}.jar
+jackson-core.loc     = 
${maven2.repo}/com/fasterxml/jackson/core/jackson-core/${jackson-core.version}
+jackson-core.sha512  = 
695C4BF0C5BF72910DC09CD6062FAA7690ECE110F874DADE86D5E3D6EE5598E57572517200D7A31816AB599F01350E5AAC9A671FFB826650F385EA97E4BC0D98
+
+jackson-databind.version = 2.9.8
+jackson-databind.jar     = jackson-databind-${jackson-databind.version}.jar
+jackson-databind.loc     = 
${maven2.repo}/com/fasterxml/jackson/core/jackson-databind/${jackson-databind.version}
+jackson-databind.sha512  = 
720F2D2779CBFD4B470CB5106AB3944EF12717330534B94F99D8D81D1F07BBA809A30BC92E296ECB31CB76C2FEAA06870B7EDFF5A081C7EFED9C3AC7E5CEBE2F
+
 jakarta-oro.version         = 2.0.8
 jakarta-oro.jar             = oro-${jakarta-oro.version}.jar
 jakarta-oro.loc             = ${maven2.repo}/oro/oro/${jakarta-oro.version}

Modified: jmeter/trunk/build.xml
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/build.xml?rev=1850626&r1=1850625&r2=1850626&view=diff
==============================================================================
--- jmeter/trunk/build.xml (original)
+++ jmeter/trunk/build.xml Mon Jan  7 11:15:03 2019
@@ -420,6 +420,9 @@
     <include name="${lib.dir}/${httpcore-nio.jar}"/>
     <include name="${lib.dir}/${httpmime.jar}"/>
     <include name="${lib.dir}/${jakarta-oro.jar}"/>
+    <include name="${lib.dir}/${jackson-annotations.jar}"/>
+    <include name="${lib.dir}/${jackson-core.jar}"/>
+    <include name="${lib.dir}/${jackson-databind.jar}"/>
     <include name="${lib.dir}/${javamail.jar}"/>
     <include name="${lib.dir}/${jcharts.jar}"/>
     <include name="${lib.dir}/${jcl-over-slf4j.jar}"/>
@@ -507,6 +510,9 @@
     <pathelement location="${lib.dir}/${httpcore-nio.jar}"/>
     <pathelement location="${lib.dir}/${httpmime.jar}"/>
     <pathelement location="${lib.dir}/${jakarta-oro.jar}"/>
+    <pathelement location="${lib.dir}/${jackson-annotations.jar}"/>
+    <pathelement location="${lib.dir}/${jackson-core.jar}"/>
+    <pathelement location="${lib.dir}/${jackson-databind.jar}"/>
     <pathelement location="${lib.dir}/${javamail.jar}"/>
     <pathelement location="${lib.dir}/${jcharts.jar}"/>
     <pathelement location="${lib.dir}/${jms.jar}"/>
@@ -3384,6 +3390,9 @@ run JMeter unless all the JMeter jars ar
     <process_jarfile jarname="httpcore-nio"/>
     <process_jarfile jarname="httpmime"/>
     <process_jarfile jarname="jakarta-oro"/>
+    <process_jarfile jarname="jackson-annotations"/>
+    <process_jarfile jarname="jackson-core"/>
+    <process_jarfile jarname="jackson-databind"/>
     <process_jarfile jarname="javamail"/>
     <process_jarfile jarname="jcharts"/>
     <process_jarfile jarname="jdom" dest.dir="${lib.doc}"/>

Modified: jmeter/trunk/eclipse.classpath
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/eclipse.classpath?rev=1850626&r1=1850625&r2=1850626&view=diff
==============================================================================
--- jmeter/trunk/eclipse.classpath (original)
+++ jmeter/trunk/eclipse.classpath Mon Jan  7 11:15:03 2019
@@ -74,6 +74,9 @@
        <classpathentry kind="lib" path="lib/httpcore-nio-4.4.10.jar"/>
        <classpathentry kind="lib" path="lib/httpcore-4.4.10.jar"/>
        <classpathentry kind="lib" path="lib/httpmime-4.5.6.jar"/>
+       <classpathentry kind="lib" path="lib/jackson-annotations-2.9.8.jar"/>
+       <classpathentry kind="lib" path="lib/jackson-core-2.9.8.jar"/>
+       <classpathentry kind="lib" path="lib/jackson-databind-2.9.8.jar"/>
        <classpathentry kind="lib" path="lib/javax.activation-api-1.2.0.jar"/>
        <classpathentry kind="lib" path="lib/javax.activation-1.2.0.jar"/>
        <classpathentry kind="lib" path="lib/jcharts-0.7.5.jar"/>

Propchange: jmeter/trunk/lib/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Jan  7 11:15:03 2019
@@ -33,6 +33,9 @@ httpclient-4.5.6.jar
 httpcore-4.4.10.jar
 httpcore-nio-4.4.10.jar
 httpmime-4.5.6.jar
+jackson-annotations-2.9.8.jar
+jackson-core-2.9.8.jar
+jackson-databind-2.9.8.jar
 javax.activation-api-1.2.0.jar
 javax.activation-1.2.0.jar
 jcharts-0.7.5.jar

Modified: jmeter/trunk/lib/aareadme.txt
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/lib/aareadme.txt?rev=1850626&r1=1850625&r2=1850626&view=diff
==============================================================================
--- jmeter/trunk/lib/aareadme.txt (original)
+++ jmeter/trunk/lib/aareadme.txt Mon Jan  7 11:15:03 2019
@@ -123,6 +123,14 @@ javax.activation-1.2.0.jar
 ----------------------
 - used by SMTP Sampler
 
+jackson-annotations-2.9.8 (com.fasterxml.jackson)
+----------------------
+
+Used by JsonExporter in report generator (com.fasterxml.jackson)
+----------------------
+jackson-annotations-2.9.8 (https://github.com/FasterXML/jackson-annotations)
+jackson-core-2.9.8 (https://github.com/FasterXML/jackson-core)
+jackson-databind-2.9.8 (https://github.com/FasterXML/jackson-databind)
 
 jCharts-0.7.5 (org.jCharts)
 -------------

Modified: jmeter/trunk/res/maven/ApacheJMeter_parent.pom
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/res/maven/ApacheJMeter_parent.pom?rev=1850626&r1=1850625&r2=1850626&view=diff
==============================================================================
--- jmeter/trunk/res/maven/ApacheJMeter_parent.pom (original)
+++ jmeter/trunk/res/maven/ApacheJMeter_parent.pom Mon Jan  7 11:15:03 2019
@@ -82,6 +82,7 @@ under the License.
       <httpcore.version>4.4.10</httpcore.version>
       <httpcore-nio.version>4.4.10</httpcore-nio.version>
       <httpmime.version>4.5.6</httpmime.version>
+      <jackson.version>2.9.8</jackson.version>
       <jakarta-oro.version>2.0.8</jakarta-oro.version>
       <javax.activation-api.version>1.2.0</javax.activation-api.version>
       <javax.activation.version>1.2.0</javax.activation.version>
@@ -267,6 +268,21 @@ under the License.
         <version>${jakarta-oro.version}</version>
       </dependency>
       <dependency>
+        <groupId>com.fasterxml.jackson.core</groupId>
+        <artifactId>jackson-databind</artifactId>
+        <version>${jackson.version}</version>
+      </dependency>
+        <dependency>
+        <groupId>com.fasterxml.jackson.core</groupId>
+        <artifactId>jackson-annotations</artifactId>
+        <version>${jackson.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>com.fasterxml.jackson.core</groupId>
+        <artifactId>jackson-core</artifactId>
+        <version>${jackson.version}</version>
+      </dependency>
+      <dependency>
         <groupId>jcharts</groupId>
         <artifactId>jcharts</artifactId>
         <version>0.7.5</version>

Added: 
jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/JsonExporter.java
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/JsonExporter.java?rev=1850626&view=auto
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/JsonExporter.java 
(added)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/JsonExporter.java 
Mon Jan  7 11:15:03 2019
@@ -0,0 +1,137 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.report.dashboard;
+
+import java.io.File;
+import java.io.FileFilter;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.jmeter.JMeter;
+import org.apache.jmeter.report.config.ExporterConfiguration;
+import org.apache.jmeter.report.config.ReportGeneratorConfiguration;
+import org.apache.jmeter.report.processor.ListResultData;
+import org.apache.jmeter.report.processor.MapResultData;
+import org.apache.jmeter.report.processor.SampleContext;
+import org.apache.jmeter.report.processor.ValueResultData;
+import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jorphan.util.JOrphanUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectWriter;
+
+/**
+ * Implementation of {@link DataExporter} that exports statistics to JSON
+ * 
+ * @since 5.1
+ */
+public class JsonExporter extends AbstractDataExporter {
+    private static final Logger LOGGER = 
LoggerFactory.getLogger(JsonExporter.class);
+    public static final String OUTPUT_FILENAME = "statistics.json";
+    private static final FileFilter JSON_FILE_FILTER = 
+            file -> file.isFile() && file.getName().equals(OUTPUT_FILENAME);
+
+    
+    public JsonExporter() {
+        super();
+    }
+
+    @Override
+    public void export(SampleContext context, File file, 
ReportGeneratorConfiguration reportGeneratorConfiguration)
+            throws ExportException {
+        Object data = 
context.getData().get(ReportGenerator.STATISTICS_SUMMARY_CONSUMER_NAME);
+        if (data instanceof MapResultData) {
+            LOGGER.info("Found data for consumer {} in context", 
ReportGenerator.STATISTICS_SUMMARY_CONSUMER_NAME);
+            MapResultData result = (MapResultData) data;
+            Map<String, SamplingStatistic> statistics = new HashMap<>();
+            MapResultData overallData = (MapResultData) 
result.getResult("overall");
+            LOGGER.info("Creating statistics for overall");
+            createStatistic(statistics, overallData);
+            
+            ListResultData itemsData = (ListResultData) 
result.getResult("items");
+            LOGGER.info("Creating statistics for other transactions");
+            itemsData.forEach(r -> createStatistic(statistics, 
(MapResultData)r));
+            
+            LOGGER.info("Checking output folder");
+            File outputDir = 
checkAndGetOutputFolder(reportGeneratorConfiguration);
+
+            File outputFile = new File(outputDir, OUTPUT_FILENAME);
+            LOGGER.info("Writing statistics JSON to {}", outputFile);
+            ObjectWriter objectWriter = new 
ObjectMapper().writerWithDefaultPrettyPrinter();
+            try (FileWriter fileWriter = new FileWriter(outputFile)) {
+                objectWriter.writeValue(fileWriter, statistics);
+            } catch (IOException e) {
+                throw new ExportException("Error generating JSON statistics 
file to " + outputFile +" for "+statistics, e);
+            }
+        }
+    }
+
+    /**
+     * Check folder and return output folder.
+     * @param reportGeneratorConfiguration {@link ReportGeneratorConfiguration}
+     * @return {@link File} output folder
+     * @throws ExportException
+     */
+    private File checkAndGetOutputFolder(ReportGeneratorConfiguration 
reportGeneratorConfiguration)
+            throws ExportException {
+        final ExporterConfiguration exportCfg = reportGeneratorConfiguration
+                .getExportConfigurations().get(getName());
+        // Get output directory property value
+        File outputDir = getPropertyFromConfig(exportCfg, 
HtmlTemplateExporter.OUTPUT_DIR,
+                new File(JMeterUtils.getJMeterBinDir(), 
HtmlTemplateExporter.OUTPUT_DIR_NAME_DEFAULT), File.class);
+        String globallyDefinedOutputDir = 
JMeterUtils.getProperty(JMeter.JMETER_REPORT_OUTPUT_DIR_PROPERTY);
+        if(!StringUtils.isEmpty(globallyDefinedOutputDir)) {
+            outputDir = new File(globallyDefinedOutputDir);
+        }
+        
+        JOrphanUtils.canSafelyWriteToFolder(outputDir, JSON_FILE_FILTER);
+        try {
+            FileUtils.forceMkdir(outputDir);
+        } catch (IOException ex) {
+            throw new ExportException("Error creating output folder 
"+outputDir.getAbsolutePath(), ex);
+        }
+        return outputDir;
+    }
+
+    private void createStatistic(Map<String, SamplingStatistic> statistics, 
MapResultData resultData) {
+        LOGGER.debug("Creating statistics for result data:{}", resultData);
+        SamplingStatistic statistic = new SamplingStatistic();
+        ListResultData listResultData = (ListResultData) 
resultData.getResult("data");
+        statistic.setTransaction((String) 
((ValueResultData)listResultData.get(0)).getValue());
+        statistic.setSampleCount((Long) 
((ValueResultData)listResultData.get(1)).getValue());
+        statistic.setErrorCount((Long) 
((ValueResultData)listResultData.get(2)).getValue());
+        statistic.setErrorPct(((Double) 
((ValueResultData)listResultData.get(3)).getValue()).floatValue());
+        statistic.setMeanResTime((Double) 
((ValueResultData)listResultData.get(4)).getValue());
+        statistic.setMinResTime((Long) 
((ValueResultData)listResultData.get(5)).getValue());
+        statistic.setMaxResTime((Long) 
((ValueResultData)listResultData.get(6)).getValue());
+        statistic.setPct1ResTime((Double) 
((ValueResultData)listResultData.get(7)).getValue());
+        statistic.setPct2ResTime((Double) 
((ValueResultData)listResultData.get(8)).getValue());
+        statistic.setPct3ResTime((Double) 
((ValueResultData)listResultData.get(9)).getValue());
+        statistic.setThroughput((Double) 
((ValueResultData)listResultData.get(10)).getValue());
+        statistic.setReceivedKBytesPerSec((Double) 
((ValueResultData)listResultData.get(11)).getValue());
+        statistic.setSentKBytesPerSec((Double) 
((ValueResultData)listResultData.get(12)).getValue());
+        statistics.put(statistic.getTransaction(), statistic);
+    }
+}

Propchange: 
jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/JsonExporter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/JsonExporter.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/SamplingStatistic.java
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/SamplingStatistic.java?rev=1850626&view=auto
==============================================================================
--- 
jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/SamplingStatistic.java 
(added)
+++ 
jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/SamplingStatistic.java 
Mon Jan  7 11:15:03 2019
@@ -0,0 +1,226 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.jmeter.report.dashboard;
+
+/**
+ * Statistics about a Transaction (Sampler or TransactionController)
+ * @since 5.1
+ *
+ */
+public class SamplingStatistic {
+    private String transaction;
+    private long sampleCount;
+    private long errorCount;
+    private float errorPct;
+    private double meanResTime;
+    private double minResTime;
+    private double maxResTime;
+    private double pct1ResTime;
+    private double pct2ResTime;
+    private double pct3ResTime;
+    private double throughput;
+    private double receivedKBytesPerSec;
+    private double sentKBytesPerSec;
+
+    public SamplingStatistic() {
+        super();
+    }
+
+    /**
+     * @return the transaction
+     */
+    public String getTransaction() {
+        return transaction;
+    }
+
+    /**
+     * @param transaction the transaction to set
+     */
+    public void setTransaction(String transaction) {
+        this.transaction = transaction;
+    }
+
+    /**
+     * @return the sampleCount
+     */
+    public long getSampleCount() {
+        return sampleCount;
+    }
+
+    /**
+     * @param sampleCount the sampleCount to set
+     */
+    public void setSampleCount(long sampleCount) {
+        this.sampleCount = sampleCount;
+    }
+
+    /**
+     * @return the errorCount
+     */
+    public long getErrorCount() {
+        return errorCount;
+    }
+
+    /**
+     * @param errorCount the errorCount to set
+     */
+    public void setErrorCount(long errorCount) {
+        this.errorCount = errorCount;
+    }
+
+    /**
+     * @return the errorPct
+     */
+    public float getErrorPct() {
+        return errorPct;
+    }
+
+    /**
+     * @param errorPct the errorPct to set
+     */
+    public void setErrorPct(float errorPct) {
+        this.errorPct = errorPct;
+    }
+
+    /**
+     * @return the meanResTime
+     */
+    public double getMeanResTime() {
+        return meanResTime;
+    }
+
+    /**
+     * @param meanResTime the meanResTime to set
+     */
+    public void setMeanResTime(double meanResTime) {
+        this.meanResTime = meanResTime;
+    }
+
+    /**
+     * @return the minResTime
+     */
+    public double getMinResTime() {
+        return minResTime;
+    }
+
+    /**
+     * @param minResTime the minResTime to set
+     */
+    public void setMinResTime(double minResTime) {
+        this.minResTime = minResTime;
+    }
+
+    /**
+     * @return the maxResTime
+     */
+    public double getMaxResTime() {
+        return maxResTime;
+    }
+
+    /**
+     * @param maxResTime the maxResTime to set
+     */
+    public void setMaxResTime(double maxResTime) {
+        this.maxResTime = maxResTime;
+    }
+
+    /**
+     * @return the pct1ResTime
+     */
+    public double getPct1ResTime() {
+        return pct1ResTime;
+    }
+
+    /**
+     * @param pct1ResTime the pct1ResTime to set
+     */
+    public void setPct1ResTime(double pct1ResTime) {
+        this.pct1ResTime = pct1ResTime;
+    }
+
+    /**
+     * @return the pct2ResTime
+     */
+    public double getPct2ResTime() {
+        return pct2ResTime;
+    }
+
+    /**
+     * @param pct2ResTime the pct2ResTime to set
+     */
+    public void setPct2ResTime(double pct2ResTime) {
+        this.pct2ResTime = pct2ResTime;
+    }
+
+    /**
+     * @return the pct3ResTime
+     */
+    public double getPct3ResTime() {
+        return pct3ResTime;
+    }
+
+    /**
+     * @param pct3ResTime the pct3ResTime to set
+     */
+    public void setPct3ResTime(double pct3ResTime) {
+        this.pct3ResTime = pct3ResTime;
+    }
+
+    /**
+     * @return the throughput
+     */
+    public double getThroughput() {
+        return throughput;
+    }
+
+    /**
+     * @param throughput the throughput to set
+     */
+    public void setThroughput(double throughput) {
+        this.throughput = throughput;
+    }
+
+    /**
+     * @return the receivedKBytesPerSec
+     */
+    public double getReceivedKBytesPerSec() {
+        return receivedKBytesPerSec;
+    }
+
+    /**
+     * @param receivedKBytesPerSec the receivedKBytesPerSec to set
+     */
+    public void setReceivedKBytesPerSec(double receivedKBytesPerSec) {
+        this.receivedKBytesPerSec = receivedKBytesPerSec;
+    }
+
+    /**
+     * @return the sentKBytesPerSec
+     */
+    public double getSentKBytesPerSec() {
+        return sentKBytesPerSec;
+    }
+
+    /**
+     * @param sentKBytesPerSec the sentKBytesPerSec to set
+     */
+    public void setSentKBytesPerSec(double sentKBytesPerSec) {
+        this.sentKBytesPerSec = sentKBytesPerSec;
+    }
+}

Propchange: 
jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/SamplingStatistic.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/SamplingStatistic.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: jmeter/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1850626&r1=1850625&r2=1850626&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
+++ jmeter/trunk/xdocs/changes.xml [utf-8] Mon Jan  7 11:15:03 2019
@@ -117,6 +117,7 @@ of previous time slot as a base. Startin
 <ul>
     <li><bug>62883</bug>Report / Dashboard : Change the way percentiles are 
computed for Response Time Percentiles Over Time (successful responses) 
graph</li>
     <li><bug>63060</bug>Report Generator: A generator should only check for 
folder/files it generates and only delete those ones</li>
+    <li><bug>63059</bug>Create a new JSonExporter that exports as JSON the 
content of data computed for HTML Dashboard Statistics table. Contributed by 
Ubik Load Pack (support at ubikloadpack.com)</li>
 </ul>
 
 <h3>General</h3>


Reply via email to