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