xref: /aosp_15_r20/external/deqp/scripts/log/README.md (revision 35238bce31c2a825756842865a792f8cf7f89930)
1*35238bceSAndroid Build Coastguard Worker# Manual for bottleneck_report.py script
2*35238bceSAndroid Build Coastguard Worker
3*35238bceSAndroid Build Coastguard Worker## Script name and location
4*35238bceSAndroid Build Coastguard Worker
5*35238bceSAndroid Build Coastguard Worker| name     | bottleneck_report.py     |
6*35238bceSAndroid Build Coastguard Worker| location | VKGLCTS_ROOT/scripts/log |
7*35238bceSAndroid Build Coastguard Worker
8*35238bceSAndroid Build Coastguard Worker## Description
9*35238bceSAndroid Build Coastguard Worker
10*35238bceSAndroid Build Coastguard WorkerThe script parses qpa report file and produces an output containing three lists:
11*35238bceSAndroid Build Coastguard Worker
12*35238bceSAndroid Build Coastguard Worker1. A list of single tests sorted descending by the duration of execution. On this list one can
13*35238bceSAndroid Build Coastguard Workerfind exceptionally lenghty tests.
14*35238bceSAndroid Build Coastguard Worker
15*35238bceSAndroid Build Coastguard Worker2. A list of groups of tests sorted descending by their total duration of execution. This list
16*35238bceSAndroid Build Coastguard Workercan be used to spot a groups that either contain a large amount of tests or multiple slow tests.
17*35238bceSAndroid Build Coastguard Worker
18*35238bceSAndroid Build Coastguard Worker3. A list of groups of tests sorted descending by an average duration of the test in this group
19*35238bceSAndroid Build Coastguard Worker(a total duration of group divided by number of tests in the group). Presents groups containing
20*35238bceSAndroid Build Coastguard Workerslow tests.
21*35238bceSAndroid Build Coastguard Worker
22*35238bceSAndroid Build Coastguard WorkerThis script requires that qpa file contains tests timing data (one created with sufficiently new
23*35238bceSAndroid Build Coastguard Workerversion of cts framework).
24*35238bceSAndroid Build Coastguard Worker
25*35238bceSAndroid Build Coastguard Worker## Usage
26*35238bceSAndroid Build Coastguard Worker
27*35238bceSAndroid Build Coastguard Worker`python path/to/bottleneck_report.py TESTLOG COUNT`
28*35238bceSAndroid Build Coastguard Worker
29*35238bceSAndroid Build Coastguard Worker`TESTLOG` - a fully qualified path to read-accessible qpa report file.
30*35238bceSAndroid Build Coastguard Worker`COUNT` - number of entries output in each section.
31*35238bceSAndroid Build Coastguard Worker
32*35238bceSAndroid Build Coastguard Worker## Example
33*35238bceSAndroid Build Coastguard Worker
34*35238bceSAndroid Build Coastguard Worker`python bottleneck_report.py c:\khronos\build\external\vulkancts\modules\vulkan\TestResults.qpa 5`
35*35238bceSAndroid Build Coastguard Worker
36*35238bceSAndroid Build Coastguard WorkerProduces following output:
37*35238bceSAndroid Build Coastguard Worker
38*35238bceSAndroid Build Coastguard Worker```
39*35238bceSAndroid Build Coastguard WorkerThe biggest tests time of execution
40*35238bceSAndroid Build Coastguard WorkerIndex	Time		Full name
41*35238bceSAndroid Build Coastguard Worker1		624010		dEQP-VK.subgroups.ballot_other.subgroupballotfindmsb_tess_control
42*35238bceSAndroid Build Coastguard Worker2		614621		dEQP-VK.subgroups.shuffle.subgroupshuffle_int_tess_control
43*35238bceSAndroid Build Coastguard Worker3		549420		dEQP-VK.subgroups.quad.subgroupquadbroadcast_1_int_tess_control
44*35238bceSAndroid Build Coastguard Worker4		532983		dEQP-VK.subgroups.ballot_other.subgroupballotinclusivebitcount_tess_control
45*35238bceSAndroid Build Coastguard Worker5		524019		dEQP-VK.subgroups.quad.subgroupquadbroadcast_0_int_tess_control
46*35238bceSAndroid Build Coastguard Worker
47*35238bceSAndroid Build Coastguard WorkerGroups Statistics
48*35238bceSAndroid Build Coastguard WorkerTotal time of execution: 758611214
49*35238bceSAndroid Build Coastguard WorkerNumber of executed tests: 4935
50*35238bceSAndroid Build Coastguard Worker
51*35238bceSAndroid Build Coastguard WorkerThe biggest total time of execution
52*35238bceSAndroid Build Coastguard WorkerIndex	Time		Test count	Full name
53*35238bceSAndroid Build Coastguard Worker1		324242753	2100		dEQP-VK.subgroups.arithmetic
54*35238bceSAndroid Build Coastguard Worker2		137952758	980			dEQP-VK.subgroups.quad
55*35238bceSAndroid Build Coastguard Worker3		124482580	700			dEQP-VK.subgroups.clustered
56*35238bceSAndroid Build Coastguard Worker4		82749504	560			dEQP-VK.subgroups.shuffle
57*35238bceSAndroid Build Coastguard Worker5		49100267	287			dEQP-VK.subgroups.ballot_broadcast
58*35238bceSAndroid Build Coastguard Worker
59*35238bceSAndroid Build Coastguard WorkerThe biggest time of execution per test
60*35238bceSAndroid Build Coastguard WorkerIndex	Time		Test count	Avg. test time	Full name
61*35238bceSAndroid Build Coastguard Worker1		124482580	700			177832			dEQP-VK.subgroups.clustered
62*35238bceSAndroid Build Coastguard Worker2		49100267	287			171081			dEQP-VK.subgroups.ballot_broadcast
63*35238bceSAndroid Build Coastguard Worker3		324242753	2100		154401			dEQP-VK.subgroups.arithmetic
64*35238bceSAndroid Build Coastguard Worker4		82749504	560			147766			dEQP-VK.subgroups.shuffle
65*35238bceSAndroid Build Coastguard Worker5		1992289		14			142306			dEQP-VK.subgroups.shape
66*35238bceSAndroid Build Coastguard Worker```
67