{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "/Matz/Patrice/Master-Thesis/Profile.schema.json", "title": "Profile", "description": "An Applications measure Profile in different Scenarios", "type": "object", "properties": { "name": { "description": "user defined name, optional", "type": "string" }, "scenarios": { "description": "", "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "name": { "description": "user defined name, optional", "type": "string" }, "scenarioID": { "description": "The unique identifier for a scenario", "type": "integer" }, "interactions": { "description": "", "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "name": { "description": "user defined name, optional", "type": "string" }, "interactionID": { "description": "The unique identifier for a interaction", "type": "string" }, "delay": { "description": "Time between two interactions in seconds, cause by human interaction", "type": "integer" }, "functions": { "description": "array of functions with measured ressource utilization", "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "properties": { "functionID": { "description": "The unique identifier for a function", "type": "string" }, "cpu": { "description": "cpu utilization in percent", "type": "number" }, "cpu_time": { "description": "amount of time function takes to execute in seconds", "type": "number" }, "ram": { "description": "amount of RAM used while executign the function", "type": "number" }, "io": { "description": "amount of data read from Disk", "type": "number" }, "net": { "description": "amount of data gotten over the network", "type": "number" }, "delay": { "description": "delay in nano seconds", "type": "integer" }, "callbacks": { "description": "The ID of the Callback Function. -1 means no callback", "type": "array", "minItems": 1, "uniqueItems": true, "items":{ "type": "string" } } }, "required": [ "functionID" ] } } }, "required": [ "interactionID", "functions", "delay" ] } } }, "required": [ "scenarioID", "interactions" ] } } } }