Search code examples
jmeterreportperformance-testingreporting

How to visually group children samples under the Transaction controller's parent sample in the JMeter Dashboard report Statistics table?


Using JMeter 5.5, I recorded some webpage loads under Transaction controllers with the "Generate parent sample" checkbox being checked and I logically grouped them by action (like NavigateToHomePage, NavaigateToFAQPage etc).

When I run the test and generate the dashboard report, in the Statistics table, I see all samples results statistics grouped per Parent and children which is good, but they are visually displayed at the same level - Parent and children. I would like to have a better insight to be able to tell which children belong to which parent samples.

Is there any way to visually display the children samples under the Parent samples in the statistics table of the JMeter dashboard report?

Example:

Parent sample NavigateToHomePage (Aggregated statistics at parent sample level):

  • Child sample a1 statistics
  • Child sample a2 statistics
  • Child sample a3 statistics

Parent sample NavaigateToFAQPage (Aggregated statistics at parent sample level):

  • Child sample b1 statistics
  • Child sample b2 statistics
  • Child sample b3 statistics

Thanks in advance!


Solution

  • It's not possible, at least not with JMeter 5.5 and not out of the box.

    You might want to inspect report-template folder (lives in "bin" folder of your JMeter installation) and implement the changes you need there (you will need to get familiarized with Apache FreeMarker)

    In general I don't think you're doing the right stuff, from my very limited understanding of how JMeter works you're supposed to:

    1. Apply Naming Policy so your sub-samplers would look like:

      • Transaction_Controller_Label-0
      • Transaction_Controller_Label-1
      • etc.

      enter image description here

    2. Export the transaction name(s) for the HTML Reporting Dashboard by generating appropriate value for the jmeter.reportgenerator.exporter.html.series_filter property

      enter image description here

    This way you will have only one "parent" transaction in the HTML report and proper calculation of throughput.

    If having tree-like output for the top-level transactions and individual sub results is a must for you the fastest and the easiest way is using Backend Listener and coming up with a Grafana dashboard displaying what you need how you need, it would be way faster and easier than amending FreeMarker templates