All Downloads are FREE. Search and download functionalities are using the official Maven repository.

schema.abort-mission-telemetry-strict.json Maven / Gradle / Ivy

The newest version!
{
  "$schema": "http://json-schema.org/draft-07/schema",
  "$id": "https://github.com/nagyesta/abort-mission/blob/main/mission-report/flight-evaluation-report/src/main/resources/schema/abort-mission-telemetry-strict.json",
  "definitions": {
    "stageResult": {
      "type": "string",
      "description": "Stage execution result.",
      "enum": [
        "ABORT",
        "SUPPRESSED",
        "SUCCESS",
        "FAILURE"
      ]
    },
    "stageStats": {
      "type": "object",
      "description": "Statistical data collected related to one stage of the mission (class or method)",
      "properties": {
        "matcherNames": {
          "type": "array",
          "description": "Names of mission healthcheck matchers which were used to collect the measurements",
          "items": {
            "type": "string"
          },
          "uniqueItems": true
        },
        "timeMeasurements": {
          "type": "array",
          "description": "Time measurements and outcomes of single stage executions",
          "items": {
            "type": "object",
            "description": "Measurement data captured related to a single execution",
            "properties": {
              "launchId": {
                "type": "string",
                "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
                "description": "The unique Id of the class initialization or test run call represented by this stage"
              },
              "result": {
                "$ref": "#/definitions/stageResult"
              },
              "start": {
                "type": "integer",
                "description": "Java epoch millis long representation of the instance when the execution started"
              },
              "end": {
                "type": "integer",
                "description": "Java epoch millis long representation of the instance when the execution ended"
              },
              "displayName": {
                "type": "string",
                "description": "The display name of the test method represented by this stage"
              },
              "threadName": {
                "type": "string",
                "description": "The name of the thread which executed the test method represented by this stage"
              },
              "throwableClass": {
                "type": "string",
                "pattern": "^([a-zA-Z_$][a-zA-Z0-9_$]*\\.)*[a-zA-Z_$][a-zA-Z0-9_$]*(\\.[0-9]+)*$",
                "description": "The fully qualified name of the exception class thrown by the test method represented by this stage"
              },
              "throwableMessage": {
                "type": "string",
                "description": "The message of the exception thrown by the test method represented by this stage"
              },
              "stackTrace": {
                "type": "array",
                "description": "The stack trace of the exception thrown by the test method represented by this stage",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "launchId",
              "result",
              "start",
              "end",
              "displayName",
              "threadName"
            ],
            "additionalProperties": false
          },
          "uniqueItems": true
        }
      },
      "required": [
        "matcherNames",
        "timeMeasurements"
      ],
      "additionalProperties": false
    },
    "classTelemetry": {
      "properties": {
        "className": {
          "type": "string",
          "description": "The fully qualified name of the test class represented by this node.",
          "pattern": "^([a-zA-Z_$][a-zA-Z0-9_$]*\\.)*[a-zA-Z_$][a-zA-Z0-9_$]*(\\.[0-9]+)*$"
        },
        "countdown": {
          "$ref": "#/definitions/stageStats"
        },
        "launches": {
          "type": "object",
          "description": "Method level execution measurement data collected",
          "patternProperties": {
            "^[a-zA-Z_$][a-zA-Z0-9_$]*$": {
              "$ref": "#/definitions/stageStats"
            }
          },
          "additionalProperties": false
        }
      },
      "required": [
        "className",
        "countdown",
        "launches"
      ],
      "additionalProperties": false
    },
    "classesContainer": {
      "type": "object",
      "description": "Test class container.",
      "patternProperties": {
        "^([a-zA-Z_$][a-zA-Z0-9_$]*\\.)*[a-zA-Z_$][a-zA-Z0-9_$]*(\\.[0-9]+)*$": {
          "$ref": "#/definitions/classTelemetry"
        }
      },
      "additionalProperties": false,
      "uniqueItems": true
    }
  },
  "properties": {
    "classes": {
      "$ref": "#/definitions/classesContainer"
    }
  },
  "required": [
    "classes"
  ],
  "additionalProperties": false
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy