@platformatic/watt-admin 0.5.0 → 0.6.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/README.md +163 -33
  2. package/cli.d.ts +3 -0
  3. package/cli.js +85 -91
  4. package/lib/start.d.ts +3 -0
  5. package/lib/start.js +87 -12
  6. package/package.json +53 -47
  7. package/renovate.json +17 -0
  8. package/watt.json +17 -9
  9. package/web/backend/global.d.ts +17 -0
  10. package/web/backend/platformatic.json +2 -3
  11. package/web/backend/plugins/metrics.ts +15 -0
  12. package/web/backend/plugins/websocket.ts +6 -0
  13. package/web/backend/routes/metrics.ts +46 -0
  14. package/web/backend/routes/proxy.ts +41 -0
  15. package/web/backend/routes/root.ts +204 -0
  16. package/web/backend/routes/ws.ts +45 -0
  17. package/web/backend/schemas/index.ts +226 -0
  18. package/web/backend/utils/bytes.ts +1 -0
  19. package/web/backend/utils/client.openapi.ts +29 -0
  20. package/web/backend/utils/constants.ts +4 -0
  21. package/web/backend/utils/metrics-helpers.ts +89 -0
  22. package/web/backend/utils/metrics.ts +202 -0
  23. package/web/backend/utils/rps.ts +3 -0
  24. package/web/backend/utils/runtimes.ts +21 -0
  25. package/web/backend/utils/states.ts +3 -0
  26. package/web/composer/platformatic.json +3 -3
  27. package/web/frontend/dist/index.html +3012 -6
  28. package/web/frontend/index.d.ts +4 -0
  29. package/web/frontend/index.html +0 -1
  30. package/web/frontend/playwright.config.ts +27 -0
  31. package/web/frontend/postcss.config.ts +14 -0
  32. package/web/frontend/watt.json +2 -2
  33. package/CLAUDE.md +0 -32
  34. package/web/backend/dist/plugins/metrics.js +0 -13
  35. package/web/backend/dist/plugins/metrics.js.map +0 -1
  36. package/web/backend/dist/plugins/websocket.js +0 -11
  37. package/web/backend/dist/plugins/websocket.js.map +0 -1
  38. package/web/backend/dist/routes/metrics.js +0 -45
  39. package/web/backend/dist/routes/metrics.js.map +0 -1
  40. package/web/backend/dist/routes/proxy.js +0 -34
  41. package/web/backend/dist/routes/proxy.js.map +0 -1
  42. package/web/backend/dist/routes/root.js +0 -174
  43. package/web/backend/dist/routes/root.js.map +0 -1
  44. package/web/backend/dist/routes/ws.js +0 -38
  45. package/web/backend/dist/routes/ws.js.map +0 -1
  46. package/web/backend/dist/schemas/index.js +0 -184
  47. package/web/backend/dist/schemas/index.js.map +0 -1
  48. package/web/backend/dist/utils/bytes.js +0 -6
  49. package/web/backend/dist/utils/bytes.js.map +0 -1
  50. package/web/backend/dist/utils/calc.js +0 -248
  51. package/web/backend/dist/utils/calc.js.map +0 -1
  52. package/web/backend/dist/utils/client.openapi.js +0 -31
  53. package/web/backend/dist/utils/client.openapi.js.map +0 -1
  54. package/web/backend/dist/utils/log.js +0 -29
  55. package/web/backend/dist/utils/log.js.map +0 -1
  56. package/web/backend/dist/utils/metrics-helpers.js +0 -72
  57. package/web/backend/dist/utils/metrics-helpers.js.map +0 -1
  58. package/web/backend/dist/utils/metrics.js +0 -183
  59. package/web/backend/dist/utils/metrics.js.map +0 -1
  60. package/web/backend/dist/utils/rps.js +0 -6
  61. package/web/backend/dist/utils/rps.js.map +0 -1
  62. package/web/backend/openapi.json +0 -1119
  63. package/web/backend/tsconfig.json +0 -21
  64. package/web/frontend/dist/assets/Collection.vue-3bb6N9VS.js +0 -2
  65. package/web/frontend/dist/assets/Collection.vue-3bb6N9VS.js.map +0 -1
  66. package/web/frontend/dist/assets/CollectionAuthentication.vue-BUiBAnw8.js +0 -2
  67. package/web/frontend/dist/assets/CollectionAuthentication.vue-BUiBAnw8.js.map +0 -1
  68. package/web/frontend/dist/assets/CollectionCookies.vue-VpQ7oUfB.js +0 -2
  69. package/web/frontend/dist/assets/CollectionCookies.vue-VpQ7oUfB.js.map +0 -1
  70. package/web/frontend/dist/assets/CollectionEnvironment.vue-B9aL6C1f.js +0 -2
  71. package/web/frontend/dist/assets/CollectionEnvironment.vue-B9aL6C1f.js.map +0 -1
  72. package/web/frontend/dist/assets/CollectionOverview.vue-Gs4h2k55.js +0 -2
  73. package/web/frontend/dist/assets/CollectionOverview.vue-Gs4h2k55.js.map +0 -1
  74. package/web/frontend/dist/assets/CollectionScripts.vue-DI73bgJP.js +0 -2
  75. package/web/frontend/dist/assets/CollectionScripts.vue-DI73bgJP.js.map +0 -1
  76. package/web/frontend/dist/assets/CollectionServers.vue-CTh_DkWz.js +0 -2
  77. package/web/frontend/dist/assets/CollectionServers.vue-CTh_DkWz.js.map +0 -1
  78. package/web/frontend/dist/assets/CollectionSettings.vue--aJQ9wMq.js +0 -2
  79. package/web/frontend/dist/assets/CollectionSettings.vue--aJQ9wMq.js.map +0 -1
  80. package/web/frontend/dist/assets/CollectionSync.vue-CwmTdwlV.js +0 -2
  81. package/web/frontend/dist/assets/CollectionSync.vue-CwmTdwlV.js.map +0 -1
  82. package/web/frontend/dist/assets/CommandActionInput.vue-TK77rD5U.js +0 -2
  83. package/web/frontend/dist/assets/CommandActionInput.vue-TK77rD5U.js.map +0 -1
  84. package/web/frontend/dist/assets/Cookies.vue-C3PhNsCO.js +0 -2
  85. package/web/frontend/dist/assets/Cookies.vue-C3PhNsCO.js.map +0 -1
  86. package/web/frontend/dist/assets/DataTableHeader.vue-DbIRXelw.js +0 -2
  87. package/web/frontend/dist/assets/DataTableHeader.vue-DbIRXelw.js.map +0 -1
  88. package/web/frontend/dist/assets/DeleteSidebarListElement.vue-B9hc23j9.js +0 -2
  89. package/web/frontend/dist/assets/DeleteSidebarListElement.vue-B9hc23j9.js.map +0 -1
  90. package/web/frontend/dist/assets/Draggable.vue-CgQ5Rr6l.js +0 -2
  91. package/web/frontend/dist/assets/Draggable.vue-CgQ5Rr6l.js.map +0 -1
  92. package/web/frontend/dist/assets/EditSidebarListElement.vue-fx233eKQ.js +0 -2
  93. package/web/frontend/dist/assets/EditSidebarListElement.vue-fx233eKQ.js.map +0 -1
  94. package/web/frontend/dist/assets/EmptyState.vue-CCWl6cFt.js +0 -23
  95. package/web/frontend/dist/assets/EmptyState.vue-CCWl6cFt.js.map +0 -1
  96. package/web/frontend/dist/assets/Environment.vue-BAgAaWzP.js +0 -2
  97. package/web/frontend/dist/assets/Environment.vue-BAgAaWzP.js.map +0 -1
  98. package/web/frontend/dist/assets/EnvironmentModal.vue-CoGQ0HVI.js +0 -2
  99. package/web/frontend/dist/assets/EnvironmentModal.vue-CoGQ0HVI.js.map +0 -1
  100. package/web/frontend/dist/assets/Form.vue-CPOtQXvw.js +0 -2
  101. package/web/frontend/dist/assets/Form.vue-CPOtQXvw.js.map +0 -1
  102. package/web/frontend/dist/assets/IconSelector.vue-s7y-7Ty-.js +0 -2
  103. package/web/frontend/dist/assets/IconSelector.vue-s7y-7Ty-.js.map +0 -1
  104. package/web/frontend/dist/assets/LibraryIcon.vue-CrkyDYXJ.js +0 -2
  105. package/web/frontend/dist/assets/LibraryIcon.vue-CrkyDYXJ.js.map +0 -1
  106. package/web/frontend/dist/assets/Request.vue-Cd99DAq4.js +0 -33
  107. package/web/frontend/dist/assets/Request.vue-Cd99DAq4.js.map +0 -1
  108. package/web/frontend/dist/assets/RequestRoot.vue-BVpdY64H.js +0 -20
  109. package/web/frontend/dist/assets/RequestRoot.vue-BVpdY64H.js.map +0 -1
  110. package/web/frontend/dist/assets/ScalarAsciiArt.vue-Bm66XRod.js +0 -3
  111. package/web/frontend/dist/assets/ScalarAsciiArt.vue-Bm66XRod.js.map +0 -1
  112. package/web/frontend/dist/assets/ScalarHotkey.vue-DGRaosjl.js +0 -2
  113. package/web/frontend/dist/assets/ScalarHotkey.vue-DGRaosjl.js.map +0 -1
  114. package/web/frontend/dist/assets/ScalarIconTrash.vue-BzkMDpLH.js +0 -2
  115. package/web/frontend/dist/assets/ScalarIconTrash.vue-BzkMDpLH.js.map +0 -1
  116. package/web/frontend/dist/assets/ScalarPopover.vue-DvIo_Yzb.js +0 -2
  117. package/web/frontend/dist/assets/ScalarPopover.vue-DvIo_Yzb.js.map +0 -1
  118. package/web/frontend/dist/assets/ScalarToggle.vue-C4n7WrpG.js +0 -2
  119. package/web/frontend/dist/assets/ScalarToggle.vue-C4n7WrpG.js.map +0 -1
  120. package/web/frontend/dist/assets/Settings.vue-vE6bOazq.js +0 -2
  121. package/web/frontend/dist/assets/Settings.vue-vE6bOazq.js.map +0 -1
  122. package/web/frontend/dist/assets/SidebarButton.vue-DAR-mVH7.js +0 -2
  123. package/web/frontend/dist/assets/SidebarButton.vue-DAR-mVH7.js.map +0 -1
  124. package/web/frontend/dist/assets/SidebarListElement.vue-CnWyRVB0.js +0 -2
  125. package/web/frontend/dist/assets/SidebarListElement.vue-CnWyRVB0.js.map +0 -1
  126. package/web/frontend/dist/assets/ViewLayout.vue-CEr_C1hG.js +0 -2
  127. package/web/frontend/dist/assets/ViewLayout.vue-CEr_C1hG.js.map +0 -1
  128. package/web/frontend/dist/assets/ViewLayoutContent.vue-t9k9noSS.js +0 -2
  129. package/web/frontend/dist/assets/ViewLayoutContent.vue-t9k9noSS.js.map +0 -1
  130. package/web/frontend/dist/assets/ViewLayoutSection.vue-BYrAaBmf.js +0 -2
  131. package/web/frontend/dist/assets/ViewLayoutSection.vue-BYrAaBmf.js.map +0 -1
  132. package/web/frontend/dist/assets/index-DN39RFTG.js +0 -2327
  133. package/web/frontend/dist/assets/index-DN39RFTG.js.map +0 -1
  134. package/web/frontend/dist/assets/index-DrvlsJch.css +0 -1
  135. package/web/frontend/dist/assets/mediaTypes-DEhrbNXe.js +0 -2
  136. package/web/frontend/dist/assets/mediaTypes-DEhrbNXe.js.map +0 -1
  137. package/web/frontend/postcss.config.cjs +0 -11
  138. package/web/frontend/tsconfig.json +0 -29
