-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathexecution_report.schema.json
More file actions
172 lines (167 loc) · 5.73 KB
/
execution_report.schema.json
File metadata and controls
172 lines (167 loc) · 5.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://elixir-europe.org/platforms/compute/execution_report.schema.json",
"title": "Tool execution report",
"description": "Gives credit for the specific execution of a data analysis tool.",
"type": "object",
"required": [ "report_format_version", "tool_identifier", "tool_name", "infra" ],
"properties": {
"report_format_version": {
"description": "The version of the execution schema used.",
"enum": [ "0.0.2" ]
},
"affiliation": {
"description": "Identifier of the project associated with this tool execution. Ideally from the Research Organization Registry (ROR) https://ror.org/.",
"type": "array",
"items": {
"type": "string",
"format": "iri"
}
},
"tool_identifier": {
"description": "Tool identifier from bio.tools, an RRID, or other source. Multiple identifiers can be supplied for tools known to multiple registries.",
"type": "array",
"items": {
"type": "string",
"format": "iri"
},
"minItems": 1
},
"tool_name": {
"description": "What the tool author calls the tool.",
"type": "string"
},
"tool_version": {
"description": "Version of the tool that was actually run, ideally captured from the tool itself or a packaging system (apt, conda, pip, etc..).",
"type": "string"
},
"tool_package_version": {
"description": "Version of the tool as reported from a packaging system (apt, conda, pip, etc..).",
"type": "string"
},
"input_size": {
"description": "The total size of the inputs, MUST be (rounded or binned, details TBD).",
"type": "integer"
},
"infra": {
"description": "Physical and virtual infrastructure providers involved in the coordination, planning, and/or execution of this tool. Could be platforms, service providers, etc.",
"type": "array",
"minItems": 1,
"items": { "$ref": "#/$defs/provider" }
},
"location": {
"$ref": "#/$defs/location"
},
"cpu_identifier": {
"description": "For example, the 'model name' field from /proc/cpuinfo on Linux.",
"type": "string"
},
"cpu_mods": {
"description": "For example, the 'bugs' field from /proc/cpuinfo on Linux.",
"type": "string"
},
"cpu_cores_assigned": {
"description": "Number of CPU cores that were assigned to the tool.",
"type": "integer"
},
"start_time": {
"description": "Time & date of the beginning of tool execution.",
"type": "string",
"format": "date-time"
},
"end_time": {
"description": "Time & date of the end of tool execution.",
"type": "string",
"format": "date-time"
},
"duration": {
"description": "Duration of tool execution. Using start_time & end_time is preferred.",
"type": "string",
"format": "duration"
},
"final_outputs_size": {
"description": "Disk usage (bytes), MUST be (rounded or binned, details TBD).",
"type": "integer"
},
"memory_used": {
"description": "Peak memory usage, measured in bytes.",
"type": "integer",
"exclusiveMinimum": 0
},
"cpu_cores_used": {
"description": "Measured number of CPU cores used.",
"type": "number"
},
"gpu_cores_used": {
"description": "Measured number of GPU cores used.",
"type": "integer"
}
},
"$defs": {
"address": {
"title": "Address",
"type": "object",
"$comment": "https://schema.org/PostalAddress",
"properties": {
"addressCountry": {
"description": "Country. 2-letter ISO 3166-1 alpha-2 format.",
"$comment": "https://schema.org/addressCountry",
"type": "string"
},
"postalCode": {
"description": "The postal code. For example, 94017.",
"$comment": "https://schema.org/postalCode",
"type": "string"
},
"addressRegion": {
"description": "The region in which the locality is, and which is in the country. For example, Baden Wuerttemburg or another appropriate first-level Administrative division. ",
"$comment": "https://schema.org/addressRegion",
"type": "string"
},
"addressLocality": {
"description": "The locality in which the street address is, and which is in the region. For example, Freiburg im Breisgau",
"$comment": "https://schema.org/addressLocality",
"type": "string"
}
}
},
"location": {
"title": "Physical location",
"description": "Physical location where the computer was. Don't really care more than city/country.",
"$comment": "https://schema.org/Place",
"type": "object",
"properties": {
"name": {
"description": "The name of the physical location where the computation took place.",
"type": "string",
"$comment": "https://schema.org/Text"
},
"address": { "$ref": "#/$defs/address" }
}
},
"provider": {
"title": "Infrastructure provider",
"type": "object",
"required": [ "infra_name", "infra_identifier" ],
"properties": {
"infra_name": {
"description": "Name of the infrastructure (who should get credit).",
"type": "string"
},
"infra_identifier": {
"description": "Unique identifier for this infrastructure.",
"type": "array",
"items": {
"type": "string",
"format": "iri"
},
"minItems": 1
},
"infra_version": {
"description": "For software-based infrastructure: the version.",
"type": "string"
}
}
}
}
}