tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

performance-artifact-schema.json (7698B)


      1 {
      2  "definitions": {
      3    "application_schema": {
      4      "properties": {
      5        "name": {
      6          "title": "Application under performance test",
      7          "enum": [
      8            "firefox",
      9            "chrome",
     10            "chrome-m",
     11            "fennec",
     12            "geckoview",
     13            "refbrow",
     14            "fenix",
     15            "focus",
     16            "safari",
     17            "safari-tp",
     18            "custom-car",
     19            "cstm-car-m"
     20          ],
     21          "maxLength": 10,
     22          "type": "string"
     23        },
     24        "version": {
     25          "title": "Application's version",
     26          "maxLength": 40,
     27          "type": "string"
     28        }
     29      },
     30      "required": ["name"],
     31      "type": "object"
     32    },
     33    "os_schema": {
     34      "type": "object",
     35      "properties": {
     36        "name": {
     37          "title": "Operating system name",
     38          "type": "string",
     39          "minLength": 1,
     40          "maxLength": 100
     41        },
     42        "platform_version": {
     43          "title": "Operating system version",
     44          "type": "string",
     45          "minLength": 1,
     46          "maxLength": 100
     47        }
     48      }
     49    },
     50    "framework_schema": {
     51      "properties": {
     52        "name": {
     53          "title": "Framework name",
     54          "type": "string"
     55        }
     56      },
     57      "type": "object"
     58    },
     59    "subtest_schema": {
     60      "properties": {
     61        "name": {
     62          "title": "Subtest name",
     63          "type": "string",
     64          "maxLength": 80
     65        },
     66        "publicName": {
     67          "title": "Public subtest name",
     68          "description": "Allows renaming test's name, without breaking existing performance data series",
     69          "maxLength": 30,
     70          "type": "string"
     71        },
     72        "value": {
     73          "description": "Summary value for subtest",
     74          "title": "Subtest value",
     75          "type": "number",
     76          "minimum": -1000000000000.0,
     77          "maximum": 1000000000000.0
     78        },
     79        "unit": {
     80          "title": "Measurement unit",
     81          "type": "string",
     82          "minLength": 1,
     83          "maxLength": 20
     84        },
     85        "lowerIsBetter": {
     86          "description": "Whether lower values are better for subtest",
     87          "title": "Lower is better",
     88          "type": "boolean"
     89        },
     90        "shouldAlert": {
     91          "description": "Whether we should alert",
     92          "title": "Should alert",
     93          "type": "boolean"
     94        },
     95        "alertThreshold": {
     96          "description": "% change threshold before alerting",
     97          "title": "Alert threshold",
     98          "type": "number",
     99          "minimum": 0.0,
    100          "maximum": 1000.0
    101        },
    102        "minBackWindow": {
    103          "description": "Minimum back window to use for alerting",
    104          "title": "Minimum back window",
    105          "type": "number",
    106          "minimum": 1,
    107          "maximum": 255
    108        },
    109        "maxBackWindow": {
    110          "description": "Maximum back window to use for alerting",
    111          "title": "Maximum back window",
    112          "type": "number",
    113          "minimum": 1,
    114          "maximum": 255
    115        },
    116        "foreWindow": {
    117          "description": "Fore window to use for alerting",
    118          "title": "Fore window",
    119          "type": "number",
    120          "minimum": 1,
    121          "maximum": 255
    122        }
    123      },
    124      "required": ["name", "value"],
    125      "type": "object"
    126    },
    127    "suite_schema": {
    128      "properties": {
    129        "name": {
    130          "title": "Suite name",
    131          "type": "string",
    132          "maxLength": 80
    133        },
    134        "publicName": {
    135          "title": "Public suite name",
    136          "description": "Allows renaming suite's name, without breaking existing performance data series",
    137          "maxLength": 30,
    138          "type": "string"
    139        },
    140        "tags": {
    141          "type": "array",
    142          "title": "Free form tags, which ease the grouping & searching of performance tests",
    143          "description": "Similar to extraOptions, except it does not break existing performance data series",
    144          "items": {
    145            "type": "string",
    146            "pattern": "^[a-zA-Z0-9-]{1,24}$"
    147          },
    148          "uniqueItems": true,
    149          "maxItems": 14
    150        },
    151        "extraOptions": {
    152          "type": "array",
    153          "title": "Extra options used in running suite",
    154          "items": {
    155            "type": "string",
    156            "maxLength": 100
    157          },
    158          "uniqueItems": true,
    159          "maxItems": 8
    160        },
    161        "subtests": {
    162          "items": {
    163            "$ref": "#/definitions/subtest_schema"
    164          },
    165          "title": "Subtests",
    166          "type": "array"
    167        },
    168        "value": {
    169          "title": "Suite value",
    170          "type": "number",
    171          "minimum": -1000000000000.0,
    172          "maximum": 1000000000000.0
    173        },
    174        "unit": {
    175          "title": "Measurement unit",
    176          "type": "string",
    177          "minLength": 1,
    178          "maxLength": 20
    179        },
    180        "replicates": {
    181          "title": "Suite replicates",
    182          "type": "array",
    183          "items": {
    184            "type": "number",
    185            "minimum": -1000000000000.0,
    186            "maximum": 1000000000000.0
    187          }
    188        },
    189        "lowerIsBetter": {
    190          "description": "Whether lower values are better for suite",
    191          "title": "Lower is better",
    192          "type": "boolean"
    193        },
    194        "shouldAlert": {
    195          "description": "Whether we should alert on this suite (overrides default behaviour)",
    196          "title": "Should alert",
    197          "type": "boolean"
    198        },
    199        "alertThreshold": {
    200          "description": "% change threshold before alerting",
    201          "title": "Alert threshold",
    202          "type": "number",
    203          "minimum": 0.0,
    204          "maximum": 1000.0
    205        },
    206        "minBackWindow": {
    207          "description": "Minimum back window to use for alerting",
    208          "title": "Minimum back window",
    209          "type": "integer",
    210          "minimum": 1,
    211          "maximum": 255
    212        },
    213        "maxBackWindow": {
    214          "description": "Maximum back window to use for alerting",
    215          "title": "Maximum back window",
    216          "type": "integer",
    217          "minimum": 1,
    218          "maximum": 255
    219        },
    220        "foreWindow": {
    221          "description": "Fore window to use for alerting",
    222          "title": "Fore window",
    223          "type": "integer",
    224          "minimum": 1,
    225          "maximum": 255
    226        },
    227        "monitor": {
    228          "description": "Enable non-sheriffed alerting (ignores shouldAlert settings)",
    229          "title": "Monitor",
    230          "type": "boolean"
    231        },
    232        "alertNotifyEmails": {
    233          "type": "array",
    234          "title": "Notify these emails for any alerts produced",
    235          "items": {
    236            "type": "string",
    237            "maxLength": 100
    238          },
    239          "uniqueItems": true,
    240          "maxItems": 8
    241        }
    242      },
    243      "required": ["name", "subtests"],
    244      "type": "object"
    245    }
    246  },
    247  "description": "Structure for submitting performance data as part of a job",
    248  "id": "https://treeherder.mozilla.org/schemas/v1/performance-artifact.json#",
    249  "properties": {
    250    "application": {
    251      "$ref": "#/definitions/application_schema"
    252    },
    253    "os": {
    254      "$ref": "#/definitions/os_schema"
    255    },
    256    "framework": {
    257      "$ref": "#/definitions/framework_schema"
    258    },
    259    "suites": {
    260      "description": "List of suite-level data submitted as part of this structure",
    261      "items": {
    262        "$ref": "#/definitions/suite_schema"
    263      },
    264      "title": "Performance suites",
    265      "type": "array"
    266    }
    267  },
    268  "required": ["framework", "suites"],
    269  "title": "Perfherder Schema",
    270  "type": "object"
    271 }