1# Manual for bottleneck_report.py script 2 3## Script name and location 4 5| name | bottleneck_report.py | 6| location | VKGLCTS_ROOT/scripts/log | 7 8## Description 9 10The script parses qpa report file and produces an output containing three lists: 11 121. A list of single tests sorted descending by the duration of execution. On this list one can 13find exceptionally lenghty tests. 14 152. A list of groups of tests sorted descending by their total duration of execution. This list 16can be used to spot a groups that either contain a large amount of tests or multiple slow tests. 17 183. A list of groups of tests sorted descending by an average duration of the test in this group 19(a total duration of group divided by number of tests in the group). Presents groups containing 20slow tests. 21 22This script requires that qpa file contains tests timing data (one created with sufficiently new 23version of cts framework). 24 25## Usage 26 27`python path/to/bottleneck_report.py TESTLOG COUNT` 28 29`TESTLOG` - a fully qualified path to read-accessible qpa report file. 30`COUNT` - number of entries output in each section. 31 32## Example 33 34`python bottleneck_report.py c:\khronos\build\external\vulkancts\modules\vulkan\TestResults.qpa 5` 35 36Produces following output: 37 38``` 39The biggest tests time of execution 40Index Time Full name 411 624010 dEQP-VK.subgroups.ballot_other.subgroupballotfindmsb_tess_control 422 614621 dEQP-VK.subgroups.shuffle.subgroupshuffle_int_tess_control 433 549420 dEQP-VK.subgroups.quad.subgroupquadbroadcast_1_int_tess_control 444 532983 dEQP-VK.subgroups.ballot_other.subgroupballotinclusivebitcount_tess_control 455 524019 dEQP-VK.subgroups.quad.subgroupquadbroadcast_0_int_tess_control 46 47Groups Statistics 48Total time of execution: 758611214 49Number of executed tests: 4935 50 51The biggest total time of execution 52Index Time Test count Full name 531 324242753 2100 dEQP-VK.subgroups.arithmetic 542 137952758 980 dEQP-VK.subgroups.quad 553 124482580 700 dEQP-VK.subgroups.clustered 564 82749504 560 dEQP-VK.subgroups.shuffle 575 49100267 287 dEQP-VK.subgroups.ballot_broadcast 58 59The biggest time of execution per test 60Index Time Test count Avg. test time Full name 611 124482580 700 177832 dEQP-VK.subgroups.clustered 622 49100267 287 171081 dEQP-VK.subgroups.ballot_broadcast 633 324242753 2100 154401 dEQP-VK.subgroups.arithmetic 644 82749504 560 147766 dEQP-VK.subgroups.shuffle 655 1992289 14 142306 dEQP-VK.subgroups.shape 66``` 67