Another comment, AFAIU, reportgenerator.properties must be added to bundles
?
I commited the fix, but please review as I am not sure.

On Sat, May 7, 2016 at 12:06 AM, sebb <seb...@gmail.com> wrote:

> 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.
>



-- 
Cordialement.
Philippe Mouawad.

Reply via email to