You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2016/09/10 09:28:16 UTC

svn commit: r1760140 - in /jmeter/trunk: bin/ src/core/org/apache/jmeter/report/processor/graph/ src/core/org/apache/jmeter/report/processor/graph/impl/ xdocs/ xdocs/usermanual/

Author: pmouawad
Date: Sat Sep 10 09:28:16 2016
New Revision: 1760140

URL: http://svn.apache.org/viewvc?rev=1760140&view=rev
Log:
Bug 60105 - Report / Dashboard : Report requires Transaction Controller "generate parent sample" option to be checked , fix related issues
Bugzilla Id: 60105

Added:
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/AbstractGraphValueSelector.java   (with props)
Modified:
    jmeter/trunk/bin/reportgenerator.properties
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/ConnectTimeValueSelector.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/CountValueSelector.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/ElapsedTimeValueSelector.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/LatencyValueSelector.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/SuccessfulElapsedTimeValueSelector.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/BytesThroughputGraphConsumer.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/CodesPerSecondGraphConsumer.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ConnectTimeOverTimeGraphConsumer.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/HitsPerSecondGraphConsumer.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/LatencyOverTimeGraphConsumer.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/LatencyVSRequestGraphConsumer.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeDistributionGraphConsumer.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeOverTimeGraphConsumer.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePerSampleGraphConsumer.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesGraphConsumer.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeVSRequestGraphConsumer.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/SyntheticResponseTimeDistributionGraphConsumer.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/TimeVSThreadGraphConsumer.java
    jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/TransactionsPerSecondGraphConsumer.java
    jmeter/trunk/xdocs/changes.xml
    jmeter/trunk/xdocs/usermanual/generating-dashboard.xml

Modified: jmeter/trunk/bin/reportgenerator.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/bin/reportgenerator.properties?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/bin/reportgenerator.properties (original)
+++ jmeter/trunk/bin/reportgenerator.properties Sat Sep 10 09:28:16 2016
@@ -82,6 +82,7 @@ jmeter.reportgenerator.graph.timeVsThrea
 # 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.exclude_controllers=true
 jmeter.reportgenerator.graph.bytesThroughputOverTime.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
 
 # Response Time Over Time graph definition
@@ -91,12 +92,13 @@ jmeter.reportgenerator.graph.responseTim
 
 # Percentiles Response Times over time
 jmeter.reportgenerator.graph.responseTimePercentilesOverTime.classname=org.apache.jmeter.report.processor.graph.impl.ResponseTimePercentilesOverTimeGraphConsumer
-jmeter.reportgenerator.graph.responseTimePercentilesOverTime.title Response Time Percentiles Over Time
+jmeter.reportgenerator.graph.responseTimePercentilesOverTime.title Response Time Percentiles Over Time (successful requests only)
 jmeter.reportgenerator.graph.responseTimePercentilesOverTime.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
 
 # Synthetic Response Time Distribution
 jmeter.reportgenerator.graph.syntheticResponseTimeDistribution.classname=org.apache.jmeter.report.processor.graph.impl.SyntheticResponseTimeDistributionGraphConsumer
 jmeter.reportgenerator.graph.syntheticResponseTimeDistribution.title=Synthetic Response Times Distribution
+jmeter.reportgenerator.graph.syntheticResponseTimeDistribution.exclude_controllers=true
 jmeter.reportgenerator.graph.syntheticResponseTimeDistribution.property.set_satified_threshold=${jmeter.reportgenerator.apdex_satisfied_threshold}
 jmeter.reportgenerator.graph.syntheticResponseTimeDistribution.property.set_tolerated_threshold=${jmeter.reportgenerator.apdex_tolerated_threshold}
 

