JustNatural
JustNatural

Reputation: 448

Display the aggregated TPS (Throughput) of children samplers at parent Transaction Controller level in the HTML Dashboard report

I have a Test Plan with multiple child Thread Groups;

Inside each thread group I have one parent Transaction Controller and a Constant Throughput Timer, trying to keep the total generated load of the Thread Group at 2 Transactions per second;

Underneath the transaction controller, I have 2 child Throughput Controllers: 1 trying to generate 8.1 % of the load and 1 trying to generate the remaining 91.9 % of the load;

Underneath each Throughput Controller, I have a child Random Controller which is supposed to make a random choice between 2 samplers underneath it;

Underneath each Random Controller, I have 2 samplers which are actually generating the requests.

When I run this in the GUI mode and I check the the Aggregate Report Listener I can see the Aggregated Throughput of all samplers running underneath the Transaction Controller and this is what I want.

enter image description here

enter image description here

My problem is that: When I run in CLI mode and generate the HTML Dashboard Report from the .jtl file, it is showing me the Transaction Controllers beside the actual samplers but it is not showing me the aggregated throughput of all child samplers per Transaction Controller (it is showing it as 0.00).

Screenshot: enter image description here

  1. Is this a bug?
  2. How could I work around this limitation and achieve my goal of showing an aggregated throughput per Transaction Controller in the dashboard report?

Thanks in advance!

Upvotes: 0

Views: 87

Answers (2)

JustNatural
JustNatural

Reputation: 448

Starting from @Dmitri's answer I managed to fix my problem. Thanks for pointing me in the right direction Dimitri!

The issue was caused by a wrong parameter in the command to run the script in CLI mode. It seems that that specific parameter was not creating .jtl file with all necessary things. I would have expected this command to not work at all if the .jtl file cannot be generated with all proper info to show a clean dashboard report, but it seems that is not the case. Not sure if this is a feature or a bug. :D

From my performance testing solution local root path I was using a separate .properties file to load some libraries into jmeter's classpath (and store some global variables outside of JMeter as well) and was using -p instead of -q to load that file and that meant that (quote from original answer) "-q defines an additional properties file to be read, whereas -p overrides the jmeter.properties file. Thus when using -p I was missing properties that were required to correctly generate the dashboard."

Problem command : (because I still needed some properties from the default jmeter.properties file from the JMeter instalation (I think :D))

jmeter -n -p .\config.properties -t .\path\to\script.jmx -l .\path\to\jtlFile.jtl

The solution was to use -q instead of -p as explianed by the user bcromarty in his reponse to this other issue which I did encounter once I tried to do the script running and report generation in one command as exemplified by Dmitri (See Solution 2).

Solution1: (2 commands: Run the script, generate the jtl file; Then Generate the dashboard report)

jmeter -n -q .\config.properties -t .\path\to\script.jmx -l .\path\to\jtlFile.jtl

Once this is done, it will generate the .jtl file as before, but now the .jtl file seems to have everything it needs to properly fill in the values.

jmeter -g .\path\to\jtlFile.jtl -o .\path\to\htmlDashboardReport

Solution2: (1 command: run the script, generate the jtl file and at the end generate the HTML report)

jmeter -n -q .\config.properties -t .\path\to\jmeterScriptFile.jmx -f -l .\path\to\jtlFile.jtl -e -o .\path\to\dashboard

Upvotes: 0

Dmitri T
Dmitri T

Reputation: 168092

I cannot reproduce it using JMeter 5.5 and configuration which is quite similar to your setup:

enter image description here

So I believe it's not a bug, most probably something is wrong with your JMeter Results File Configuration, try running a simplified version of your test using Debug Samplers on a clean JMeter installation with all the default properties and if you will get the same results as I do cross check any customizations you made to figure out which one is causing the behaviour you're not quite happy with.

Upvotes: 1

Related Questions