On Saturday, May 7, 2016, sebb <seb...@gmail.com> wrote: > On 7 May 2016 at 07:10, Philippe Mouawad <philippe.moua...@gmail.com > <javascript:;>> wrote: > > Hello, > > I don't see docs update neither. > > The only relevant place I can find is properties_reference which I have > updated. > If there are any other places let me know.
i see no mention of this in dashboard docs. I think some note on this would be nice > > But for me it should have been discussed before and commited only after > 3.0 > > as per milamber request. > > I could say the same about the fix you made: > > URL: http://svn.apache.org/viewvc?rev=1742104&view=rev > Log: > Bug 59424 - Visualizer : Add "Clear" in popup menu > > That was not even discussed as I recall. I can retire it if you want. The regressions risks are very low, it's not the case for report generation which is a much more critical feature. > > == > > The issue was discussed, but the solution was not. > > I am not happy releasing the code as it was before. > I should have vetoed the original change. which one ? > > > Regards > > > > On Saturday, May 7, 2016, sebb <seb...@gmail.com <javascript:;>> wrote: > > > >> On 6 May 2016 at 22:44, Philippe Mouawad <philippe.moua...@gmail.com > <javascript:;> > >> <javascript:;>> 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 <javascript:;> > <javascript:;>> 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. > -- Cordialement. Philippe Mouawad.