On 6 May 2016 at 22:44, Philippe Mouawad <philippe.moua...@gmail.com> wrote:
> -1
>
> I thought no important modification was to be done before 3.0 release ?

Is that your only objection?

>
>
> On Fri, May 6, 2016 at 11:38 PM, <s...@apache.org> wrote:
>
>> Author: sebb
>> Date: Fri May  6 21:38:36 2016
>> New Revision: 1742642
>>
>> URL: http://svn.apache.org/viewvc?rev=1742642&view=rev
>> Log:
>> Move ReportGenerator defaults to a separate properties file
>>
>> Added:
>>     jmeter/trunk/bin/reportgenerator.properties   (with props)
>> Modified:
>>     jmeter/trunk/bin/jmeter.properties
>>
>> jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/ReportGenerator.java
>>
>> Modified: jmeter/trunk/bin/jmeter.properties
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/bin/jmeter.properties?rev=1742642&r1=1742641&r2=1742642&view=diff
>>
>> ==============================================================================
>> --- jmeter/trunk/bin/jmeter.properties (original)
>> +++ jmeter/trunk/bin/jmeter.properties Fri May  6 21:38:36 2016
>> @@ -1184,116 +1184,6 @@ view.results.tree.renderers_order=.Rende
>>  classfinder.functions.contain=.functions.
>>  classfinder.functions.notContain=.gui.
>>
>>
>> -#---------------------------------------------------------------------------
>> -# Reporting configuration
>>
>> -#---------------------------------------------------------------------------
>> -
>> -# Sets the satisfaction threshold for the APDEX calculation (in
>> milliseconds).
>> -#jmeter.reportgenerator.apdex_satisfied_threshold=500
>> -
>> -# Sets the tolerance threshold for the APDEX calculation (in
>> milliseconds).
>> -#jmeter.reportgenerator.apdex_tolerated_threshold=1500
>> -
>> -# Regular Expression which Indicates which samples to keep for graphs and
>> statistics generation.
>> -# Empty value means no filtering
>> -#jmeter.reportgenerator.sample_filter=
>> -
>> -# Sets the temporary directory used by the generation process if it needs
>> file I/O operations.
>> -#jmeter.reportgenerator.temp_dir=temp
>> -
>> -# Sets the size of the sliding window used by percentile evaluation.
>> -# Caution : higher value provides a better accuracy but needs more memory.
>> -#jmeter.reportgenerator.statistic_window = 200000
>> -
>> -# Configure this property to change the report title
>> -#jmeter.reportgenerator.report_title=Apache JMeter Dashboard
>> -
>> -# Defines the overall granularity for over time graphs
>> -jmeter.reportgenerator.overall_granularity=60000
>> -
>> -# Response Time Percentiles graph definition
>>
>> -jmeter.reportgenerator.graph.responseTimePercentiles.classname=org.apache.jmeter.report.processor.graph.impl.ResponseTimePercentilesGraphConsumer
>> -jmeter.reportgenerator.graph.responseTimePercentiles.title=Response Time
>> Percentiles
>> -
>> -# Response Time Distribution graph definition
>>
>> -jmeter.reportgenerator.graph.responseTimeDistribution.classname=org.apache.jmeter.report.processor.graph.impl.ResponseTimeDistributionGraphConsumer
>> -jmeter.reportgenerator.graph.responseTimeDistribution.title=Response Time
>> Distribution
>>
>> -jmeter.reportgenerator.graph.responseTimeDistribution.property.set_granularity=500
>> -
>> -# Active Threads Over Time graph definition
>>
>> -jmeter.reportgenerator.graph.activeThreadsOverTime.classname=org.apache.jmeter.report.processor.graph.impl.ActiveThreadsGraphConsumer
>> -jmeter.reportgenerator.graph.activeThreadsOverTime.title=Active Threads
>> Over Time
>>
>> -jmeter.reportgenerator.graph.activeThreadsOverTime.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> -
>> -# Time VS Threads graph definition
>>
>> -jmeter.reportgenerator.graph.timeVsThreads.classname=org.apache.jmeter.report.processor.graph.impl.TimeVSThreadGraphConsumer
>> -jmeter.reportgenerator.graph.timeVsThreads.title=Time VS Threads
>> -
>> -# Bytes Throughput Over Time graph definition
>>
>> -jmeter.reportgenerator.graph.bytesThroughputOverTime.classname=org.apache.jmeter.report.processor.graph.impl.BytesThroughputGraphConsumer
>> -jmeter.reportgenerator.graph.bytesThroughputOverTime.title=Bytes
>> Throughput Over Time
>>
>> -jmeter.reportgenerator.graph.bytesThroughputOverTime.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> -
>> -# Response Time Over Time graph definition
>>
>> -jmeter.reportgenerator.graph.responseTimesOverTime.classname=org.apache.jmeter.report.processor.graph.impl.ResponseTimeOverTimeGraphConsumer
>> -jmeter.reportgenerator.graph.responseTimesOverTime.title=Response Time
>> Over Time
>>
>> -jmeter.reportgenerator.graph.responseTimesOverTime.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> -
>> -# Latencies Over Time graph definition
>>
>> -jmeter.reportgenerator.graph.latenciesOverTime.classname=org.apache.jmeter.report.processor.graph.impl.LatencyOverTimeGraphConsumer
>> -jmeter.reportgenerator.graph.latenciesOverTime.title=Latencies Over Time
>>
>> -jmeter.reportgenerator.graph.latenciesOverTime.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> -
>> -# Response Time Vs Request graph definition
>>
>> -jmeter.reportgenerator.graph.responseTimeVsRequest.classname=org.apache.jmeter.report.processor.graph.impl.ResponseTimeVSRequestGraphConsumer
>> -jmeter.reportgenerator.graph.responseTimeVsRequest.title=Response Time Vs
>> Request
>>
>> -jmeter.reportgenerator.graph.responseTimeVsRequest.exclude_controllers=true
>>
>> -jmeter.reportgenerator.graph.responseTimeVsRequest.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> -
>> -# Latencies Vs Request graph definition
>>
>> -jmeter.reportgenerator.graph.latencyVsRequest.classname=org.apache.jmeter.report.processor.graph.impl.LatencyVSRequestGraphConsumer
>> -jmeter.reportgenerator.graph.latencyVsRequest.title=Latencies Vs Request
>> -jmeter.reportgenerator.graph.latencyVsRequest.exclude_controllers=true
>>
>> -jmeter.reportgenerator.graph.latencyVsRequest.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> -
>> -# Hits Per Second graph definition
>>
>> -jmeter.reportgenerator.graph.hitsPerSecond.classname=org.apache.jmeter.report.processor.graph.impl.HitsPerSecondGraphConsumer
>> -jmeter.reportgenerator.graph.hitsPerSecond.title=Hits Per Second
>> -jmeter.reportgenerator.graph.hitsPerSecond.exclude_controllers=true
>>
>> -jmeter.reportgenerator.graph.hitsPerSecond.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> -
>> -# Codes Per Second graph definition
>>
>> -jmeter.reportgenerator.graph.codesPerSecond.classname=org.apache.jmeter.report.processor.graph.impl.CodesPerSecondGraphConsumer
>> -jmeter.reportgenerator.graph.codesPerSecond.title=Codes Per Second
>> -jmeter.reportgenerator.graph.codesPerSecond.exclude_controllers=true
>>
>> -jmeter.reportgenerator.graph.codesPerSecond.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> -
>> -# Transactions Per Second graph definition
>>
>> -jmeter.reportgenerator.graph.transactionsPerSecond.classname=org.apache.jmeter.report.processor.graph.impl.TransactionsPerSecondGraphConsumer
>> -jmeter.reportgenerator.graph.transactionsPerSecond.title=Transactions Per
>> Second
>>
>> -jmeter.reportgenerator.graph.transactionsPerSecond.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> -
>> -# HTML Export
>>
>> -jmeter.reportgenerator.exporter.html.classname=org.apache.jmeter.report.dashboard.HtmlTemplateExporter
>> -
>> -# Sets the source directory of templated files from which the html pages
>> are generated.
>>
>> -#jmeter.reportgenerator.exporter.html.property.template_dir=report-template
>> -
>> -# Sets the destination directory for generated html pages.
>> -# This will be overridden by the command line option -o
>> -#jmeter.reportgenerator.exporter.html.property.output_dir=report-output
>> -
>> -# Regular Expression which Indicates which graph series are filtered in
>> display
>> -# Empty value means no filtering
>> -#jmeter.reportgenerator.exporter.html.series_filter=
>> -
>> -# Indicates whether series filter apply only on sample series or to all
>> series
>> -# setting this to false can lead to empty graphs if series_filter does not
>> -# contain required series
>> -#jmeter.reportgenerator.exporter.html.filters_only_sample_series=true
>> -
>> -# Indicates whether only controller samples are displayed on graphs that
>> support it.
>> -#jmeter.reportgenerator.exporter.html.show_controllers_only=false
>>
>>
>>  #---------------------------------------------------------------------------
>>  # Additional property files to load
>>
>> Added: jmeter/trunk/bin/reportgenerator.properties
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/bin/reportgenerator.properties?rev=1742642&view=auto
>>
>> ==============================================================================
>> --- jmeter/trunk/bin/reportgenerator.properties (added)
>> +++ jmeter/trunk/bin/reportgenerator.properties Fri May  6 21:38:36 2016
>> @@ -0,0 +1,140 @@
>>
>> +################################################################################
>> +# Apache JMeter Property file for Report Generator
>>
>> +################################################################################
>> +
>> +##   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.
>> +
>>
>> +################################################################################
>> +#
>> +#                      THIS FILE SHOULD NOT BE MODIFIED
>> +#
>> +# This avoids having to re-apply the modifications when upgrading JMeter
>> +# Instead only user.properties should be modified:
>> +# 1/ copy the property you want to modify to user.properties from here
>> +# 2/ Change its value there
>> +#
>>
>> +################################################################################
>> +
>>
>> +#---------------------------------------------------------------------------
>> +# Reporting configuration
>>
>> +#---------------------------------------------------------------------------
>> +
>> +# Sets the satisfaction threshold for the APDEX calculation (in
>> milliseconds).
>> +#jmeter.reportgenerator.apdex_satisfied_threshold=500
>> +
>> +# Sets the tolerance threshold for the APDEX calculation (in
>> milliseconds).
>> +#jmeter.reportgenerator.apdex_tolerated_threshold=1500
>> +
>> +# Regular Expression which Indicates which samples to keep for graphs and
>> statistics generation.
>> +# Empty value means no filtering
>> +#jmeter.reportgenerator.sample_filter=
>> +
>> +# Sets the temporary directory used by the generation process if it needs
>> file I/O operations.
>> +#jmeter.reportgenerator.temp_dir=temp
>> +
>> +# Sets the size of the sliding window used by percentile evaluation.
>> +# Caution : higher value provides a better accuracy but needs more memory.
>> +#jmeter.reportgenerator.statistic_window = 200000
>> +
>> +# Configure this property to change the report title
>> +#jmeter.reportgenerator.report_title=Apache JMeter Dashboard
>> +
>> +# Defines the overall granularity for over time graphs
>> +jmeter.reportgenerator.overall_granularity=60000
>> +
>> +# Response Time Percentiles graph definition
>>
>> +jmeter.reportgenerator.graph.responseTimePercentiles.classname=org.apache.jmeter.report.processor.graph.impl.ResponseTimePercentilesGraphConsumer
>> +jmeter.reportgenerator.graph.responseTimePercentiles.title=Response Time
>> Percentiles
>> +
>> +# Response Time Distribution graph definition
>>
>> +jmeter.reportgenerator.graph.responseTimeDistribution.classname=org.apache.jmeter.report.processor.graph.impl.ResponseTimeDistributionGraphConsumer
>> +jmeter.reportgenerator.graph.responseTimeDistribution.title=Response Time
>> Distribution
>>
>> +jmeter.reportgenerator.graph.responseTimeDistribution.property.set_granularity=500
>> +
>> +# Active Threads Over Time graph definition
>>
>> +jmeter.reportgenerator.graph.activeThreadsOverTime.classname=org.apache.jmeter.report.processor.graph.impl.ActiveThreadsGraphConsumer
>> +jmeter.reportgenerator.graph.activeThreadsOverTime.title=Active Threads
>> Over Time
>>
>> +jmeter.reportgenerator.graph.activeThreadsOverTime.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> +
>> +# Time VS Threads graph definition
>>
>> +jmeter.reportgenerator.graph.timeVsThreads.classname=org.apache.jmeter.report.processor.graph.impl.TimeVSThreadGraphConsumer
>> +jmeter.reportgenerator.graph.timeVsThreads.title=Time VS Threads
>> +
>> +# Bytes Throughput Over Time graph definition
>>
>> +jmeter.reportgenerator.graph.bytesThroughputOverTime.classname=org.apache.jmeter.report.processor.graph.impl.BytesThroughputGraphConsumer
>> +jmeter.reportgenerator.graph.bytesThroughputOverTime.title=Bytes
>> Throughput Over Time
>>
>> +jmeter.reportgenerator.graph.bytesThroughputOverTime.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> +
>> +# Response Time Over Time graph definition
>>
>> +jmeter.reportgenerator.graph.responseTimesOverTime.classname=org.apache.jmeter.report.processor.graph.impl.ResponseTimeOverTimeGraphConsumer
>> +jmeter.reportgenerator.graph.responseTimesOverTime.title=Response Time
>> Over Time
>>
>> +jmeter.reportgenerator.graph.responseTimesOverTime.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> +
>> +# Latencies Over Time graph definition
>>
>> +jmeter.reportgenerator.graph.latenciesOverTime.classname=org.apache.jmeter.report.processor.graph.impl.LatencyOverTimeGraphConsumer
>> +jmeter.reportgenerator.graph.latenciesOverTime.title=Latencies Over Time
>>
>> +jmeter.reportgenerator.graph.latenciesOverTime.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> +
>> +# Response Time Vs Request graph definition
>>
>> +jmeter.reportgenerator.graph.responseTimeVsRequest.classname=org.apache.jmeter.report.processor.graph.impl.ResponseTimeVSRequestGraphConsumer
>> +jmeter.reportgenerator.graph.responseTimeVsRequest.title=Response Time Vs
>> Request
>>
>> +jmeter.reportgenerator.graph.responseTimeVsRequest.exclude_controllers=true
>>
>> +jmeter.reportgenerator.graph.responseTimeVsRequest.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> +
>> +# Latencies Vs Request graph definition
>>
>> +jmeter.reportgenerator.graph.latencyVsRequest.classname=org.apache.jmeter.report.processor.graph.impl.LatencyVSRequestGraphConsumer
>> +jmeter.reportgenerator.graph.latencyVsRequest.title=Latencies Vs Request
>> +jmeter.reportgenerator.graph.latencyVsRequest.exclude_controllers=true
>>
>> +jmeter.reportgenerator.graph.latencyVsRequest.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> +
>> +# Hits Per Second graph definition
>>
>> +jmeter.reportgenerator.graph.hitsPerSecond.classname=org.apache.jmeter.report.processor.graph.impl.HitsPerSecondGraphConsumer
>> +jmeter.reportgenerator.graph.hitsPerSecond.title=Hits Per Second
>> +jmeter.reportgenerator.graph.hitsPerSecond.exclude_controllers=true
>>
>> +jmeter.reportgenerator.graph.hitsPerSecond.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> +
>> +# Codes Per Second graph definition
>>
>> +jmeter.reportgenerator.graph.codesPerSecond.classname=org.apache.jmeter.report.processor.graph.impl.CodesPerSecondGraphConsumer
>> +jmeter.reportgenerator.graph.codesPerSecond.title=Codes Per Second
>> +jmeter.reportgenerator.graph.codesPerSecond.exclude_controllers=true
>>
>> +jmeter.reportgenerator.graph.codesPerSecond.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> +
>> +# Transactions Per Second graph definition
>>
>> +jmeter.reportgenerator.graph.transactionsPerSecond.classname=org.apache.jmeter.report.processor.graph.impl.TransactionsPerSecondGraphConsumer
>> +jmeter.reportgenerator.graph.transactionsPerSecond.title=Transactions Per
>> Second
>>
>> +jmeter.reportgenerator.graph.transactionsPerSecond.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
>> +
>> +# HTML Export
>>
>> +jmeter.reportgenerator.exporter.html.classname=org.apache.jmeter.report.dashboard.HtmlTemplateExporter
>> +
>> +# Sets the source directory of templated files from which the html pages
>> are generated.
>>
>> +#jmeter.reportgenerator.exporter.html.property.template_dir=report-template
>> +
>> +# Sets the destination directory for generated html pages.
>> +# This will be overridden by the command line option -o
>> +#jmeter.reportgenerator.exporter.html.property.output_dir=report-output
>> +
>> +# Regular Expression which Indicates which graph series are filtered in
>> display
>> +# Empty value means no filtering
>> +#jmeter.reportgenerator.exporter.html.series_filter=
>> +
>> +# Indicates whether series filter apply only on sample series or to all
>> series
>> +# setting this to false can lead to empty graphs if series_filter does not
>> +# contain required series
>> +#jmeter.reportgenerator.exporter.html.filters_only_sample_series=true
>> +
>> +# Indicates whether only controller samples are displayed on graphs that
>> support it.
>> +#jmeter.reportgenerator.exporter.html.show_controllers_only=false
>>
>> Propchange: jmeter/trunk/bin/reportgenerator.properties
>>
>> ------------------------------------------------------------------------------
>>     svn:eol-style = native
>>
>> Modified:
>> jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/ReportGenerator.java
>> URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/ReportGenerator.java?rev=1742642&r1=1742641&r2=1742642&view=diff
>>
>> ==============================================================================
>> ---
>> jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/ReportGenerator.java
>> (original)
>> +++
>> jmeter/trunk/src/core/org/apache/jmeter/report/dashboard/ReportGenerator.java
>> Fri May  6 21:38:36 2016
>> @@ -18,10 +18,12 @@
>>  package org.apache.jmeter.report.dashboard;
>>
>>  import java.io.File;
>> +import java.io.FileInputStream;
>>  import java.io.IOException;
>>  import java.lang.reflect.InvocationTargetException;
>>  import java.lang.reflect.Method;
>>  import java.util.Map;
>> +import java.util.Properties;
>>  import java.util.regex.Matcher;
>>  import java.util.regex.Pattern;
>>
>> @@ -66,6 +68,8 @@ import org.apache.log.Logger;
>>   * @since 3.0
>>   */
>>  public class ReportGenerator {
>> +    private static final String REPORTGENERATOR_PROPERTIES =
>> "reportgenerator.properties";
>> +
>>      private static final Logger LOG = LoggingManager.getLoggerForClass();
>>
>>      private static final boolean CSV_OUTPUT_FORMAT = "csv"
>> @@ -135,8 +139,21 @@ public class ReportGenerator {
>>          }
>>          this.resultCollector = resultCollector;
>>          this.testFile = file;
>> -        configuration = ReportGeneratorConfiguration
>> -                .loadFromProperties(JMeterUtils.getJMeterProperties());
>> +        final Properties merged = new Properties();
>> +        merged.putAll(loadProps(new File(JMeterUtils.getJMeterBinDir(),
>> REPORTGENERATOR_PROPERTIES)));
>> +        merged.putAll(JMeterUtils.getJMeterProperties());
>> +        configuration =
>> ReportGeneratorConfiguration.loadFromProperties(merged);
>> +    }
>> +
>> +    private static Properties loadProps(File file) {
>> +        final Properties props = new Properties();
>> +        try (FileInputStream inStream = new FileInputStream(file)) {
>> +            props.load(inStream);
>> +        } catch (IOException e) {
>> +            LOG.error("Problem loading properties ", e);
>> +            System.err.println("Problem loading properties " + e);
>> +        }
>> +        return props;
>>      }
>>
>>      /**
>>
>>
>>
>
>
> --
> Cordialement.
> Philippe Mouawad.

Reply via email to