%YAML 1.1
# This JSON schema was taken from:
# https://github.com/ament/ament_cmake/blob/rolling/ament_cmake_google_benchmark/doc/benchmark_schema.json
---
|
  {
    "description": "Jenkins Benchmark schema for ROS performance test results",
    "failure": {
      "value": "failure"
    },
    "type": "object",
    "additionalProperties": {
      "type": "object",
      "properties": {
        "description": {
          "type": "description"
        },
        "parameters": {
          "type": "object",
          "additionalProperties": {
            "type": "parameter",
            "properties": {
              "description": {
                "type": "description"
              },
              "unit": {
                "type": "unit"
              },
              "value": {
                "type": "value"
              }
            },
            "required": [
              "value"
            ],
            "additionalProperties": false
          }
        }
      },
      "additionalProperties": {
        "type": "object",
        "properties": {
          "description": {
            "type": "description"
          },
          "parameters": {
            "type": "object",
            "additionalProperties": {
              "type": "parameter",
              "properties": {
                "description": {
                  "type": "description"
                },
                "unit": {
                  "type": "unit"
                },
                "value": {
                  "type": "value"
                }
              },
              "required": [
                "value"
              ],
              "additionalProperties": false
            }
          }
        },
        "additionalProperties": {
          "type": "result",
          "properties": {
            "description": {
              "type": "description"
            },
            "parameters": {
              "type": "object",
              "additionalProperties": {
                "type": "parameter",
                "properties": {
                  "description": {
                    "type": "description"
                  },
                  "unit": {
                    "type": "unit"
                  },
                  "value": {
                    "type": "value"
                  }
                },
                "required": [
                  "value"
                ],
                "additionalProperties": false
              }
            },
            "boolValue": {
              "type": "boolean"
            },
            "dblValue": {
              "type": "double"
            },
            "intValue": {
              "type": "integer"
            },
            "unit": {
              "type": "unit"
            },
            "value": {
              "type": "value"
            },
            "thresholds": {
              "type": "array",
              "items": {
                "type": "threshold",
                "properties": {
                  "delta": {
                    "type": "delta"
                  },
                  "method": {
                    "type": "method"
                  },
                  "maximum": {
                    "type": "maximum"
                  },
                  "minimum": {
                    "type": "minimum"
                  },
                  "percentage": {
                    "type": "percentage"
                  }
                },
                "required": [
                  "method"
                ],
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        }
      }
    }
  }
