xref: /aosp_15_r20/external/skia/site/docs/dev/testing/skiaperf.md (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker
2*c8dee2aaSAndroid Build Coastguard Worker---
3*c8dee2aaSAndroid Build Coastguard Workertitle: "Skia Perf"
4*c8dee2aaSAndroid Build Coastguard WorkerlinkTitle: "Skia Perf"
5*c8dee2aaSAndroid Build Coastguard Worker
6*c8dee2aaSAndroid Build Coastguard Worker---
7*c8dee2aaSAndroid Build Coastguard Worker
8*c8dee2aaSAndroid Build Coastguard Worker
9*c8dee2aaSAndroid Build Coastguard Worker[Skia Perf](https://perf.skia.org) is a web application for analyzing and
10*c8dee2aaSAndroid Build Coastguard Workerviewing performance metrics produced by Skia's testing infrastructure.
11*c8dee2aaSAndroid Build Coastguard Worker
12*c8dee2aaSAndroid Build Coastguard Worker<img src=../Perf.png style="margin-left:30px" align="left" width="800"/> <br clear="left">
13*c8dee2aaSAndroid Build Coastguard Worker
14*c8dee2aaSAndroid Build Coastguard WorkerSkia tests across a large number of platforms and configurations, and each
15*c8dee2aaSAndroid Build Coastguard Workercommit to Skia generates more than 400,000 individual values that are sent to
16*c8dee2aaSAndroid Build Coastguard WorkerPerf, consisting mostly of performance benchmark results, but also including
17*c8dee2aaSAndroid Build Coastguard Workermemory and coverage data.
18*c8dee2aaSAndroid Build Coastguard Worker
19*c8dee2aaSAndroid Build Coastguard WorkerPerf offers clustering, which is a tool to pick out trends and patterns in large sets of traces.
20*c8dee2aaSAndroid Build Coastguard Worker
21*c8dee2aaSAndroid Build Coastguard Worker<img src=../Cluster.png style="margin-left:30px" align="left" width="400"/> <br clear="left">
22*c8dee2aaSAndroid Build Coastguard Worker
23*c8dee2aaSAndroid Build Coastguard WorkerAnd can generate alerts when those trends spot a regression:
24*c8dee2aaSAndroid Build Coastguard Worker
25*c8dee2aaSAndroid Build Coastguard Worker<img src=../Regression.png style="margin-left:30px" align="left" width="800"/> <br clear="left">
26*c8dee2aaSAndroid Build Coastguard Worker
27*c8dee2aaSAndroid Build Coastguard Worker
28*c8dee2aaSAndroid Build Coastguard Worker## Calculations
29*c8dee2aaSAndroid Build Coastguard Worker
30*c8dee2aaSAndroid Build Coastguard WorkerSkia Perf has the ability to perform calculations over the test data
31*c8dee2aaSAndroid Build Coastguard Workerallowing you to build up interesting queries.
32*c8dee2aaSAndroid Build Coastguard Worker
33*c8dee2aaSAndroid Build Coastguard WorkerThis query displays the ratio of playback time in ms to the number of ops for desk\_wowwiki.skp:
34*c8dee2aaSAndroid Build Coastguard Worker
35*c8dee2aaSAndroid Build Coastguard Worker    ratio(
36*c8dee2aaSAndroid Build Coastguard Worker      ave(fill(filter("name=desk_wowwiki.skp&sub_result=min_ms"))),
37*c8dee2aaSAndroid Build Coastguard Worker      ave(fill(filter("name=desk_wowwiki.skp&sub_result=ops")))
38*c8dee2aaSAndroid Build Coastguard Worker    )
39*c8dee2aaSAndroid Build Coastguard Worker
40*c8dee2aaSAndroid Build Coastguard WorkerYou can also use the data to answer questions like how many tests were run per commit.
41*c8dee2aaSAndroid Build Coastguard Worker
42*c8dee2aaSAndroid Build Coastguard Worker    count(filter(""))
43*c8dee2aaSAndroid Build Coastguard Worker
44*c8dee2aaSAndroid Build Coastguard WorkerSee Skia Perf for the [full list of functions available](https://perf.skia.org/help/).
45*c8dee2aaSAndroid Build Coastguard Worker
46