DSPS/purePy - Simulation/Application/files/profile_schema.json

115 lines
5.5 KiB
JSON

{
"$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"
]
}
}
}
}