The Skia Perf Format is a JSON file that looks like:
{
"gitHash": "fe4a4029a080bc955e9588d05a6cd9eb490845d4",
"key": {
"arch": "x86",
"gpu": "GTX660",
"model": "ShuttleA",
"os": "Ubuntu12"
},
"results": {
"ChunkAlloc_PushPop_640_480": {
"nonrendering": {
"min_ms": 0.01485466666666667,
"options": {
"source_type": "bench"
}
}
},
"DeferredSurfaceCopy_discardable_640_480": {
"565": {
"min_ms": 2.215988,
"options": {
"source_type": "bench"
}
},
...
In the above example, the key-value pairs that identify the value 2.215988 are:
arch: x86,
gpu: GTX660,
model: ShuttleA,
os: Ubuntu12
test: DeferredSurfaceCopy_discardable_640_480
config: 565
sub_result: min_ms
source_type: bench
Key value pair charactes should come from [0-9a-zA-Z_], particularly note no spaces or ‘:’ characters.
Each Perf data file should be stored in Google Cloud Storage in a location of the following format:
gs://<bucket>/<one or more dir names>/YYYY/MM/DD/HH/<zero or more dir names><some unique name>.json
Where:
YYYY - Year MM - Month, e.g. 02 for February. DD - Day, e.g. 01, 02, etc. HH - Hour in 24 hour format, e.g. 00, 01, 02, ..., 22, 23
gs://skia-perf/nano-json-v1/2018/08/23/22/Android-Clang/7989dad6c3b2efc10defb8f280f7a8a1a731d5d0.json
The Perf ingester will attempt to ingest all files below /HH/ that end in .json. Nothing about the file location or the file name is ingested as data.