{
    "additionalProperties": false,
    "definitions": {},
    "properties": {
        "traces": {
            "_id": "trace/properties/traces",
            "items": {
                "_id": "trace/properties/traces/items",
                "additionalProperties": false,
                "properties": {
                    "avg_alloc_resources": {
                        "_id": "trace/properties/traces/items/properties/avg_alloc_resources",
                        "additionalProperties": false,
                        "properties": {
                            "avg_norm_alloc_cores": {
                                "_id": "trace/properties/traces/items/properties/avg_alloc_resources/properties/avg_norm_alloc_cores",
                                "type": "number"
                            },
                            "avg_norm_alloc_disk": {
                                "_id": "trace/properties/traces/items/properties/avg_alloc_resources/properties/avg_norm_alloc_disk",
                                "type": "number"
                            },
                            "avg_norm_alloc_ram": {
                                "_id": "trace/properties/traces/items/properties/avg_alloc_resources/properties/avg_norm_alloc_ram",
                                "type": "number"
                            }
                        },
                        "type": "object"
                    },
                    "events": {
                        "_id": "trace/properties/traces/items/properties/events",
                        "items": {
                            "_id": "trace/properties/traces/items/properties/events/items",
                            "additionalProperties": false,
                            "properties": {
                                "constraints": {
                                    "_id": "trace/properties/traces/items/properties/events/items/properties/constraints",
                                    "description": "Indicates that a task must be scheduled to execute on a different machine than any other currently running task in the job.",
                                    "title": "Different Machine Constraint",
                                    "type": "boolean"
                                },
                                "event_type": {
                                    "_id": "trace/properties/traces/items/properties/events/items/properties/event_type",
                                    "description": "Value of the type of event.",
                                    "maximum": 8,
                                    "minimum": 0,
                                    "title": "Event Type",
                                    "type": "integer"
                                },
                                "job_id": {
                                    "_id": "trace/properties/traces/items/properties/events/items/properties/job_id",
                                    "description": "Integer representing the Job ID which the trace belongs to.",
                                    "maximum": 3.6893488147419103e+19,
                                    "minimum": 0,
                                    "title": "Job ID",
                                    "type": "integer"
                                },
                                "machine_id": {
                                    "_id": "trace/properties/traces/items/properties/events/items/properties/machine_id",
                                    "description": "Indicates the machine onto which the task was scheduled.",
                                    "maximum": 3.6893488147419103e+19,
                                    "minimum": 0,
                                    "type": "integer"
                                },
                                "missing_info": {
                                    "_id": "trace/properties/traces/items/properties/events/items/properties/missing_info",
                                    "default": 0,
                                    "description": "Field that represents if there is missing info. Typically if resource request fields are empty",
                                    "title": "Missing info",
                                    "type": "integer"
                                },
                                "norm_req_cores": {
                                    "_id": "trace/properties/traces/items/properties/events/items/properties/norm_req_cores",
                                    "description": "The normalized CPU cores resource request, from 0 to 1.",
                                    "maximum": 1,
                                    "minimum": 0,
                                    "title": "Resource request for CPU",
                                    "type": "number"
                                },
                                "norm_req_disk": {
                                    "_id": "trace/properties/traces/items/properties/events/items/properties/norm_req_disk",
                                    "description": "The normalized disk resource request, from 0 to 1.",
                                    "maximum": 1,
                                    "minimum": 0,
                                    "title": "Resource request for local disk space",
                                    "type": "number"
                                },
                                "norm_req_ram": {
                                    "_id": "trace/properties/traces/items/properties/events/items/properties/norm_req_ram",
                                    "description": "The normalized RAM resource request, from 0 to 1.",
                                    "maximum": 1,
                                    "minimum": 0,
                                    "title": "Resource request for RAM",
                                    "type": "number"
                                },
                                "priority": {
                                    "_id": "trace/properties/traces/items/properties/events/items/properties/priority",
                                    "description": "Normalized priority starting from 0, 0 being the lowest priority.",
                                    "minimum": 0,
                                    "title": "Priority",
                                    "type": "integer"
                                },
                                "scheduling_class": {
                                    "_id": "trace/properties/traces/items/properties/events/items/properties/scheduling_class",
                                    "description": "Roughtly represents how latency-sensitive a job is. The higher the value the more sensitive it is.",
                                    "maximum": 3,
                                    "minimum": 0,
                                    "title": "Scheduling class",
                                    "type": "integer"
                                },
                                "task_index": {
                                    "_id": "trace/properties/traces/items/properties/events/items/properties/task_index",
                                    "description": "Task Index Within the Job. A job can have multiple tasks associated with it.",
                                    "maximum": 3.6893488147419103e+19,
                                    "minimum": 0,
                                    "title": "Task Index Within the Job",
                                    "type": "integer"
                                },
                                "timestamp": {
                                    "_id": "trace/properties/traces/items/properties/events/items/properties/timestamp",
                                    "description": "The time in which the event ocurred.",
                                    "maximum": 3.6893488147419103e+19,
                                    "minimum": 0,
                                    "title": "Timestamp",
                                    "type": "integer"
                                },
                                "user_name": {
                                    "_id": "trace/properties/traces/items/properties/events/items/properties/user_id",
                                    "description": "An opaque name representing the user which the submitted job belongs to.",
                                    "maxLength": 45,
                                    "minLength": 44,
                                    "title": "User Name",
                                    "type": "string"
                                }
                            },
                            "required": [
                                "scheduling_class",
                                "user_name",
                                "job_id",
                                "timestamp",
                                "task_index",
                                "priority",
                                "event_type"
                            ],
                            "type": "object"
                        },
                        "minItems": 1,
                        "type": "array",
                        "_uniqueItems": true
                    },
                    "factors": {
                        "_id": "trace/properties/traces/items/properties/factors",
                        "additionalProperties": false,
                        "properties": {
                            "class": {
                                "_id": "trace/properties/traces/items/properties/factors/properties/class",
                                "type": "string"
                            },
                            "completion_deadline": {
                                "_id": "trace/properties/traces/items/properties/factors/properties/completion_deadline",
                                "type": "integer"
                            },
                            "released_time": {
                                "_id": "trace/properties/traces/items/properties/factors/properties/released_time",
                                "type": "integer"
                            },
                            "req_cores": {
                                "_id": "trace/properties/traces/items/properties/factors/properties/req_cores",
                                "type": "integer"
                            },
                            "req_disk": {
                                "_id": "trace/properties/traces/items/properties/factors/properties/req_disk",
                                "type": "integer"
                            },
                            "req_ram": {
                                "_id": "trace/properties/traces/items/properties/factors/properties/req_ram",
                                "type": "integer"
                            },
                            "req_time": {
                                "_id": "trace/properties/traces/items/properties/factors/properties/req_time",
                                "type": "integer"
                            },
                            "start_deadline": {
                                "_id": "trace/properties/traces/items/properties/factors/properties/start_deadline",
                                "type": "integer"
                            },
                            "system_time": {
                                "_id": "trace/properties/traces/items/properties/factors/properties/system_time",
                                "type": "integer"
                            },
                            "waiting_time": {
                                "_id": "trace/properties/traces/items/properties/factors/properties/waiting_time",
                                "type": "integer"
                            }
                        },
                        "type": "object"
                    },
                    "job_id": {
                        "_id": "trace/properties/traces/items/properties/job_id",
                        "description": "Integer representing the Job ID which the trace belongs to.",
                        "maximum": 3.6893488147419103e+19,
                        "minimum": 0,
                        "title": "Job ID",
                        "type": "integer"
                    },
                    "trace_id": {
                        "_id": "trace/properties/traces/items/properties/trace_id",
                        "description": "Result of concatenating task_index to job_id. Custom application identifier.",
                        "maxLength": 100,
                        "minLength": 1,
                        "title": "Trace ID",
                        "type": "string"
                    },
                    "user_name": {
                        "_id": "trace/properties/traces/items/properties/user_id",
                        "description": "An opaque name representing the user which the submitted job belongs to.",
                        "maxLength": 45,
                        "minLength": 44,
                        "title": "User Name",
                        "type": "string"
                    }
                },
                "required": [
                    "user_name",
                    "job_id",
                    "trace_id",
                    "events"
                ],
                "type": "object"
            },
            "minItems": 1,
            "type": "array",
            "_uniqueItems": true
        }
    },
    "required": [
        "traces"
    ],
    "type": "object"
}