@@ -1,1119 +0,0 @@
1
- {
2
- "openapi": "3.0.3",
3
- "info": {
4
- "title": "Platformatic",
5
- "description": "This is a service built on top of Platformatic",
6
- "version": "1.0.0"
7
- },
8
- "components": {
9
- "schemas": {}
10
- },
11
- "paths": {
12
- "/runtimes/{pid}/metrics": {
13
- "get": {
14
- "parameters": [
15
- {
16
- "schema": {
17
- "type": "number"
18
- },
19
- "in": "path",
20
- "name": "pid",
21
- "required": true
22
- }
23
- ],
24
- "responses": {
25
- "200": {
26
- "description": "Default Response",
27
- "content": {
28
- "application/json": {
29
- "schema": {
30
- "type": "object",
31
- "additionalProperties": false,
32
- "properties": {
33
- "dataMem": {
34
- "type": "array",
35
- "items": {
36
- "type": "object",
37
- "additionalProperties": false,
38
- "properties": {
39
- "date": {
40
- "type": "string",
41
- "format": "date-time"
42
- },
43
- "rss": {
44
- "type": "number"
45
- },
46
- "totalHeap": {
47
- "type": "number"
48
- },
49
- "usedHeap": {
50
- "type": "number"
51
- },
52
- "newSpace": {
53
- "type": "number"
54
- },
55
- "oldSpace": {
56
- "type": "number"
57
- }
58
- },
59
- "required": [
60
- "date",
61
- "rss",
62
- "totalHeap",
63
- "usedHeap",
64
- "newSpace",
65
- "oldSpace"
66
- ]
67
- }
68
- },
69
- "dataCpu": {
70
- "type": "array",
71
- "items": {
72
- "type": "object",
73
- "additionalProperties": false,
74
- "properties": {
75
- "date": {
76
- "type": "string",
77
- "format": "date-time"
78
- },
79
- "cpu": {
80
- "type": "number"
81
- },
82
- "eventLoop": {
83
- "type": "number"
84
- }
85
- },
86
- "required": [
87
- "date",
88
- "cpu",
89
- "eventLoop"
90
- ]
91
- }
92
- },
93
- "dataLatency": {
94
- "type": "array",
95
- "items": {
96
- "type": "object",
97
- "additionalProperties": false,
98
- "properties": {
99
- "date": {
100
- "type": "string",
101
- "format": "date-time"
102
- },
103
- "p90": {
104
- "type": "number"
105
- },
106
- "p95": {
107
- "type": "number"
108
- },
109
- "p99": {
110
- "type": "number"
111
- }
112
- },
113
- "required": [
114
- "date",
115
- "p90",
116
- "p95",
117
- "p99"
118
- ]
119
- }
120
- },
121
- "dataReq": {
122
- "type": "array",
123
- "items": {
124
- "type": "object",
125
- "additionalProperties": false,
126
- "properties": {
127
- "date": {
128
- "type": "string",
129
- "format": "date-time"
130
- },
131
- "count": {
132
- "type": "number"
133
- },
134
- "rps": {
135
- "type": "number"
136
- }
137
- },
138
- "required": [
139
- "date",
140
- "count",
141
- "rps"
142
- ]
143
- }
144
- },
145
- "dataKafka": {
146
- "type": "array",
147
- "items": {
148
- "type": "object",
149
- "additionalProperties": false,
150
- "properties": {
151
- "date": {
152
- "type": "string",
153
- "format": "date-time"
154
- },
155
- "producers": {
156
- "type": "number"
157
- },
158
- "producedMessages": {
159
- "type": "number"
160
- },
161
- "consumers": {
162
- "type": "number"
163
- },
164
- "consumersStreams": {
165
- "type": "number"
166
- },
167
- "consumersTopics": {
168
- "type": "number"
169
- },
170
- "consumedMessages": {
171
- "type": "number"
172
- },
173
- "hooksMessagesInFlight": {
174
- "type": "number"
175
- },
176
- "hooksDlqMessagesTotal": {
177
- "type": "number"
178
- }
179
- },
180
- "required": [
181
- "date",
182
- "producers",
183
- "producedMessages",
184
- "consumers",
185
- "consumersStreams",
186
- "consumersTopics",
187
- "consumedMessages",
188
- "hooksMessagesInFlight",
189
- "hooksDlqMessagesTotal"
190
- ]
191
- }
192
- },
193
- "dataUndici": {
194
- "type": "array",
195
- "items": {
196
- "type": "object",
197
- "additionalProperties": false,
198
- "properties": {
199
- "date": {
200
- "type": "string",
201
- "format": "date-time"
202
- },
203
- "idleSockets": {
204
- "type": "number"
205
- },
206
- "openSockets": {
207
- "type": "number"
208
- },
209
- "pendingRequests": {
210
- "type": "number"
211
- },
212
- "queuedRequests": {
213
- "type": "number"
214
- },
215
- "activeRequests": {
216
- "type": "number"
217
- },
218
- "sizeRequests": {
219
- "type": "number"
220
- }
221
- },
222
- "required": [
223
- "date",
224
- "idleSockets",
225
- "openSockets",
226
- "pendingRequests",
227
- "queuedRequests",
228
- "activeRequests",
229
- "sizeRequests"
230
- ]
231
- }
232
- },
233
- "dataWebsocket": {
234
- "type": "array",
235
- "items": {
236
- "type": "object",
237
- "additionalProperties": false,
238
- "properties": {
239
- "date": {
240
- "type": "string",
241
- "format": "date-time"
242
- },
243
- "connections": {
244
- "type": "number"
245
- }
246
- },
247
- "required": [
248
- "date",
249
- "connections"
250
- ]
251
- }
252
- }
253
- },
254
- "required": [
255
- "dataMem",
256
- "dataCpu",
257
- "dataKafka",
258
- "dataReq",
259
- "dataLatency",
260
- "dataUndici",
261
- "dataWebsocket"
262
- ]
263
- }
264
- }
265
- }
266
- }
267
- }
268
- }
269
- },
270
- "/runtimes/{pid}/metrics/{serviceId}": {
271
- "get": {
272
- "parameters": [
273
- {
274
- "schema": {
275
- "type": "number"
276
- },
277
- "in": "path",
278
- "name": "pid",
279
- "required": true
280
- },
281
- {
282
- "schema": {
283
- "type": "string"
284
- },
285
- "in": "path",
286
- "name": "serviceId",
287
- "required": true
288
- }
289
- ],
290
- "responses": {
291
- "200": {
292
- "description": "Default Response",
293
- "content": {
294
- "application/json": {
295
- "schema": {
296
- "type": "object",
297
- "additionalProperties": false,
298
- "properties": {
299
- "dataMem": {
300
- "type": "array",
301
- "items": {
302
- "type": "object",
303
- "additionalProperties": false,
304
- "properties": {
305
- "date": {
306
- "type": "string",
307
- "format": "date-time"
308
- },
309
- "rss": {
310
- "type": "number"
311
- },
312
- "totalHeap": {
313
- "type": "number"
314
- },
315
- "usedHeap": {
316
- "type": "number"
317
- },
318
- "newSpace": {
319
- "type": "number"
320
- },
321
- "oldSpace": {
322
- "type": "number"
323
- }
324
- },
325
- "required": [
326
- "date",
327
- "rss",
328
- "totalHeap",
329
- "usedHeap",
330
- "newSpace",
331
- "oldSpace"
332
- ]
333
- }
334
- },
335
- "dataCpu": {
336
- "type": "array",
337
- "items": {
338
- "type": "object",
339
- "additionalProperties": false,
340
- "properties": {
341
- "date": {
342
- "type": "string",
343
- "format": "date-time"
344
- },
345
- "cpu": {
346
- "type": "number"
347
- },
348
- "eventLoop": {
349
- "type": "number"
350
- }
351
- },
352
- "required": [
353
- "date",
354
- "cpu",
355
- "eventLoop"
356
- ]
357
- }
358
- },
359
- "dataLatency": {
360
- "type": "array",
361
- "items": {
362
- "type": "object",
363
- "additionalProperties": false,
364
- "properties": {
365
- "date": {
366
- "type": "string",
367
- "format": "date-time"
368
- },
369
- "p90": {
370
- "type": "number"
371
- },
372
- "p95": {
373
- "type": "number"
374
- },
375
- "p99": {
376
- "type": "number"
377
- }
378
- },
379
- "required": [
380
- "date",
381
- "p90",
382
- "p95",
383
- "p99"
384
- ]
385
- }
386
- },
387
- "dataReq": {
388
- "type": "array",
389
- "items": {
390
- "type": "object",
391
- "additionalProperties": false,
392
- "properties": {
393
- "date": {
394
- "type": "string",
395
- "format": "date-time"
396
- },
397
- "count": {
398
- "type": "number"
399
- },
400
- "rps": {
401
- "type": "number"
402
- }
403
- },
404
- "required": [
405
- "date",
406
- "count",
407
- "rps"
408
- ]
409
- }
410
- },
411
- "dataKafka": {
412
- "type": "array",
413
- "items": {
414
- "type": "object",
415
- "additionalProperties": false,
416
- "properties": {
417
- "date": {
418
- "type": "string",
419
- "format": "date-time"
420
- },
421
- "producers": {
422
- "type": "number"
423
- },
424
- "producedMessages": {
425
- "type": "number"
426
- },
427
- "consumers": {
428
- "type": "number"
429
- },
430
- "consumersStreams": {
431
- "type": "number"
432
- },
433
- "consumersTopics": {
434
- "type": "number"
435
- },
436
- "consumedMessages": {
437
- "type": "number"
438
- },
439
- "hooksMessagesInFlight": {
440
- "type": "number"
441
- },
442
- "hooksDlqMessagesTotal": {
443
- "type": "number"
444
- }
445
- },
446
- "required": [
447
- "date",
448
- "producers",
449
- "producedMessages",
450
- "consumers",
451
- "consumersStreams",
452
- "consumersTopics",
453
- "consumedMessages",
454
- "hooksMessagesInFlight",
455
- "hooksDlqMessagesTotal"
456
- ]
457
- }
458
- },
459
- "dataUndici": {
460
- "type": "array",
461
- "items": {
462
- "type": "object",
463
- "additionalProperties": false,
464
- "properties": {
465
- "date": {
466
- "type": "string",
467
- "format": "date-time"
468
- },
469
- "idleSockets": {
470
- "type": "number"
471
- },
472
- "openSockets": {
473
- "type": "number"
474
- },
475
- "pendingRequests": {
476
- "type": "number"
477
- },
478
- "queuedRequests": {
479
- "type": "number"
480
- },
481
- "activeRequests": {
482
- "type": "number"
483
- },
484
- "sizeRequests": {
485
- "type": "number"
486
- }
487
- },
488
- "required": [
489
- "date",
490
- "idleSockets",
491
- "openSockets",
492
- "pendingRequests",
493
- "queuedRequests",
494
- "activeRequests",
495
- "sizeRequests"
496
- ]
497
- }
498
- },
499
- "dataWebsocket": {
500
- "type": "array",
501
- "items": {
502
- "type": "object",
503
- "additionalProperties": false,
504
- "properties": {
505
- "date": {
506
- "type": "string",
507
- "format": "date-time"
508
- },
509
- "connections": {
510
- "type": "number"
511
- }
512
- },
513
- "required": [
514
- "date",
515
- "connections"
516
- ]
517
- }
518
- }
519
- },
520
- "required": [
521
- "dataMem",
522
- "dataCpu",
523
- "dataKafka",
524
- "dataReq",
525
- "dataLatency",
526
- "dataUndici",
527
- "dataWebsocket"
528
- ]
529
- }
530
- }
531
- }
532
- }
533
- }
534
- }
535
- },
536
- "/runtimes/{pid}/metrics/{serviceId}/{workerId}": {
537
- "get": {
538
- "parameters": [
539
- {
540
- "schema": {
541
- "type": "number"
542
- },
543
- "in": "path",
544
- "name": "pid",
545
- "required": true
546
- },
547
- {
548
- "schema": {
549
- "type": "string"
550
- },
551
- "in": "path",
552
- "name": "serviceId",
553
- "required": true
554
- },
555
- {
556
- "schema": {
557
- "type": "number"
558
- },
559
- "in": "path",
560
- "name": "workerId",
561
- "required": true
562
- }
563
- ],
564
- "responses": {
565
- "200": {
566
- "description": "Default Response",
567
- "content": {
568
- "application/json": {
569
- "schema": {
570
- "type": "object",
571
- "additionalProperties": false,
572
- "properties": {
573
- "dataMem": {
574
- "type": "array",
575
- "items": {
576
- "type": "object",
577
- "additionalProperties": false,
578
- "properties": {
579
- "date": {
580
- "type": "string",
581
- "format": "date-time"
582
- },
583
- "rss": {
584
- "type": "number"
585
- },
586
- "totalHeap": {
587
- "type": "number"
588
- },
589
- "usedHeap": {
590
- "type": "number"
591
- },
592
- "newSpace": {
593
- "type": "number"
594
- },
595
- "oldSpace": {
596
- "type": "number"
597
- }
598
- },
599
- "required": [
600
- "date",
601
- "rss",
602
- "totalHeap",
603
- "usedHeap",
604
- "newSpace",
605
- "oldSpace"
606
- ]
607
- }
608
- },
609
- "dataCpu": {
610
- "type": "array",
611
- "items": {
612
- "type": "object",
613
- "additionalProperties": false,
614
- "properties": {
615
- "date": {
616
- "type": "string",
617
- "format": "date-time"
618
- },
619
- "cpu": {
620
- "type": "number"
621
- },
622
- "eventLoop": {
623
- "type": "number"
624
- }
625
- },
626
- "required": [
627
- "date",
628
- "cpu",
629
- "eventLoop"
630
- ]
631
- }
632
- },
633
- "dataLatency": {
634
- "type": "array",
635
- "items": {
636
- "type": "object",
637
- "additionalProperties": false,
638
- "properties": {
639
- "date": {
640
- "type": "string",
641
- "format": "date-time"
642
- },
643
- "p90": {
644
- "type": "number"
645
- },
646
- "p95": {
647
- "type": "number"
648
- },
649
- "p99": {
650
- "type": "number"
651
- }
652
- },
653
- "required": [
654
- "date",
655
- "p90",
656
- "p95",
657
- "p99"
658
- ]
659
- }
660
- },
661
- "dataReq": {
662
- "type": "array",
663
- "items": {
664
- "type": "object",
665
- "additionalProperties": false,
666
- "properties": {
667
- "date": {
668
- "type": "string",
669
- "format": "date-time"
670
- },
671
- "count": {
672
- "type": "number"
673
- },
674
- "rps": {
675
- "type": "number"
676
- }
677
- },
678
- "required": [
679
- "date",
680
- "count",
681
- "rps"
682
- ]
683
- }
684
- },
685
- "dataKafka": {
686
- "type": "array",
687
- "items": {
688
- "type": "object",
689
- "additionalProperties": false,
690
- "properties": {
691
- "date": {
692
- "type": "string",
693
- "format": "date-time"
694
- },
695
- "producers": {
696
- "type": "number"
697
- },
698
- "producedMessages": {
699
- "type": "number"
700
- },
701
- "consumers": {
702
- "type": "number"
703
- },
704
- "consumersStreams": {
705
- "type": "number"
706
- },
707
- "consumersTopics": {
708
- "type": "number"
709
- },
710
- "consumedMessages": {
711
- "type": "number"
712
- },
713
- "hooksMessagesInFlight": {
714
- "type": "number"
715
- },
716
- "hooksDlqMessagesTotal": {
717
- "type": "number"
718
- }
719
- },
720
- "required": [
721
- "date",
722
- "producers",
723
- "producedMessages",
724
- "consumers",
725
- "consumersStreams",
726
- "consumersTopics",
727
- "consumedMessages",
728
- "hooksMessagesInFlight",
729
- "hooksDlqMessagesTotal"
730
- ]
731
- }
732
- },
733
- "dataUndici": {
734
- "type": "array",
735
- "items": {
736
- "type": "object",
737
- "additionalProperties": false,
738
- "properties": {
739
- "date": {
740
- "type": "string",
741
- "format": "date-time"
742
- },
743
- "idleSockets": {
744
- "type": "number"
745
- },
746
- "openSockets": {
747
- "type": "number"
748
- },
749
- "pendingRequests": {
750
- "type": "number"
751
- },
752
- "queuedRequests": {
753
- "type": "number"
754
- },
755
- "activeRequests": {
756
- "type": "number"
757
- },
758
- "sizeRequests": {
759
- "type": "number"
760
- }
761
- },
762
- "required": [
763
- "date",
764
- "idleSockets",
765
- "openSockets",
766
- "pendingRequests",
767
- "queuedRequests",
768
- "activeRequests",
769
- "sizeRequests"
770
- ]
771
- }
772
- },
773
- "dataWebsocket": {
774
- "type": "array",
775
- "items": {
776
- "type": "object",
777
- "additionalProperties": false,
778
- "properties": {
779
- "date": {
780
- "type": "string",
781
- "format": "date-time"
782
- },
783
- "connections": {
784
- "type": "number"
785
- }
786
- },
787
- "required": [
788
- "date",
789
- "connections"
790
- ]
791
- }
792
- }
793
- },
794
- "required": [
795
- "dataMem",
796
- "dataCpu",
797
- "dataKafka",
798
- "dataReq",
799
- "dataLatency",
800
- "dataUndici",
801
- "dataWebsocket"
802
- ]
803
- }
804
- }
805
- }
806
- }
807
- }
808
- }
809
- },
810
- "/runtimes": {
811
- "get": {
812
- "parameters": [
813
- {
814
- "schema": {
815
- "type": "boolean",
816
- "default": false
817
- },
818
- "in": "query",
819
- "name": "includeAdmin",
820
- "required": false
821
- }
822
- ],
823
- "responses": {
824
- "200": {
825
- "description": "Default Response",
826
- "content": {
827
- "application/json": {
828
- "schema": {
829
- "type": "array",
830
- "items": {
831
- "type": "object",
832
- "additionalProperties": false,
833
- "properties": {
834
- "pid": {
835
- "type": "integer"
836
- },
837
- "cwd": {
838
- "type": "string"
839
- },
840
- "argv": {
841
- "type": "array",
842
- "items": {
843
- "type": "string"
844
- }
845
- },
846
- "uptimeSeconds": {
847
- "type": "number"
848
- },
849
- "execPath": {
850
- "type": "string"
851
- },
852
- "nodeVersion": {
853
- "type": "string"
854
- },
855
- "projectDir": {
856
- "type": "string"
857
- },
858
- "packageName": {
859
- "type": "string"
860
- },
861
- "packageVersion": {
862
- "type": "string"
863
- },
864
- "url": {
865
- "type": "string"
866
- },
867
- "platformaticVersion": {
868
- "type": "string"
869
- },
870
- "selected": {
871
- "type": "boolean"
872
- }
873
- },
874
- "required": [
875
- "pid",
876
- "cwd",
877
- "argv",
878
- "uptimeSeconds",
879
- "execPath",
880
- "nodeVersion",
881
- "projectDir",
882
- "packageName",
883
- "packageVersion",
884
- "url",
885
- "platformaticVersion",
886
- "selected"
887
- ]
888
- }
889
- }
890
- }
891
- }
892
- }
893
- }
894
- }
895
- },
896
- "/runtimes/{pid}/health": {
897
- "get": {
898
- "parameters": [
899
- {
900
- "schema": {
901
- "type": "number"
902
- },
903
- "in": "path",
904
- "name": "pid",
905
- "required": true
906
- }
907
- ],
908
- "responses": {
909
- "200": {
910
- "description": "Default Response",
911
- "content": {
912
- "application/json": {
913
- "schema": {
914
- "type": "object",
915
- "additionalProperties": false,
916
- "properties": {
917
- "status": {
918
- "type": "string",
919
- "enum": [
920
- "OK",
921
- "KO"
922
- ],
923
- "description": "Status can only be 'OK' or 'KO'"
924
- }
925
- },
926
- "required": [
927
- "status"
928
- ]
929
- }
930
- }
931
- }
932
- }
933
- }
934
- }
935
- },
936
- "/runtimes/{pid}/services": {
937
- "get": {
938
- "parameters": [
939
- {
940
- "schema": {
941
- "type": "number"
942
- },
943
- "in": "path",
944
- "name": "pid",
945
- "required": true
946
- }
947
- ],
948
- "responses": {
949
- "200": {
950
- "description": "Default Response",
951
- "content": {
952
- "application/json": {
953
- "schema": {
954
- "type": "object",
955
- "additionalProperties": false,
956
- "required": [
957
- "entrypoint",
958
- "production",
959
- "services"
960
- ],
961
- "properties": {
962
- "entrypoint": {
963
- "type": "string"
964
- },
965
- "production": {
966
- "type": "boolean"
967
- },
968
- "services": {
969
- "type": "array",
970
- "items": {
971
- "anyOf": [
972
- {
973
- "type": "object",
974
- "required": [
975
- "id",
976
- "type",
977
- "status",
978
- "version",
979
- "localUrl",
980
- "entrypoint",
981
- "dependencies"
982
- ],
983
- "properties": {
984
- "id": {
985
- "type": "string"
986
- },
987
- "type": {
988
- "type": "string"
989
- },
990
- "status": {
991
- "type": "string"
992
- },
993
- "version": {
994
- "type": "string"
995
- },
996
- "localUrl": {
997
- "type": "string"
998
- },
999
- "entrypoint": {
1000
- "type": "boolean"
1001
- },
1002
- "workers": {
1003
- "type": "number"
1004
- },
1005
- "url": {
1006
- "type": "string"
1007
- },
1008
- "dependencies": {
1009
- "type": "array",
1010
- "items": {
1011
- "type": "object",
1012
- "required": [
1013
- "id",
1014
- "url",
1015
- "local"
1016
- ],
1017
- "properties": {
1018
- "id": {
1019
- "type": "string"
1020
- },
1021
- "url": {
1022
- "type": "string"
1023
- },
1024
- "local": {
1025
- "type": "boolean"
1026
- }
1027
- }
1028
- }
1029
- }
1030
- }
1031
- },
1032
- {
1033
- "type": "object",
1034
- "required": [
1035
- "id",
1036
- "status"
1037
- ],
1038
- "properties": {
1039
- "id": {
1040
- "type": "string"
1041
- },
1042
- "status": {
1043
- "type": "string"
1044
- }
1045
- }
1046
- }
1047
- ]
1048
- }
1049
- }
1050
- }
1051
- }
1052
- }
1053
- }
1054
- }
1055
- }
1056
- }
1057
- },
1058
- "/runtimes/{pid}/openapi/{serviceId}": {
1059
- "get": {
1060
- "parameters": [
1061
- {
1062
- "schema": {
1063
- "type": "number"
1064
- },
1065
- "in": "path",
1066
- "name": "pid",
1067
- "required": true
1068
- },
1069
- {
1070
- "schema": {
1071
- "type": "string"
1072
- },
1073
- "in": "path",
1074
- "name": "serviceId",
1075
- "required": true
1076
- }
1077
- ],
1078
- "responses": {
1079
- "200": {
1080
- "description": "Default Response"
1081
- }
1082
- }
1083
- }
1084
- },
1085
- "/runtimes/{pid}/restart": {
1086
- "post": {
1087
- "requestBody": {
1088
- "content": {
1089
- "application/json": {
1090
- "schema": {
1091
- "type": "object"
1092
- }
1093
- }
1094
- }
1095
- },
1096
- "parameters": [
1097
- {
1098
- "schema": {
1099
- "type": "number"
1100
- },
1101
- "in": "path",
1102
- "name": "pid",
1103
- "required": true
1104
- }
1105
- ],
1106
- "responses": {
1107
- "200": {
1108
- "description": "Default Response"
1109
- }
1110
- }
1111
- }
1112
- }
1113
- },
1114
- "servers": [
1115
- {
1116
- "url": "/"
1117
- }
1118
- ]
1119
- }