feat(model): Hoststack type
[csit.git] / docs / model / current / schema / test_case.info.schema.json
index 7bdfa27..bdfea59 100644 (file)
@@ -1,5 +1,5 @@
 {
-  "$id": "https://fd.io/FIXME/CSIT/UTI/test_case/info/1.2.0",
+  "$id": "https://fd.io/FIXME/CSIT/UTI/test_case/info/1.3.0",
   "$schema": "https://json-schema.org/draft/2020-12/schema",
   "description": "Schema for output of test case.",
   "allOf": [
                     }
                   },
                   "required": [
+                    "type",
                     "loss",
                     "aggregate_rate"
                   ]
+                },
+                {
+                  "description": "Result type HOSTSTACK case.",
+                  "additionalProperties": false,
+                  "properties": {
+                    "type": {
+                      "const": "hoststack"
+                    },
+                    "bandwidth": {
+                      "description": "Goodput measured in bits per second.",
+                      "$ref": "#/$defs/types/bandwidth"
+                    },
+                    "completed_requests": {
+                      "description": "Number of completed requests.",
+                      "$ref": "#/$defs/types/count_requests"
+                    },
+                    "failed_requests": {
+                      "description": "Number of failed requests.",
+                      "$ref": "#/$defs/types/count_requests"
+                    },
+                    "retransmits": {
+                      "description": "Number of retransmits.",
+                      "$ref": "#/$defs/types/count_packets"
+                    },
+                    "latency": {
+                      "description": "Value and unit of latency.",
+                      "$ref": "#/$defs/types/value_with_unit"
+                    },
+                    "duration": {
+                      "description": "The relative time difference (in seconds) between program start and end.",
+                      "$ref": "#/$defs/types/time_quantity"
+                    },
+                    "rate": {
+                      "description": "RPS or CPS rate, with corresponding unit, as reported by TG.",
+                      "$ref": "#/$defs/types/rate_without_bandwidth"
+                    }
+                  },
+                  "required": [
+                    "type",
+                    "bandwidth"
+                  ]
                 }
               ]
             }
         "version": {
           "description": "CSIT model version (semver format) the exporting code adhered to.",
           "type": "string",
-          "const": "1.2.0"
+          "const": "1.3.0"
         }
       },
       "required": [
         "maxItems": 0
       },
       "rate_unit": {
-        "description": "Packets per second (pps) or connections per second (cps).",
+        "description": "Packets per second (pps), connections per second (cps), requests per second (rps).",
         "type": "string",
         "enum": [
           "pps",
-          "cps"
+          "cps",
+          "rps"
         ]
       },
       "bandwidth_unit": {
           }
         ]
       },
+      "count_requests": {
+        "description": "Type, for counting requests.",
+        "allOf": [
+          {
+            "$ref": "#/$defs/types/value_with_unit"
+          },
+          {
+            "properties": {
+              "value": {
+                "description": "A number of requests of interest."
+              },
+              "unit": {
+                "description": "Unit suitable for displaying request counts.",
+                "enum": [
+                  "requests"
+                ]
+              }
+            }
+          }
+        ]
+      },
       "time_quantity": {
         "description": "Reusable type, for various time quantites.",
         "allOf": [