Added: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/AbstractGraphValueSelector.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/AbstractGraphValueSelector.java?rev=1760140&view=auto
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/AbstractGraphValueSelector.java (added)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/AbstractGraphValueSelector.java Sat Sep 10 09:28:16 2016
@@ -0,0 +1,44 @@
+/*
+ * 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.processor.graph;
+
+import org.apache.jmeter.control.TransactionController;
+import org.apache.jmeter.samplers.SampleResult;
+
+/**
+ * Base class allowing to select wether we ignore or not TC Sample Results
+ */
+abstract class AbstractGraphValueSelector implements GraphValueSelector {
+    private boolean ignoreTransactionController;
+
+    /**
+     * 
+     * @param ignoreTransactionController boolean ignore {@link SampleResult} generated by {@link TransactionController}
+     */
+    public AbstractGraphValueSelector(boolean ignoreTransactionController) {
+       super();
+       this.ignoreTransactionController = ignoreTransactionController;
+    }
+
+    /**
+     * @return the ignoreTransactionController
+     */
+    protected boolean isIgnoreTransactionController() {
+        return ignoreTransactionController;
+    }
+}

Propchange: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/AbstractGraphValueSelector.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/ConnectTimeValueSelector.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/ConnectTimeValueSelector.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/ConnectTimeValueSelector.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/ConnectTimeValueSelector.java Sat Sep 10 09:28:16 2016
@@ -25,7 +25,15 @@ import org.apache.jmeter.report.core.Sam
  *
  * @since 3.1
  */
-public class ConnectTimeValueSelector implements GraphValueSelector {
+public class ConnectTimeValueSelector extends AbstractGraphValueSelector {
+    
+    /**
+     * @param ignoreTransactionController  boolean ignore {@link SampleResult} generated by {@link TransactionController}
+     */
+    public ConnectTimeValueSelector(boolean ignoreTransactionController) {
+        super(ignoreTransactionController);
+    }
+
     /*
      * (non-Javadoc)
      * 
@@ -34,12 +42,17 @@ public class ConnectTimeValueSelector im
      * .lang.String, java.lang.Object, org.apache.jmeter.report.csv.core.Sample)
      */
     @Override
-    public Double select(String series, Sample sample) {
-        if(!sample.isEmptyController()) {
-            return Double.valueOf(sample.getConnectTime());
+    public Double select(String series, Sample sample) {        
+        if(isIgnoreTransactionController()) {
+            if(!sample.isController()) {
+                return Double.valueOf(sample.getConnectTime());
+            }
         } else {
-            return null;
+            if(!sample.isEmptyController()) {
+                return Double.valueOf(sample.getConnectTime());
+            }
         }
+        return null;
     }
 
 }

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/CountValueSelector.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/CountValueSelector.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/CountValueSelector.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/CountValueSelector.java Sat Sep 10 09:28:16 2016
@@ -17,30 +17,44 @@
  */
 package org.apache.jmeter.report.processor.graph;
 
+import org.apache.jmeter.control.TransactionController;
 import org.apache.jmeter.report.core.Sample;
+import org.apache.jmeter.samplers.SampleResult;
 
 /**
  * The class CountValueSelector provides a projection to count samples.
  *
  * @since 3.0
  */
-public class CountValueSelector implements GraphValueSelector {
+public class CountValueSelector extends AbstractGraphValueSelector {
     private static final Double ONE = Double.valueOf(1.0d);
     private static final Double ZERO = Double.valueOf(0.0d);
-    /*
-     * (non-Javadoc)
+    
+    /**
      * 
+     * @param ignoreTransactionController boolean ignore {@link SampleResult} generated by {@link TransactionController}
+     */
+    public CountValueSelector(boolean ignoreTransactionController) {
+       super(ignoreTransactionController);
+    }
+    
+    /**
      * @see
      * org.apache.jmeter.report.csv.processor.GraphValueSelector#select(java
      * .lang.String, java.lang.Object, org.apache.jmeter.report.csv.core.Sample)
      */
     @Override
     public Double select(String series, Sample sample) {
-        if(!sample.isEmptyController()) {
-            return ONE;
+        if(isIgnoreTransactionController()) {
+            if(!sample.isController()) {
+                return ONE;
+            }
         } else {
-            return ZERO;
+            if(!sample.isEmptyController()) {
+                return ONE;
+            }            
         }
+        return ZERO;
     }
 
 }

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/ElapsedTimeValueSelector.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/ElapsedTimeValueSelector.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/ElapsedTimeValueSelector.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/ElapsedTimeValueSelector.java Sat Sep 10 09:28:16 2016
@@ -17,7 +17,9 @@
  */
 package org.apache.jmeter.report.processor.graph;
 
+import org.apache.jmeter.control.TransactionController;
 import org.apache.jmeter.report.core.Sample;
+import org.apache.jmeter.samplers.SampleResult;
 
 /**
  * The class ElapsedTimeValueSelector provides a projection from a sample to its
@@ -25,8 +27,15 @@ import org.apache.jmeter.report.core.Sam
  *
  * @since 3.0
  */
-public class ElapsedTimeValueSelector implements GraphValueSelector {
-
+public class ElapsedTimeValueSelector extends AbstractGraphValueSelector {
+    
+    /**
+     * @param ignoreTransactionController boolean ignore {@link SampleResult} generated by {@link TransactionController}
+     */
+    public ElapsedTimeValueSelector(boolean ignoreTransactionController) {
+        super(ignoreTransactionController);
+    }
+    
     /*
      * (non-Javadoc)
      * 
@@ -36,11 +45,15 @@ public class ElapsedTimeValueSelector im
      */
     @Override
     public Double select(String series, Sample sample) {
-        if(!sample.isEmptyController()) {
-            return Double.valueOf(sample.getElapsedTime());
+        if(isIgnoreTransactionController()) {
+            if(!sample.isController()) {
+                return Double.valueOf(sample.getElapsedTime());
+            }
         } else {
-            return null;
+            if(!sample.isEmptyController()) {
+                return Double.valueOf(sample.getElapsedTime());
+            }            
         }
+        return null;
     }
-
 }

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/LatencyValueSelector.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/LatencyValueSelector.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/LatencyValueSelector.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/LatencyValueSelector.java Sat Sep 10 09:28:16 2016
@@ -25,7 +25,14 @@ import org.apache.jmeter.report.core.Sam
  *
  * @since 3.0
  */
-public class LatencyValueSelector implements GraphValueSelector {
+public class LatencyValueSelector extends AbstractGraphValueSelector {
+
+    /**
+     * @param ignoreTransactionController boolean ignore {@link SampleResult} generated by {@link TransactionController}
+     */
+    public LatencyValueSelector(boolean ignoreTransactionController) {
+        super(ignoreTransactionController);
+    }
 
     /*
      * (non-Javadoc)
@@ -35,12 +42,17 @@ public class LatencyValueSelector implem
      * .lang.String, java.lang.Object, org.apache.jmeter.report.csv.core.Sample)
      */
     @Override
-    public Double select(String series, Sample sample) {
-        if(!sample.isEmptyController()) {
-            return Double.valueOf(sample.getLatency());
+    public Double select(String series, Sample sample) {        
+        if(isIgnoreTransactionController()) {
+            if(!sample.isController()) {
+                return Double.valueOf(sample.getLatency());
+            }
         } else {
-            return null;
+            if(!sample.isEmptyController()) {
+                return Double.valueOf(sample.getLatency());
+            }
         }
+        return null;
     }
 
 }

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/SuccessfulElapsedTimeValueSelector.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/SuccessfulElapsedTimeValueSelector.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/SuccessfulElapsedTimeValueSelector.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/SuccessfulElapsedTimeValueSelector.java Sat Sep 10 09:28:16 2016
@@ -28,13 +28,20 @@ import org.apache.jmeter.report.core.Sam
 public class SuccessfulElapsedTimeValueSelector extends ElapsedTimeValueSelector {
 
     /**
+     * 
+     */
+    public SuccessfulElapsedTimeValueSelector() {
+        super(true);
+    }
+
+    /**
      * @see
      * org.apache.jmeter.report.csv.processor.GraphValueSelector#select(java
      * .lang.String, java.lang.Object, org.apache.jmeter.report.csv.core.Sample)
      */
     @Override
     public Double select(String series, Sample sample) {
-        if(!sample.isEmptyController() && sample.getSuccess()) {
+        if(!sample.isController() && sample.getSuccess()) {
             return Double.valueOf(sample.getElapsedTime());
         } else {
             return null;

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/BytesThroughputGraphConsumer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/BytesThroughputGraphConsumer.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/BytesThroughputGraphConsumer.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/BytesThroughputGraphConsumer.java Sat Sep 10 09:28:16 2016
@@ -78,7 +78,8 @@ public class BytesThroughputGraphConsume
 
                     @Override
                     public Double select(String series, Sample sample) {
-                        if(!sample.isEmptyController()) {
+                        // We ignore Transaction Controller results
+                        if(!sample.isController()) {
                             return Double.valueOf(
                                 (RECEIVED_BYTES_SERIES_LABEL.equals(series)) ? sample
                                 .getReceivedBytes() : sample.getSentBytes());

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/CodesPerSecondGraphConsumer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/CodesPerSecondGraphConsumer.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/CodesPerSecondGraphConsumer.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/CodesPerSecondGraphConsumer.java Sat Sep 10 09:28:16 2016
@@ -61,7 +61,8 @@ public class CodesPerSecondGraphConsumer
         HashMap<String, GroupInfo> groupInfos = new HashMap<>(1);
         groupInfos.put(AbstractGraphConsumer.DEFAULT_GROUP, new GroupInfo(
                 new TimeRateAggregatorFactory(), new CodeSeriesSelector(),
-                new CountValueSelector(), false, false));
+                // We ignore Transaction Controller results
+                new CountValueSelector(true), false, false));
         return groupInfos;
     }
 

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ConnectTimeOverTimeGraphConsumer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ConnectTimeOverTimeGraphConsumer.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ConnectTimeOverTimeGraphConsumer.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ConnectTimeOverTimeGraphConsumer.java Sat Sep 10 09:28:16 2016
@@ -68,7 +68,8 @@ public class ConnectTimeOverTimeGraphCon
         HashMap<String, GroupInfo> groupInfos = new HashMap<>();
         groupInfos.put(AbstractGraphConsumer.DEFAULT_GROUP, new GroupInfo(
                 new MeanAggregatorFactory(), new NameSeriesSelector(),
-                new ConnectTimeValueSelector(), false, false));
+                // We ignore Transaction Controller results
+                new ConnectTimeValueSelector(false), false, false));
         return groupInfos;
     }
 }

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/HitsPerSecondGraphConsumer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/HitsPerSecondGraphConsumer.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/HitsPerSecondGraphConsumer.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/HitsPerSecondGraphConsumer.java Sat Sep 10 09:28:16 2016
@@ -61,7 +61,8 @@ public class HitsPerSecondGraphConsumer
         HashMap<String, GroupInfo> groupInfos = new HashMap<>(1);
         groupInfos.put(AbstractGraphConsumer.DEFAULT_GROUP, new GroupInfo(
                 new TimeRateAggregatorFactory(), new StaticSeriesSelector(),
-                new CountValueSelector(), false, false));
+                // We ignore Transaction Controller results
+                new CountValueSelector(true), false, false));
         return groupInfos;
     }
 

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/LatencyOverTimeGraphConsumer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/LatencyOverTimeGraphConsumer.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/LatencyOverTimeGraphConsumer.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/LatencyOverTimeGraphConsumer.java Sat Sep 10 09:28:16 2016
@@ -61,7 +61,8 @@ public class LatencyOverTimeGraphConsume
         HashMap<String, GroupInfo> groupInfos = new HashMap<>();
         groupInfos.put(AbstractGraphConsumer.DEFAULT_GROUP, new GroupInfo(
                 new MeanAggregatorFactory(), new NameSeriesSelector(),
-                new LatencyValueSelector(), false, false));
+                // We ignore Transaction Controller results
+                new LatencyValueSelector(false), false, false));
         return groupInfos;
     }
 }

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/LatencyVSRequestGraphConsumer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/LatencyVSRequestGraphConsumer.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/LatencyVSRequestGraphConsumer.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/LatencyVSRequestGraphConsumer.java Sat Sep 10 09:28:16 2016
@@ -30,7 +30,7 @@ import org.apache.jmeter.report.processo
 import org.apache.jmeter.report.processor.graph.StatusSeriesSelector;
 
 /**
- * The class ResponseTimeVSRequestGraphConsumer provides a graph to visualize
+ * The class LatencyVSRequestGraphConsumer provides a graph to visualize
  * latency vs requests
  *
  * @since 3.0
@@ -67,7 +67,8 @@ public class LatencyVSRequestGraphConsum
         HashMap<String, GroupInfo> groupInfos = new HashMap<>(1);
         groupInfos.put(AbstractGraphConsumer.DEFAULT_GROUP, new GroupInfo(
                 new MedianAggregatorFactory(), new StatusSeriesSelector(),
-                new LatencyValueSelector(), false, false));
+                // We ignore Transaction Controller results
+                new LatencyValueSelector(true), false, false));
         return groupInfos;
     }
 }

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeDistributionGraphConsumer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeDistributionGraphConsumer.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeDistributionGraphConsumer.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeDistributionGraphConsumer.java Sat Sep 10 09:28:16 2016
@@ -90,7 +90,8 @@ public class ResponseTimeDistributionGra
 
         groupInfos.put(AbstractGraphConsumer.DEFAULT_GROUP, new GroupInfo(
                 new SumAggregatorFactory(), new NameSeriesSelector(),
-                new CountValueSelector(), false, false));
+                // We include Transaction Controller results
+                new CountValueSelector(false), false, false));
 
         return groupInfos;
     }
@@ -106,6 +107,5 @@ public class ResponseTimeDistributionGra
         parentResult.setResult(
                 AbstractOverTimeGraphConsumer.RESULT_CTX_GRANULARITY,
                 new ValueResultData(Long.valueOf(granularity)));
-
     }
 }

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeOverTimeGraphConsumer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeOverTimeGraphConsumer.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeOverTimeGraphConsumer.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeOverTimeGraphConsumer.java Sat Sep 10 09:28:16 2016
@@ -62,7 +62,8 @@ public class ResponseTimeOverTimeGraphCo
         HashMap<String, GroupInfo> groupInfos = new HashMap<>(1);
         groupInfos.put(AbstractGraphConsumer.DEFAULT_GROUP, new GroupInfo(
                 new MeanAggregatorFactory(), new NameSeriesSelector(),
-                new ElapsedTimeValueSelector(), false, false));
+                // We include Transaction Controller results
+                new ElapsedTimeValueSelector(false), false, false));
         return groupInfos;
     }
 }

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePerSampleGraphConsumer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePerSampleGraphConsumer.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePerSampleGraphConsumer.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePerSampleGraphConsumer.java Sat Sep 10 09:28:16 2016
@@ -80,7 +80,8 @@ public class ResponseTimePerSampleGraphC
                 RESPONSE_TIME_PER_SAMPLE_SERIES_FORMAT, Integer.valueOf(property)));
 
         return new GroupInfo(factory, seriesSelector,
-                new ElapsedTimeValueSelector(), false, false);
+                // We include Transaction Controller results
+                new ElapsedTimeValueSelector(false), false, false);
     }
 
     /*

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesGraphConsumer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesGraphConsumer.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesGraphConsumer.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimePercentilesGraphConsumer.java Sat Sep 10 09:28:16 2016
@@ -73,7 +73,8 @@ public class ResponseTimePercentilesGrap
 
         groupInfos.put(AbstractGraphConsumer.DEFAULT_GROUP, new GroupInfo(
                 new SumAggregatorFactory(), new NameSeriesSelector(),
-                new CountValueSelector(), false, false));
+                // We include Transaction Controller results
+                new CountValueSelector(false), false, false));
 
         return groupInfos;
     }

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeVSRequestGraphConsumer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeVSRequestGraphConsumer.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeVSRequestGraphConsumer.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/ResponseTimeVSRequestGraphConsumer.java Sat Sep 10 09:28:16 2016
@@ -66,7 +66,8 @@ public class ResponseTimeVSRequestGraphC
         HashMap<String, GroupInfo> groupInfos = new HashMap<>(1);
         groupInfos.put(AbstractGraphConsumer.DEFAULT_GROUP, new GroupInfo(
                 new MedianAggregatorFactory(), new StatusSeriesSelector(),
-                new ElapsedTimeValueSelector(), false, false));
+                // We ignore Transaction Controller results
+                new ElapsedTimeValueSelector(true), false, false));
         return groupInfos;
     }
 }

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/SyntheticResponseTimeDistributionGraphConsumer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/SyntheticResponseTimeDistributionGraphConsumer.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/SyntheticResponseTimeDistributionGraphConsumer.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/SyntheticResponseTimeDistributionGraphConsumer.java Sat Sep 10 09:28:16 2016
@@ -107,7 +107,8 @@ public class SyntheticResponseTimeDistri
         SyntheticSeriesSelector syntheticSeriesSelector = new SyntheticSeriesSelector();
         groupInfos.put(AbstractGraphConsumer.DEFAULT_GROUP, new GroupInfo(
                 new SumAggregatorFactory(), syntheticSeriesSelector,
-                new CountValueSelector(), false, false));
+                // We ignore Transaction Controller results
+                new CountValueSelector(true), false, false));
 
         return groupInfos;
     }

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/TimeVSThreadGraphConsumer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/TimeVSThreadGraphConsumer.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/TimeVSThreadGraphConsumer.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/TimeVSThreadGraphConsumer.java Sat Sep 10 09:28:16 2016
@@ -66,7 +66,8 @@ public class TimeVSThreadGraphConsumer e
 
         groupInfos.put(AbstractGraphConsumer.DEFAULT_GROUP, new GroupInfo(
                 new MeanAggregatorFactory(), new NameSeriesSelector(),
-                new ElapsedTimeValueSelector(), false, true));
+                // We include Transaction Controller results
+                new ElapsedTimeValueSelector(false), false, true));
 
         return groupInfos;
     }

Modified: jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/TransactionsPerSecondGraphConsumer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/TransactionsPerSecondGraphConsumer.java?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/TransactionsPerSecondGraphConsumer.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/report/processor/graph/impl/TransactionsPerSecondGraphConsumer.java Sat Sep 10 09:28:16 2016
@@ -78,7 +78,9 @@ public class TransactionsPerSecondGraphC
                                         : FAILURE_SERIES_SUFFIX);
                         return Arrays.asList(label);
                     }
-                }, new CountValueSelector(), false, false));
+                },
+                // We include Transaction Controller results
+                new CountValueSelector(false), false, false));
         return groupInfos;
     }
 

Modified: jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
+++ jmeter/trunk/xdocs/changes.xml [utf-8] Sat Sep 10 09:28:16 2016
@@ -210,6 +210,7 @@ Summary
     <li><bug>60089</bug>Report / Dashboard : Bytes throughput Over Time has reversed Sent and Received bytes. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
     <li><bug>60090</bug>Report / Dashboard : Empty Transaction Controller should not count in metrics</li>
     <li><bug>60103</bug>Report / Dashboard : Requests summary includes Transaction Controller leading to wrong percentage</li>
+    <li><bug>60105</bug>Report / Dashboard : Report requires Transaction Controller "generate parent sample" option to be checked , fix related issues</li>
 </ul>
 
  <!--  =================== Thanks =================== -->

Modified: jmeter/trunk/xdocs/usermanual/generating-dashboard.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/generating-dashboard.xml?rev=1760140&r1=1760139&r2=1760140&view=diff
==============================================================================
--- jmeter/trunk/xdocs/usermanual/generating-dashboard.xml (original)
+++ jmeter/trunk/xdocs/usermanual/generating-dashboard.xml Sat Sep 10 09:28:16 2016
@@ -33,18 +33,18 @@
                     <li>An error table providing a summary of all errors and their proportion in the total requests : <figure width="1344" height="455" image="dashboard/report_errors.png" ></figure></li>
                     <li>Zoomable chart where you can check/uncheck every transaction to show/hide it for:
                         <ul>
-                            <li>Response times Over Time : <figure width="1398" height="566" image="dashboard/report_response_times_over_time.png" ></figure></li>
-                            <li>Bytes throughput Over Time : <figure width="1373" height="543" image="dashboard/report_bytes_throughput_over_time.png" ></figure></li>
-                            <li>Latencies Over Time : <figure width="1373" height="547" image="dashboard/report_latencies_over_time.png" ></figure></li>
-                            <li>Hits per second : <figure width="1375" height="552" image="dashboard/report_hits_per_second.png" ></figure></li>
-                            <li>Response codes per second : <figure width="1380" height="558" image="dashboard/report_codes_per_second.png" ></figure></li>
-                            <li>Transactions per second : <figure width="1372" height="577" image="dashboard/report_transactions_per_second.png" ></figure></li>
-                            <li>Response Time vs Request per second : <figure width="1380" height="545" image="dashboard/report_response_time_vs_request.png" ></figure></li>
-                            <li>Latency vs Request per second : <figure width="1373" height="543" image="dashboard/report_latencies_vs_request.png" ></figure></li>
-                            <li>Response times percentiles : <figure width="1374" height="551" image="dashboard/report_response_time_percentiles.png" ></figure></li>
+                            <li>Response times Over Time (Includes Transaction Controller Sample Results) : <figure width="1398" height="566" image="dashboard/report_response_times_over_time.png" ></figure></li>
+                            <li>Bytes throughput Over Time (Ignores Transaction Controller Sample Results)  : <figure width="1373" height="543" image="dashboard/report_bytes_throughput_over_time.png" ></figure></li>
+                            <li>Latencies Over Time (Includes Transaction Controller Sample Results) : <figure width="1373" height="547" image="dashboard/report_latencies_over_time.png" ></figure></li>
+                            <li>Hits per second (Ignores Transaction Controller Sample Results): <figure width="1375" height="552" image="dashboard/report_hits_per_second.png" ></figure></li>
+                            <li>Response codes per second (Ignores Transaction Controller Sample Results): <figure width="1380" height="558" image="dashboard/report_codes_per_second.png" ></figure></li>
+                            <li>Transactions per second (Includes Transaction Controller Sample Results): <figure width="1372" height="577" image="dashboard/report_transactions_per_second.png" ></figure></li>
+                            <li>Response Time vs Request per second (Ignores Transaction Controller Sample Results): <figure width="1380" height="545" image="dashboard/report_response_time_vs_request.png" ></figure></li>
+                            <li>Latency vs Request per second (Ignores Transaction Controller Sample Results): <figure width="1373" height="543" image="dashboard/report_latencies_vs_request.png" ></figure></li>
+                            <li>Response times percentiles (Includes Transaction Controller Sample Results): <figure width="1374" height="551" image="dashboard/report_response_time_percentiles.png" ></figure></li>
                             <li>Active Threads Over Time : <figure width="1370" height="542" image="dashboard/report_active_threads_over_time.png" ></figure></li>
-                            <li>Times vs Threads : <figure width="1373" height="567" image="dashboard/report_time_vs_threads.png" ></figure></li>
-                            <li>Response Time Distribution : <figure width="1373" height="549" image="dashboard/report_response_time_distribution.png" ></figure></li>
+                            <li>Times vs Threads (Includes Transaction Controller Sample Results): <figure width="1373" height="567" image="dashboard/report_time_vs_threads.png" ></figure></li>
+                            <li>Response Time Distribution (Includes Transaction Controller Sample Results): <figure width="1373" height="549" image="dashboard/report_response_time_distribution.png" ></figure></li>
                         </ul>
                     </li>
                 </ul>
@@ -85,6 +85,11 @@ jmeter.save.saveservice.timestamp_format
                             The input CSV file must include the timeStamp
                         </note>
                         <note>
+                        To ensure most accurate results, if you use a transaction controller, uncheck the box:
+                        <code>Generate parent sample</code>
+                        <figure image="transactioncontroller.png"></figure>
+                        </note>
+                        <note>
                             The "<code>Errors</code>" summary table shows more
                             accurate data if these settings are fulfilled:
                             <ul>