summaryrefslogtreecommitdiffstats
path: root/python/mozperftest/mozperftest/schemas/intermediate-results-schema.json
diff options
context:
space:
mode:
Diffstat (limited to 'python/mozperftest/mozperftest/schemas/intermediate-results-schema.json')
-rw-r--r--python/mozperftest/mozperftest/schemas/intermediate-results-schema.json113
1 files changed, 113 insertions, 0 deletions
diff --git a/python/mozperftest/mozperftest/schemas/intermediate-results-schema.json b/python/mozperftest/mozperftest/schemas/intermediate-results-schema.json
new file mode 100644
index 0000000000..70c7468b31
--- /dev/null
+++ b/python/mozperftest/mozperftest/schemas/intermediate-results-schema.json
@@ -0,0 +1,113 @@
+{
+ "definitions": {
+ "perfherder-options-schema": {
+ "title": "Perfherder-specific Options",
+ "description": "Set these to have more control over the perfherder blob that will be created",
+ "properties": {
+ "name": {
+ "title": "Name of the metric or suite",
+ "type": "string"
+ },
+ "value": {
+ "title": "Summary value",
+ "type": "number",
+ "minimum": -1000000000000.0,
+ "maximum": 1000000000000.0
+ },
+ "unit": {
+ "title": "Measurement unit",
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 20
+ },
+ "lowerIsBetter": {
+ "description": "Whether lower values are better",
+ "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
+ }
+ }
+ },
+ "single-metric-schema": {
+ "allOf": [
+ {"$ref": "#/definitions/perfherder-options-schema"},
+ {
+ "properties": {
+ "values": {
+ "description": "Contains all the measurements taken",
+ "title": "Measured values",
+ "type": "array",
+ "items": {
+ "type": "number"
+ }
+ }
+ }
+ }
+ ],
+ "required": [
+ "name",
+ "values"
+ ],
+ "type": "object"
+ },
+ "results-schema": {
+ "anyOf": [
+ {"type": "string"},
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/single-metric-schema"
+ }
+ }
+ ],
+ "title": "Holds the data to be processed by the metrics modules",
+ "description": "The data can be defined within an object, or through a path to where the data can be found"
+ }
+ },
+ "id": "https://searchfox.org/mozilla-central/source/python/mozperftest/mozperftest/schemas/intermediate-results-schema.json",
+ "allOf": [
+ {"$ref": "#/definitions/perfherder-options-schema"},
+ {
+ "properties": {
+ "results": {"$ref": "#/definitions/results-schema"},
+ "transformer": {
+ "title": "Transformer to use on the data",
+ "type": "string"
+ },
+ "transformer-options": {
+ "type": "object",
+ "title": "Options used in the transformer"
+ },
+ "framework": {
+ "title": "Framework that produced the data",
+ "type": "object"
+ },
+ "extraOptions": {
+ "type": "array",
+ "title": "Extra options used in the running suite",
+ "items": {
+ "type": "string",
+ "maxLength": 100
+ },
+ "uniqueItems": true,
+ "maxItems": 8
+ }
+ }
+ }
+ ],
+ "required": ["results", "name"],
+ "description": "Intermediate results for a single type of metric or suite (i.e. browsertime, and adb results shouldn't be mixed in the same entry)",
+ "title": "MozPerftest Intermediate Results Schema",
+ "type": "object"
+}