Bug 60149 - Report / Dashboard : If granularity is below 1 sec, the Throughput graphs will be incorrect
Summary: Report / Dashboard : If granularity is below 1 sec, the Throughput graphs wil...
Status: NEW
Alias: None
Product: JMeter
Classification: Unclassified
Component: Main (show other bugs)
Version: 3.0
Hardware: PC All
: P2 enhancement with 2 votes (vote)
Target Milestone: ---
Assignee: JMeter issues mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-09-19 15:09 UTC by Tamas Szabadi
Modified: 2018-11-01 14:45 UTC (History)
1 user (show)



Attachments
jmeter log, TPS graph generated by the reporting dashboard (76.14 KB, application/x-zip-compressed)
2016-09-19 15:09 UTC, Tamas Szabadi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tamas Szabadi 2016-09-19 15:09:24 UTC
Created attachment 34274 [details]
jmeter log, TPS graph generated by the reporting dashboard

When the granularity is set below 1 second, the TPS and the other throughput graphs will be incorrect. For example if the granularity is 500ms, the TPS will be doubled on the graph.

Steps to reproduce:
1. Set jmeter.reportgenerator.overall_granularity = 500
2. Run some tests (the attached example runs a TCP Sampler based custom sampler for the EPP protocol) with Reporting dashboard generated.

Here you can see in the jmeter log (attached) the average TPS:

...
2016/09/19 05:24:00 INFO  - jmeter.reporters.Summariser: summary +  33000 in 00:00:26 = 1246.7/s Avg:    53 Min:    30 Max:   118 Err:     0 (0.00%) Active: 70 Started: 70 Finished: 0 
2016/09/19 05:24:00 INFO  - jmeter.reporters.Summariser: summary =  33003 in 00:00:37 =  890.0/s Avg:    53 Min:    30 Max:   118 Err:     0 (0.00%) 
2016/09/19 05:24:30 INFO  - jmeter.reporters.Summariser: summary +  37300 in 00:00:30 = 1244.5/s Avg:    55 Min:    30 Max:   200 Err:     0 (0.00%) Active: 70 Started: 70 Finished: 0 
2016/09/19 05:24:30 INFO  - jmeter.reporters.Summariser: summary =  70303 in 00:01:07 = 1048.5/s Avg:    54 Min:    30 Max:   200 Err:     0 (0.00%) 
2016/09/19 05:25:00 INFO  - jmeter.reporters.Summariser: summary +  37200 in 00:00:30 = 1237.2/s Avg:    55 Min:    30 Max:   165 Err:     0 (0.00%) Active: 70 Started: 70 Finished: 0 
2016/09/19 05:25:00 INFO  - jmeter.reporters.Summariser: summary = 107503 in 00:01:37 = 1106.9/s Avg:    54 Min:    30 Max:   200 Err:     0 (0.00%)  
...

3. Wait for the tests to finish and check the Transaction Per Second graph in the generated Reporting Dashboard

Expected results:
The same result should be in the dashboard report, around 1200 TPS.

Actual results:
The actual result in the graph seems to be doubled, around 2400 TPS.

Additional information:

- The full generated dashboard or the test result was above the 1MB limit, but I can send if it would be helpful. Right now I attached the jmeter.log and the TPS graph image.
- If I set the granularity to above or equal to 1 second, the graph will be correct, so this is what I am doing currently.
Comment 1 Philippe Mouawad 2016-09-19 15:15:23 UTC
Hello,
Could you provide an overview of your test plan structure ?
Could you test with nighlty build which has many fixes on report/dashboard ?

If possible could you provide a simple test plan using java request with sleep time so that we can easily work on issue ?

Thanks
Comment 2 Philippe Mouawad 2016-09-19 20:17:23 UTC
Hello,
I investigated the problem.
Computing is ok, the issue is that the /sec graphs don't expect granularity below 1sec.
The doubling you see is due to the fact that computation is made for 0.5 sec , that's why you see it double.

We have 2 ways to fix this:
- Either adapt graph to change axis labels, title ...
- Or forbid granularity to be under 1 second

@Team, thoughts on that ?
Thanks
Comment 3 Philippe Mouawad 2018-11-01 14:45:29 UTC
I think for now we should reject value lower than 1s.
Moving to enhancement