Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
 
 
 

325 řádky
9.6 KiB

  1. {
  2. "$schema": "http://json-schema.org/draft-06/schema#",
  3. "definitions": {
  4. "FileFormat.Profile": {
  5. "anyOf": [
  6. {
  7. "$ref": "#/definitions/FileFormat.EventedProfile"
  8. },
  9. {
  10. "$ref": "#/definitions/FileFormat.SampledProfile"
  11. }
  12. ]
  13. },
  14. "FileFormat.File": {
  15. "title": "FileFormat.File",
  16. "type": "object",
  17. "properties": {
  18. "$schema": {
  19. "type": "string",
  20. "enum": [
  21. "https://www.speedscope.app/file-format-schema.json"
  22. ],
  23. "title": "$schema"
  24. },
  25. "shared": {
  26. "type": "object",
  27. "properties": {
  28. "frames": {
  29. "type": "array",
  30. "items": {
  31. "$ref": "#/definitions/FileFormat.Frame"
  32. },
  33. "title": "frames"
  34. }
  35. },
  36. "required": [
  37. "frames"
  38. ],
  39. "title": "shared"
  40. },
  41. "profiles": {
  42. "type": "array",
  43. "items": {
  44. "anyOf": [
  45. {
  46. "$ref": "#/definitions/FileFormat.EventedProfile"
  47. },
  48. {
  49. "$ref": "#/definitions/FileFormat.SampledProfile"
  50. }
  51. ]
  52. },
  53. "title": "profiles"
  54. },
  55. "name": {
  56. "type": "string",
  57. "title": "name"
  58. },
  59. "activeProfileIndex": {
  60. "type": "number",
  61. "title": "activeProfileIndex"
  62. },
  63. "exporter": {
  64. "type": "string",
  65. "title": "exporter"
  66. }
  67. },
  68. "required": [
  69. "$schema",
  70. "profiles",
  71. "shared"
  72. ]
  73. },
  74. "FileFormat.Frame": {
  75. "title": "FileFormat.Frame",
  76. "type": "object",
  77. "properties": {
  78. "name": {
  79. "type": "string",
  80. "title": "name"
  81. },
  82. "file": {
  83. "type": "string",
  84. "title": "file"
  85. },
  86. "line": {
  87. "type": "number",
  88. "title": "line"
  89. },
  90. "col": {
  91. "type": "number",
  92. "title": "col"
  93. }
  94. },
  95. "required": [
  96. "name"
  97. ]
  98. },
  99. "FileFormat.ProfileType": {
  100. "title": "FileFormat.ProfileType",
  101. "enum": [
  102. "evented",
  103. "sampled"
  104. ],
  105. "type": "string"
  106. },
  107. "FileFormat.IProfile": {
  108. "title": "FileFormat.IProfile",
  109. "type": "object",
  110. "properties": {
  111. "type": {
  112. "$ref": "#/definitions/FileFormat.ProfileType",
  113. "title": "type"
  114. }
  115. },
  116. "required": [
  117. "type"
  118. ]
  119. },
  120. "FileFormat.EventedProfile": {
  121. "title": "FileFormat.EventedProfile",
  122. "type": "object",
  123. "properties": {
  124. "type": {
  125. "type": "string",
  126. "enum": [
  127. "evented"
  128. ],
  129. "title": "type"
  130. },
  131. "name": {
  132. "type": "string",
  133. "title": "name"
  134. },
  135. "unit": {
  136. "$ref": "#/definitions/FileFormat.ValueUnit",
  137. "title": "unit"
  138. },
  139. "startValue": {
  140. "type": "number",
  141. "title": "startValue"
  142. },
  143. "endValue": {
  144. "type": "number",
  145. "title": "endValue"
  146. },
  147. "events": {
  148. "type": "array",
  149. "items": {
  150. "anyOf": [
  151. {
  152. "$ref": "#/definitions/OpenFrameEvent"
  153. },
  154. {
  155. "$ref": "#/definitions/CloseFrameEvent"
  156. }
  157. ]
  158. },
  159. "title": "events"
  160. }
  161. },
  162. "required": [
  163. "endValue",
  164. "events",
  165. "name",
  166. "startValue",
  167. "type",
  168. "unit"
  169. ]
  170. },
  171. "SampledStack": {
  172. "type": "array",
  173. "items": {
  174. "type": "number"
  175. }
  176. },
  177. "FileFormat.SampledProfile": {
  178. "title": "FileFormat.SampledProfile",
  179. "type": "object",
  180. "properties": {
  181. "type": {
  182. "type": "string",
  183. "enum": [
  184. "sampled"
  185. ],
  186. "title": "type"
  187. },
  188. "name": {
  189. "type": "string",
  190. "title": "name"
  191. },
  192. "unit": {
  193. "$ref": "#/definitions/FileFormat.ValueUnit",
  194. "title": "unit"
  195. },
  196. "startValue": {
  197. "type": "number",
  198. "title": "startValue"
  199. },
  200. "endValue": {
  201. "type": "number",
  202. "title": "endValue"
  203. },
  204. "samples": {
  205. "type": "array",
  206. "items": {
  207. "type": "array",
  208. "items": {
  209. "type": "number"
  210. }
  211. },
  212. "title": "samples"
  213. },
  214. "weights": {
  215. "type": "array",
  216. "items": {
  217. "type": "number"
  218. },
  219. "title": "weights"
  220. }
  221. },
  222. "required": [
  223. "endValue",
  224. "name",
  225. "samples",
  226. "startValue",
  227. "type",
  228. "unit",
  229. "weights"
  230. ]
  231. },
  232. "FileFormat.ValueUnit": {
  233. "title": "FileFormat.ValueUnit",
  234. "enum": [
  235. "bytes",
  236. "microseconds",
  237. "milliseconds",
  238. "nanoseconds",
  239. "none",
  240. "seconds"
  241. ],
  242. "type": "string"
  243. },
  244. "FileFormat.EventType": {
  245. "title": "FileFormat.EventType",
  246. "enum": [
  247. "C",
  248. "O"
  249. ],
  250. "type": "string"
  251. },
  252. "IEvent": {
  253. "title": "IEvent",
  254. "type": "object",
  255. "properties": {
  256. "type": {
  257. "$ref": "#/definitions/FileFormat.EventType",
  258. "title": "type"
  259. },
  260. "at": {
  261. "type": "number",
  262. "title": "at"
  263. }
  264. },
  265. "required": [
  266. "at",
  267. "type"
  268. ]
  269. },
  270. "OpenFrameEvent": {
  271. "title": "OpenFrameEvent",
  272. "type": "object",
  273. "properties": {
  274. "type": {
  275. "type": "string",
  276. "enum": [
  277. "O"
  278. ],
  279. "title": "type"
  280. },
  281. "frame": {
  282. "type": "number",
  283. "title": "frame"
  284. },
  285. "at": {
  286. "type": "number",
  287. "title": "at"
  288. }
  289. },
  290. "required": [
  291. "at",
  292. "frame",
  293. "type"
  294. ]
  295. },
  296. "CloseFrameEvent": {
  297. "title": "CloseFrameEvent",
  298. "type": "object",
  299. "properties": {
  300. "type": {
  301. "type": "string",
  302. "enum": [
  303. "C"
  304. ],
  305. "title": "type"
  306. },
  307. "frame": {
  308. "type": "number",
  309. "title": "frame"
  310. },
  311. "at": {
  312. "type": "number",
  313. "title": "at"
  314. }
  315. },
  316. "required": [
  317. "at",
  318. "frame",
  319. "type"
  320. ]
  321. }
  322. },
  323. "$ref": "#/definitions/FileFormat.File"
  324. }