Update CT documentation on Skia site.
BUG=skia:4063 NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=1314413002 Review URL: https://codereview.chromium.org/1314413002
This commit is contained in:
parent
b236d1a37b
commit
fd0eca2583
4
site/dev/testing/ct-system-diagram.svg
Normal file
4
site/dev/testing/ct-system-diagram.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 281 KiB |
2
site/dev/testing/ct-system-diagram.txt
Normal file
2
site/dev/testing/ct-system-diagram.txt
Normal file
@ -0,0 +1,2 @@
|
||||
Source for ct-system-diagram.svg is
|
||||
https://docs.google.com/a/google.com/drawings/d/1q6NuBx5fZ_KwgiBcx_dK0cfwpEQJdypBrIPoTrGrlF4/edit?usp=sharing
|
Binary file not shown.
Before Width: | Height: | Size: 60 KiB |
@ -18,17 +18,16 @@ Overview
|
||||
Cluster Telemetry allows you to run [telemetry](https://www.chromium.org/developers/telemetry)'s benchmarks, lua scripts and other tasks using multiple repository patches through Alexa's [top 1 million](http://s3.amazonaws.com/alexa-static/top-1m.csv.zip) web pages.
|
||||
Developers can use the framework to measure the performance of their patch against the top subset of the internet on both Desktop and Android.
|
||||
|
||||
SKP files are a binary format for the draw commands Chromium sends to Skia for rasterization. The goal of the project started off with wanting to collect a large repository of 10k SKP files. This repository, after incremental changes in approaches, has since grown to ~900k and now supports running all telemetry benchmarks. The top level feature request of this project was [skia:1268](https://code.google.com/p/skia/issues/detail?id=1268).
|
||||
SKP files are a binary format for the draw commands Chromium sends to Skia for rasterization. The goal of the project started off with wanting to collect a large repository of 10k SKP files. This repository, after incremental changes in approaches, has since grown to ~910k and now supports running all telemetry benchmarks. The top level feature request of this project was [skia:1268](https://code.google.com/p/skia/issues/detail?id=1268).
|
||||
|
||||
A web application has been created on App Engine that automates the process of capturing new archives and running telemetry benchmarks at a click of a button; results are emailed to the requester and the web application contains complete history of runs with links to results. You can run telemetry benchmarks at http://ct.skia.org.
|
||||
A web application has been created on Google Compute Engine that automates the process of capturing new archives and running telemetry benchmarks at a click of a button; results are emailed to the requester and the web application contains complete history of runs with links to results. You can run telemetry benchmarks at http://ct.skia.org.
|
||||
|
||||
The framework also contains the ability to run lua scripts on the SKP repository to scrape web pages. It only takes a few minutes to run a lua scrapping script on ~900k SKP files.
|
||||
The framework also contains the ability to run lua scripts on the SKP repository to scrape web pages. It only takes a few minutes to run a lua scraping script on ~900k SKP files.
|
||||
|
||||
These are the different parts of the framework:
|
||||
Most users will use these two features:
|
||||
|
||||
* Chromium Perf Tryserver. Documentation [here](https://www.chromium.org/developers/cluster-telemetry). Webpage [here](http://skia-tree-status.appspot.com/skia-telemetry/chromium_try).
|
||||
* Skia Correctness Tryserver. Documentation [here](http://goto/skiatryclustertelemetry). Webpage [here](http://skia-tree-status.appspot.com/skia-telemetry/skia_try).
|
||||
* Run Lua Scripts. Documentation about lua bindings is [here](https://skia.org/user/special/lua). Webpage [here](http://skia-tree-status.appspot.com/skia-telemetry/lua_script).
|
||||
* Chromium Perf. Documentation [here](https://www.chromium.org/developers/cluster-telemetry). Webpage [here](https://ct.skia.org/chromium_perf/).
|
||||
* Run Lua Scripts. Documentation about lua bindings is [here](https://skia.org/user/special/lua). Webpage [here](https://ct.skia.org/lua_script/).
|
||||
|
||||
|
||||
<a name="framework_usage"></a>
|
||||
@ -60,27 +59,27 @@ The framework has also been used to run multiple lua scripts to scrape the SKP r
|
||||
chars-vs-glyphs, bitmap transform types, gradient color counter, 3 color gradient checks, etc.
|
||||
This has been very useful for the Skia team to help determine which parts of the library to optimize and focus on.
|
||||
|
||||
All runs are recorded [here](http://skia-tree-status.appspot.com/skia-telemetry/all_tasks).
|
||||
All runs are recorded [here](https://ct.skia.org/history/).
|
||||
|
||||
|
||||
<a name="system_architecture"></a>
|
||||
System Architecture
|
||||
------------------
|
||||
-------------------
|
||||
|
||||
<a name="system_diagram"></a>
|
||||
### System Diagram
|
||||
|
||||
![CT System Diagram](ct-system.png)
|
||||
![CT System Diagram](ct-system-diagram.svg)
|
||||
|
||||
|
||||
<a name="detailed_explanation"></a>
|
||||
### Detailed explanation of steps
|
||||
|
||||
1. User submits an Admin task (rebuild chrome, recreate pagesets, recreate webpage archives), Lua script task, or Telemetry benchmark task using the App Engine web application [here](http://ct.skia.org).
|
||||
1. User submits a Lua script task, a Performance task, or an Admin task (rebuild chrome, recreate pagesets, recreate webpage archives, capture SKPs) using the GCE web application [here](http://ct.skia.org).
|
||||
|
||||
2. Each task is exposed by the web application in JSON. The CT master polls the web application and picks up new tasks.
|
||||
|
||||
3. The master pushes new tasks to all the workers using the master scripts [here](https://skia.googlesource.com/buildbot/+/master/ct/go/master_scripts/) (in a new process so that the poller is not blocked). The master scripts then check to see when the workers are done with the requested task.
|
||||
3. The master pushes new tasks to all the workers using the master scripts [here](https://skia.googlesource.com/buildbot/+/master/ct/go/master_scripts/). The master scripts then check to see when the workers are done with the requested task.
|
||||
|
||||
4. The workers execute the task using the worker scripts [here](https://skia.googlesource.com/buildbot/+/master/ct/go/worker_scripts/). All generated artifacts (CSV files, logs, SKP files, archives, etc) are then stored locally and copied to Google Storage.
|
||||
|
||||
@ -93,7 +92,7 @@ System Architecture
|
||||
Code
|
||||
----
|
||||
|
||||
Cluster Telemetry is primarily written in Go with a few python scripts. The framework lives in [master/ct](https://skia.googlesource.com/buildbot/+/master/ct) and the appengine code lives in [master/appengine_scripts](https://skia.googlesource.com/buildbot/+/master/appengine_scripts/skia-tree-status).
|
||||
Cluster Telemetry is primarily written in Go with a few python scripts. The framework lives in [master/ct](https://skia.googlesource.com/buildbot/+/master/ct).
|
||||
|
||||
<a name="contact_us"></a>
|
||||
Contact Us
|
||||
|
Loading…
Reference in New Issue
Block a user