testing/mozharness/external_tools/performance-artifact-schema.json
author Nicolas Silva <nsilva@mozilla.com>
Fri, 10 Aug 2018 17:15:12 +0200
changeset 431013 594a80cf1466e7ee67b6258f8821d11a803468cc
parent 311234 28fe13ad5610a51b8b7661b9054b5aba6d44564d
child 446541 dfaa72cb3f7a16ea8bbedd78563157e6bef61a11
permissions -rw-r--r--
Bug 1482109 - Use the generic memory pressure observer in gfxPlatfrom. r=sotaro

{
    "definitions": {
        "framework_schema": {
            "properties": {
                "name": {
                    "title": "Framework name",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "subtest_schema": {
            "properties": {
                "name": {
                    "title": "Subtest name",
                    "type": "string"
                },
                "value": {
                    "description": "Summary value for subtest",
                    "title": "Subtest value",
                    "type": "number",
                    "minimum": -1000000000000.0,
                    "maximum": 1000000000000.0
                },
                "lowerIsBetter": {
                    "description": "Whether lower values are better for subtest",
                    "title": "Lower is better",
                    "type": "boolean"
                },
                "shouldAlert": {
                    "description": "Whether we should alert",
                    "title": "Should alert",
                    "type": "boolean"
                },
                "alertThreshold": {
                    "description": "% change threshold before alerting",
                    "title": "Alert threshold",
                    "type": "number",
                    "minimum": 0.0,
                    "maximum": 1000.0
                },
                "minBackWindow": {
                    "description": "Minimum back window to use for alerting",
                    "title": "Minimum back window",
                    "type": "number",
                    "minimum": 1,
                    "maximum": 255
                },
                "maxBackWindow": {
                    "description": "Maximum back window to use for alerting",
                    "title": "Maximum back window",
                    "type": "number",
                    "minimum": 1,
                    "maximum": 255
                },
                "foreWindow": {
                    "description": "Fore window to use for alerting",
                    "title": "Fore window",
                    "type": "number",
                    "minimum": 1,
                    "maximum": 255
                }
            },
            "required": [
                "name",
                "value"
            ],
            "type": "object"
        },
        "suite_schema": {
            "properties": {
                "name": {
                    "title": "Suite name",
                    "type": "string"
                },
                "extraOptions": {
                    "type": "array",
                    "title": "Extra options used in running suite",
                    "items": {
                        "type": "string"
                    },
                    "uniqueItems": true
                },
                "subtests": {
                    "items": {
                        "$ref": "#/definitions/subtest_schema"
                    },
                    "title": "Subtests",
                    "type": "array"
                },
                "value": {
                    "title": "Suite value",
                    "type": "number",
                    "minimum": -1000000000000.0,
                    "maximum": 1000000000000.0
                },
                "lowerIsBetter": {
                    "description": "Whether lower values are better for suite",
                    "title": "Lower is better",
                    "type": "boolean"
                },
                "shouldAlert": {
                    "description": "Whether we should alert on this suite (overrides default behaviour)",
                    "title": "Should alert",
                    "type": "boolean"
                },
                "alertThreshold": {
                    "description": "% change threshold before alerting",
                    "title": "Alert threshold",
                    "type": "number",
                    "minimum": 0.0,
                    "maximum": 1000.0
                },
                "minBackWindow": {
                    "description": "Minimum back window to use for alerting",
                    "title": "Minimum back window",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 255
                },
                "maxBackWindow": {
                    "description": "Maximum back window to use for alerting",
                    "title": "Maximum back window",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 255
                },
                "foreWindow": {
                    "description": "Fore window to use for alerting",
                    "title": "Fore window",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 255
                }
            },
            "required": [
                "name",
                "subtests"
            ],
            "type": "object"
        }
    },
    "description": "Structure for submitting performance data as part of a job",
    "id": "https://treeherder.mozilla.org/schemas/v1/performance-artifact.json#",
    "properties": {
        "framework": {
            "$ref": "#/definitions/framework_schema"
        },
        "suites": {
            "description": "List of suite-level data submitted as part of this structure",
            "items": {
                "$ref": "#/definitions/suite_schema"
            },
            "title": "Performance suites",
            "type": "array"
        }
    },
    "required": [
        "framework",
        "suites"
    ],
    "title": "Perfherder Schema",
    "type": "object"
}