ASF Bugzilla – Attachment 32292 Details for
Bug 57351
Graphite Backend uses wrong default port for PlainText protocol (Nightly Build r1645532)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for issue
BUG_57351.patch (text/plain), 9.27 KB, created by
UbikLoadPack support
on 2014-12-15 14:03:20 UTC
(
hide
)
Description:
Patch for issue
Filename:
MIME Type:
Creator:
UbikLoadPack support
Created:
2014-12-15 14:03:20 UTC
Size:
9.27 KB
patch
obsolete
>Index: src/components/org/apache/jmeter/visualizers/backend/graphite/GraphiteBackendListenerClient.java >=================================================================== >--- src/components/org/apache/jmeter/visualizers/backend/graphite/GraphiteBackendListenerClient.java (revision 1645532) >+++ src/components/org/apache/jmeter/visualizers/backend/graphite/GraphiteBackendListenerClient.java (working copy) >@@ -44,7 +44,7 @@ > * @since 2.13 > */ > public class GraphiteBackendListenerClient extends AbstractBackendListenerClient implements Runnable { >- private static final int DEFAULT_PICKLE_PORT = 2004; >+ private static final int DEFAULT_PLAINTEXT_PROTOCOL_PORT = 2003; > private static final String CUMULATED_CONTEXT_NAME = "cumulated"; > > private static final Logger LOGGER = LoggingManager.getLoggerForClass(); >@@ -76,7 +76,7 @@ > private Map<String, Float> percentiles; > > >- private GraphiteMetricsSender pickleMetricsManager; >+ private GraphiteMetricsSender graphiteMetricsManager; > > private ScheduledExecutorService scheduler; > private ScheduledFuture<?> timerHandle; >@@ -108,31 +108,36 @@ > metric.resetForTimeInterval(); > } > } >- pickleMetricsManager.addMetric(timestampInSeconds, CUMULATED_CONTEXT_NAME, METRIC_MIN_ACTIVE_THREADS, Integer.toString(getUserMetrics().getMaxActiveThreads())); >- pickleMetricsManager.addMetric(timestampInSeconds, CUMULATED_CONTEXT_NAME, METRIC_MAX_ACTIVE_THREADS, Integer.toString(getUserMetrics().getMinActiveThreads())); >- pickleMetricsManager.addMetric(timestampInSeconds, CUMULATED_CONTEXT_NAME, METRIC_MEAN_ACTIVE_THREADS, Integer.toString(getUserMetrics().getMeanActiveThreads())); >- pickleMetricsManager.addMetric(timestampInSeconds, CUMULATED_CONTEXT_NAME, METRIC_STARTED_THREADS, Integer.toString(getUserMetrics().getStartedThreads())); >- pickleMetricsManager.addMetric(timestampInSeconds, CUMULATED_CONTEXT_NAME, METRIC_STOPPED_THREADS, Integer.toString(getUserMetrics().getFinishedThreads())); >+ graphiteMetricsManager.addMetric(timestampInSeconds, CUMULATED_CONTEXT_NAME, METRIC_MIN_ACTIVE_THREADS, Integer.toString(getUserMetrics().getMaxActiveThreads())); >+ graphiteMetricsManager.addMetric(timestampInSeconds, CUMULATED_CONTEXT_NAME, METRIC_MAX_ACTIVE_THREADS, Integer.toString(getUserMetrics().getMinActiveThreads())); >+ graphiteMetricsManager.addMetric(timestampInSeconds, CUMULATED_CONTEXT_NAME, METRIC_MEAN_ACTIVE_THREADS, Integer.toString(getUserMetrics().getMeanActiveThreads())); >+ graphiteMetricsManager.addMetric(timestampInSeconds, CUMULATED_CONTEXT_NAME, METRIC_STARTED_THREADS, Integer.toString(getUserMetrics().getStartedThreads())); >+ graphiteMetricsManager.addMetric(timestampInSeconds, CUMULATED_CONTEXT_NAME, METRIC_STOPPED_THREADS, Integer.toString(getUserMetrics().getFinishedThreads())); > >- pickleMetricsManager.writeAndSendMetrics(); >+ graphiteMetricsManager.writeAndSendMetrics(); > } > > > /** >+ * Add request metrics to metrics manager. >+ * Note if total number of requests is 0, no response time metrics are sent. > * @param timestampInSeconds long > * @param contextName String > * @param metric {@link SamplerMetric} > */ > private void addMetrics(long timestampInSeconds, String contextName, SamplerMetric metric) { >- pickleMetricsManager.addMetric(timestampInSeconds, contextName, METRIC_FAILED_REQUESTS, Integer.toString(metric.getFailures())); >- pickleMetricsManager.addMetric(timestampInSeconds, contextName, METRIC_SUCCESSFUL_REQUESTS, Integer.toString(metric.getSuccesses())); >- pickleMetricsManager.addMetric(timestampInSeconds, contextName, METRIC_TOTAL_REQUESTS, Integer.toString(metric.getTotal())); >- pickleMetricsManager.addMetric(timestampInSeconds, contextName, METRIC_MIN_RESPONSE_TIME, Double.toString(metric.getMinTime())); >- pickleMetricsManager.addMetric(timestampInSeconds, contextName, METRIC_MAX_RESPONSE_TIME, Double.toString(metric.getMaxTime())); >- for (Map.Entry<String, Float> entry : percentiles.entrySet()) { >- pickleMetricsManager.addMetric(timestampInSeconds, contextName, >- entry.getKey(), >- Double.toString(metric.getPercentile(entry.getValue().floatValue()))); >+ graphiteMetricsManager.addMetric(timestampInSeconds, contextName, METRIC_FAILED_REQUESTS, Integer.toString(metric.getFailures())); >+ graphiteMetricsManager.addMetric(timestampInSeconds, contextName, METRIC_SUCCESSFUL_REQUESTS, Integer.toString(metric.getSuccesses())); >+ graphiteMetricsManager.addMetric(timestampInSeconds, contextName, METRIC_TOTAL_REQUESTS, Integer.toString(metric.getTotal())); >+ // See https://issues.apache.org/bugzilla/show_bug.cgi?id=57350 >+ if(metric.getTotal() > 0) { >+ graphiteMetricsManager.addMetric(timestampInSeconds, contextName, METRIC_MIN_RESPONSE_TIME, Double.toString(metric.getMinTime())); >+ graphiteMetricsManager.addMetric(timestampInSeconds, contextName, METRIC_MAX_RESPONSE_TIME, Double.toString(metric.getMaxTime())); >+ for (Map.Entry<String, Float> entry : percentiles.entrySet()) { >+ graphiteMetricsManager.addMetric(timestampInSeconds, contextName, >+ entry.getKey(), >+ Double.toString(metric.getPercentile(entry.getValue().floatValue()))); >+ } > } > } > >@@ -171,7 +176,7 @@ > String graphiteMetricsSenderClass = context.getParameter("graphiteMetricsSender"); > > graphiteHost = context.getParameter("graphiteHost"); >- graphitePort = context.getIntParameter("graphitePort", DEFAULT_PICKLE_PORT); >+ graphitePort = context.getIntParameter("graphitePort", DEFAULT_PLAINTEXT_PROTOCOL_PORT); > summaryOnly = context.getBooleanParameter("summaryOnly", true); > samplersList = context.getParameter("samplersList", ""); > rootMetricsPrefix = context.getParameter("rootMetricsPrefix", DEFAULT_METRICS_PREFIX); >@@ -192,8 +197,8 @@ > } > } > Class<?> clazz = Class.forName(graphiteMetricsSenderClass); >- this.pickleMetricsManager = (GraphiteMetricsSender) clazz.newInstance(); >- pickleMetricsManager.setup(graphiteHost, graphitePort, rootMetricsPrefix); >+ this.graphiteMetricsManager = (GraphiteMetricsSender) clazz.newInstance(); >+ graphiteMetricsManager.setup(graphiteHost, graphitePort, rootMetricsPrefix); > String[] samplers = samplersList.split(SEPARATOR); > samplersToFilter = new HashSet<String>(); > for (String samplerName : samplers) { >@@ -220,7 +225,7 @@ > sendMetrics(); > > samplersToFilter.clear(); >- pickleMetricsManager.destroy(); >+ graphiteMetricsManager.destroy(); > super.teardownTest(context); > } > >@@ -229,7 +234,7 @@ > Arguments arguments = new Arguments(); > arguments.addArgument("graphiteMetricsSender", TextGraphiteMetricsSender.class.getName()); > arguments.addArgument("graphiteHost", ""); >- arguments.addArgument("graphitePort", Integer.toString(DEFAULT_PICKLE_PORT)); >+ arguments.addArgument("graphitePort", Integer.toString(DEFAULT_PLAINTEXT_PROTOCOL_PORT)); > arguments.addArgument("rootMetricsPrefix", DEFAULT_METRICS_PREFIX); > arguments.addArgument("summaryOnly", "true"); > arguments.addArgument("samplersList", ""); >Index: xdocs/usermanual/component_reference.xml >=================================================================== >--- xdocs/usermanual/component_reference.xml (revision 1645532) >+++ xdocs/usermanual/component_reference.xml (working copy) >@@ -3408,9 +3408,9 @@ > > <properties> > <property name="graphiteMetricsSender" required="Yes">org.apache.jmeter.visualizers.backend.graphite.TextGraphiteMetricsSender or org.apache.jmeter.visualizers.backend.graphite.PickleGraphiteMetricsSender</property> >- <property name="graphiteHost" required="Yes">Graphite or InfluxDB or CollectD server port</property> >- <property name="graphitePort" required="Yes">Graphite or InfluxDB or CollectD server port, defaults to 2003. Note PickleGraphiteMetricsSender can only talk to Graphite server.</property> >- <property name="rootMetricsPrefix" required="Yes">Prefix of metrics sent to backend. Defaults to ""jmeter."</property> >+ <property name="graphiteHost" required="Yes">Graphite or InfluxDB (with Graphite plugin enabled) or CollectD (with Graphite plugin enabled) server port</property> >+ <property name="graphitePort" required="Yes">Graphite or InfluxDB (with Graphite plugin enabled) or CollectD (with Graphite plugin enabled) server port, defaults to 2003. Note PickleGraphiteMetricsSender (port 2004) can only talk to Graphite server.</property> >+ <property name="rootMetricsPrefix" required="Yes">Prefix of metrics sent to backend. Defaults to "jmeter."</property> > <property name="summaryOnly" required="Yes">Only send a summary with no detail. Defaults to true.</property> > <property name="samplersList" required="Yes">Semicolon separated list of samplers for which you want to report metrics to backend.</property> > <property name="percentiles" required="Yes">The percentiles you want to send to backend. List must be semicolon separated.</property>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 57351
: 32292