@grnsft/if 0.5.0 → 0.6.0

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 (469) hide show
  1. package/README.md +5 -17
  2. package/Refactor-migration-guide.md +110 -164
  3. package/build/common/config/index.d.ts +1 -0
  4. package/build/common/config/index.js +6 -0
  5. package/build/common/config/strings.d.ts +9 -0
  6. package/build/common/config/strings.js +17 -0
  7. package/build/common/lib/load.d.ts +6 -0
  8. package/build/common/lib/load.js +18 -0
  9. package/build/{types → common/types}/manifest.d.ts +4 -1
  10. package/build/common/types/manifest.js +3 -0
  11. package/build/common/util/debug-logger.js +115 -0
  12. package/build/common/util/fs.js +94 -0
  13. package/build/common/util/helpers.d.ts +15 -0
  14. package/build/common/util/helpers.js +80 -0
  15. package/build/{util → common/util}/logger.js +1 -1
  16. package/build/{util → common/util}/validations.d.ts +149 -47
  17. package/build/common/util/validations.js +141 -0
  18. package/build/common/util/yaml.js +59 -0
  19. package/build/if-check/config/config.d.ts +6 -0
  20. package/build/if-check/config/config.js +31 -0
  21. package/build/{config → if-check/config}/index.d.ts +0 -1
  22. package/build/if-check/config/index.js +8 -0
  23. package/build/if-check/config/strings.d.ts +11 -0
  24. package/build/if-check/config/strings.js +15 -0
  25. package/build/if-check/index.js +98 -0
  26. package/build/if-check/types/process-args.d.ts +4 -0
  27. package/build/if-check/types/process-args.js +3 -0
  28. package/build/if-check/util/args.d.ts +10 -0
  29. package/build/if-check/util/args.js +56 -0
  30. package/build/if-check/util/helpers.d.ts +4 -0
  31. package/build/if-check/util/helpers.js +18 -0
  32. package/build/if-check/util/npm.d.ts +4 -0
  33. package/build/if-check/util/npm.js +59 -0
  34. package/build/if-csv/config/config.d.ts +6 -0
  35. package/build/if-csv/config/config.js +36 -0
  36. package/build/if-csv/config/index.d.ts +2 -0
  37. package/build/if-csv/config/index.js +8 -0
  38. package/build/if-csv/config/strings.d.ts +3 -0
  39. package/build/if-csv/config/strings.js +7 -0
  40. package/build/if-csv/index.js +63 -0
  41. package/build/if-csv/types/csv.d.ts +7 -0
  42. package/build/if-csv/types/csv.js +3 -0
  43. package/build/if-csv/types/process-args.d.ts +5 -0
  44. package/build/if-csv/types/process-args.js +3 -0
  45. package/build/if-csv/util/args.d.ts +12 -0
  46. package/build/if-csv/util/args.js +47 -0
  47. package/build/if-csv/util/helpers.d.ts +9 -0
  48. package/build/if-csv/util/helpers.js +95 -0
  49. package/build/if-diff/config/config.d.ts +6 -0
  50. package/build/if-diff/config/config.js +31 -0
  51. package/build/if-diff/config/index.d.ts +2 -0
  52. package/build/if-diff/config/index.js +8 -0
  53. package/build/if-diff/config/strings.d.ts +6 -0
  54. package/build/if-diff/config/strings.js +10 -0
  55. package/build/if-diff/index.js +46 -0
  56. package/build/{lib → if-diff/lib}/compare.d.ts +1 -1
  57. package/build/if-diff/lib/compare.js +56 -0
  58. package/build/{lib → if-diff/lib}/load.d.ts +16 -18
  59. package/build/if-diff/lib/load.js +51 -0
  60. package/build/if-diff/types/args.js +3 -0
  61. package/build/if-diff/types/compare.js +3 -0
  62. package/build/if-diff/types/process-args.d.ts +4 -0
  63. package/build/if-diff/types/process-args.js +3 -0
  64. package/build/if-diff/util/args.d.ts +5 -0
  65. package/build/if-diff/util/args.js +51 -0
  66. package/build/if-diff/util/helpers.d.ts +13 -0
  67. package/build/if-diff/util/helpers.js +75 -0
  68. package/build/if-env/config/config.d.ts +6 -0
  69. package/build/if-env/config/config.js +37 -0
  70. package/build/if-env/config/index.d.ts +2 -0
  71. package/build/if-env/config/index.js +8 -0
  72. package/build/if-env/config/strings.d.ts +7 -0
  73. package/build/if-env/config/strings.js +11 -0
  74. package/build/if-env/index.js +40 -0
  75. package/build/if-env/types/if-env.js +3 -0
  76. package/build/if-env/types/npm.js +3 -0
  77. package/build/if-env/types/process-args.d.ts +5 -0
  78. package/build/if-env/types/process-args.js +3 -0
  79. package/build/if-env/util/args.d.ts +12 -0
  80. package/build/if-env/util/args.js +47 -0
  81. package/build/if-env/util/helpers.d.ts +20 -0
  82. package/build/if-env/util/helpers.js +94 -0
  83. package/build/{util → if-env/util}/npm.d.ts +0 -4
  84. package/build/if-env/util/npm.js +126 -0
  85. package/build/if-merge/config/config.d.ts +6 -0
  86. package/build/if-merge/config/config.js +43 -0
  87. package/build/if-merge/config/index.d.ts +2 -0
  88. package/build/if-merge/config/index.js +8 -0
  89. package/build/if-merge/config/strings.d.ts +5 -0
  90. package/build/if-merge/config/strings.js +9 -0
  91. package/build/if-merge/index.d.ts +2 -0
  92. package/build/if-merge/index.js +26 -0
  93. package/build/if-merge/types/process-args.d.ts +6 -0
  94. package/build/if-merge/types/process-args.js +3 -0
  95. package/build/if-merge/util/args.d.ts +9 -0
  96. package/build/if-merge/util/args.js +59 -0
  97. package/build/if-merge/util/helpers.d.ts +5 -0
  98. package/build/if-merge/util/helpers.js +83 -0
  99. package/build/if-run/builtins/coefficient/index.d.ts +2 -0
  100. package/build/if-run/builtins/coefficient/index.js +67 -0
  101. package/build/if-run/builtins/copy-param/index.d.ts +2 -0
  102. package/build/if-run/builtins/copy-param/index.js +70 -0
  103. package/build/if-run/builtins/csv-lookup/index.d.ts +2 -0
  104. package/build/if-run/builtins/csv-lookup/index.js +190 -0
  105. package/build/if-run/builtins/divide/index.d.ts +2 -0
  106. package/build/if-run/builtins/divide/index.js +80 -0
  107. package/build/if-run/builtins/exponent/index.d.ts +2 -0
  108. package/build/if-run/builtins/exponent/index.js +60 -0
  109. package/build/{builtins → if-run/builtins}/export-log.d.ts +1 -1
  110. package/build/{builtins → if-run/builtins}/export-log.js +1 -1
  111. package/build/{builtins → if-run/builtins}/export-yaml.d.ts +1 -1
  112. package/build/if-run/builtins/export-yaml.js +30 -0
  113. package/build/{builtins → if-run/builtins}/index.d.ts +2 -2
  114. package/build/{builtins → if-run/builtins}/index.js +6 -6
  115. package/build/if-run/builtins/interpolation/index.d.ts +2 -0
  116. package/build/if-run/builtins/interpolation/index.js +151 -0
  117. package/build/if-run/builtins/mock-observations/helpers/common-generator.js +29 -0
  118. package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.js +48 -0
  119. package/build/if-run/builtins/mock-observations/index.d.ts +2 -0
  120. package/build/if-run/builtins/mock-observations/index.js +116 -0
  121. package/build/if-run/builtins/mock-observations/interfaces/index.js +3 -0
  122. package/build/if-run/builtins/multiply/index.d.ts +2 -0
  123. package/build/if-run/builtins/multiply/index.js +59 -0
  124. package/build/if-run/builtins/regex/index.d.ts +2 -0
  125. package/build/if-run/builtins/regex/index.js +76 -0
  126. package/build/if-run/builtins/sci/index.d.ts +2 -0
  127. package/build/if-run/builtins/sci/index.js +92 -0
  128. package/build/if-run/builtins/sci-embodied/index.d.ts +2 -0
  129. package/build/if-run/builtins/sci-embodied/index.js +156 -0
  130. package/build/if-run/builtins/shell/index.d.ts +2 -0
  131. package/build/if-run/builtins/shell/index.js +60 -0
  132. package/build/if-run/builtins/subtract/index.d.ts +2 -0
  133. package/build/if-run/builtins/subtract/index.js +61 -0
  134. package/build/if-run/builtins/sum/index.d.ts +2 -0
  135. package/build/if-run/builtins/sum/index.js +66 -0
  136. package/build/if-run/builtins/time-converter/config.js +44 -0
  137. package/build/if-run/builtins/time-converter/index.d.ts +2 -0
  138. package/build/if-run/builtins/time-converter/index.js +79 -0
  139. package/build/if-run/builtins/time-sync/index.d.ts +17 -0
  140. package/build/if-run/builtins/time-sync/index.js +339 -0
  141. package/build/if-run/config/config.d.ts +9 -0
  142. package/build/if-run/config/config.js +73 -0
  143. package/build/if-run/config/index.d.ts +2 -0
  144. package/build/if-run/config/index.js +8 -0
  145. package/build/{config → if-run/config}/strings.d.ts +28 -54
  146. package/build/if-run/config/strings.js +76 -0
  147. package/build/if-run/index.d.ts +2 -0
  148. package/build/if-run/index.js +63 -0
  149. package/build/if-run/lib/aggregate.d.ts +15 -0
  150. package/build/if-run/lib/aggregate.js +123 -0
  151. package/build/if-run/lib/compute.js +142 -0
  152. package/build/{lib → if-run/lib}/environment.d.ts +1 -1
  153. package/build/if-run/lib/environment.js +75 -0
  154. package/build/{lib → if-run/lib}/exhaust.d.ts +1 -1
  155. package/build/if-run/lib/exhaust.js +27 -0
  156. package/build/if-run/lib/explain.d.ts +9 -0
  157. package/build/if-run/lib/explain.js +43 -0
  158. package/build/if-run/lib/initialize.d.ts +6 -0
  159. package/build/if-run/lib/initialize.js +109 -0
  160. package/build/if-run/lib/regroup.d.ts +5 -0
  161. package/build/if-run/lib/regroup.js +64 -0
  162. package/build/if-run/types/aggregation.d.ts +5 -0
  163. package/build/if-run/types/aggregation.js +6 -0
  164. package/build/{types → if-run/types}/compute.d.ts +12 -8
  165. package/build/if-run/types/compute.js +3 -0
  166. package/build/if-run/types/environment.js +3 -0
  167. package/build/{types → if-run/types}/exhaust-plugin-interface.d.ts +1 -1
  168. package/build/if-run/types/exhaust-plugin-interface.js +3 -0
  169. package/build/if-run/types/explain.d.ts +10 -0
  170. package/build/if-run/types/explain.js +3 -0
  171. package/build/if-run/types/interface.d.ts +3 -0
  172. package/build/if-run/types/interface.js +6 -0
  173. package/build/if-run/types/plugin-storage.js +3 -0
  174. package/build/if-run/types/process-args.d.ts +25 -0
  175. package/build/if-run/types/process-args.js +3 -0
  176. package/build/if-run/types/time-sync.js +3 -0
  177. package/build/{util → if-run/util}/aggregation-helper.d.ts +2 -1
  178. package/build/if-run/util/aggregation-helper.js +47 -0
  179. package/build/if-run/util/args.d.ts +9 -0
  180. package/build/if-run/util/args.js +60 -0
  181. package/build/if-run/util/helpers.d.ts +14 -0
  182. package/build/if-run/util/helpers.js +57 -0
  183. package/build/if-run/util/log-memoize.js +19 -0
  184. package/build/if-run/util/os-checker.js +97 -0
  185. package/build/{util → if-run/util}/plugin-storage.d.ts +1 -1
  186. package/build/if-run/util/plugin-storage.js +34 -0
  187. package/jest.config.js +2 -6
  188. package/manifests/examples/builtins/coefficient/failure-invalid-config-input-param.yml +2 -2
  189. package/manifests/examples/builtins/coefficient/failure-output-param-is-null.yaml +3 -3
  190. package/manifests/examples/builtins/coefficient/success.yml +2 -2
  191. package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +3 -3
  192. package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +3 -3
  193. package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml +3 -3
  194. package/manifests/examples/builtins/csv-lookup/cloud-metadata/success.yml +3 -3
  195. package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-column.yml +3 -3
  196. package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-output.yml +3 -3
  197. package/manifests/examples/builtins/csv-lookup/region-metadata/success-renaming.yml +4 -4
  198. package/manifests/examples/builtins/csv-lookup/region-metadata/success.yml +3 -3
  199. package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-missing-input-param.yml +2 -2
  200. package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yml +2 -2
  201. package/manifests/examples/builtins/csv-lookup/tdp-finder/success.yml +2 -2
  202. package/manifests/examples/builtins/divide/failure-denominator-equal-zero.yml +4 -4
  203. package/manifests/examples/builtins/divide/failure-invalid-config-denominator.yml +5 -5
  204. package/manifests/examples/builtins/divide/failure-missing-numerator.yml +4 -4
  205. package/manifests/examples/builtins/divide/success.yml +4 -6
  206. package/manifests/examples/builtins/exponent/success.yml +5 -7
  207. package/manifests/examples/builtins/interpolation/interpolation.yml +2 -2
  208. package/manifests/examples/builtins/interpolation/success.yml +2 -1
  209. package/manifests/examples/builtins/mock-observations/failure-invalid-config-cpu-range.yml +2 -2
  210. package/manifests/examples/builtins/mock-observations/failure-invalid-memory-utilization-range.yml +2 -2
  211. package/manifests/examples/builtins/mock-observations/failure-missing-timestamp-from-param.yml +2 -2
  212. package/manifests/examples/builtins/mock-observations/success.yml +2 -2
  213. package/manifests/examples/builtins/multiply/failure-input-parameter-is-missing.yml +2 -4
  214. package/manifests/examples/builtins/multiply/success-with-multiple-inputs.yml +2 -4
  215. package/manifests/examples/builtins/multiply/success.yml +3 -4
  216. package/manifests/examples/builtins/regex/failure-missing-input-param.yml +2 -4
  217. package/manifests/examples/builtins/regex/failure-not-matching-with-regex.yml +2 -4
  218. package/manifests/examples/builtins/regex/success.yml +2 -4
  219. package/manifests/examples/builtins/sci/failure-invalid-config-value.yml +2 -2
  220. package/manifests/examples/builtins/sci/failure-missing-input-param.yml +3 -2
  221. package/manifests/examples/builtins/sci/success.yml +2 -3
  222. package/manifests/examples/builtins/sci-embodied/failure-invalid-default-emission-value.yml +3 -3
  223. package/manifests/examples/builtins/sci-embodied/failure-missing-expected-lifespan.yml +2 -2
  224. package/manifests/examples/builtins/sci-embodied/success.yml +2 -2
  225. package/manifests/examples/builtins/shell/failure-invalid-command.yml +2 -2
  226. package/manifests/examples/builtins/shell/success.yml +2 -1
  227. package/manifests/examples/builtins/subtract/success.yml +6 -8
  228. package/manifests/examples/builtins/sum/failure-missing-input-param.yml +2 -4
  229. package/manifests/examples/builtins/sum/failure-missing-output-param.yml +3 -5
  230. package/manifests/examples/builtins/sum/success.yml +2 -4
  231. package/manifests/examples/builtins/time-converter/success.yaml +24 -0
  232. package/manifests/examples/builtins/time-sync/failure-config-start-later-end.yml +3 -3
  233. package/manifests/examples/builtins/time-sync/failure-missing-global-config.yml +3 -3
  234. package/manifests/examples/builtins/time-sync/success.yml +2 -2
  235. package/manifests/examples/{builtins/groupby/failure-invalid-config-group.yml → features/regroup/failure-invalid-regroup.yml} +4 -11
  236. package/manifests/examples/{builtins/groupby → features/regroup}/failure-missing-cloud-instance-type.yml +5 -12
  237. package/manifests/examples/{builtins/groupby → features/regroup}/success.yml +4 -11
  238. package/manifests/examples/pipelines/generics.yml +12 -13
  239. package/manifests/examples/pipelines/instance-metadata.yml +4 -5
  240. package/manifests/examples/pipelines/nesting.yml +157 -50
  241. package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml +997 -0
  242. package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-mocks.yaml +1059 -0
  243. package/manifests/examples/pipelines/pipeline-teads-sci.yml +11 -11
  244. package/manifests/examples/pipelines/pipeline-with-aggregate.yml +114 -37
  245. package/manifests/examples/pipelines/pipeline-with-mocks.yml +193 -103
  246. package/manifests/examples/pipelines/scenario-1.yml +34 -0
  247. package/manifests/examples/pipelines/scenario-2.yml +52 -0
  248. package/manifests/examples/pipelines/scenario-3.yml +86 -0
  249. package/manifests/examples/pipelines/scenario-4.yml +46 -0
  250. package/manifests/examples/pipelines/scenario-5.yml +46 -0
  251. package/manifests/examples/pipelines/sci.yml +15 -17
  252. package/manifests/examples/pipelines/teads-curve.yml +7 -6
  253. package/manifests/examples/pipelines/zeros.yml +15 -16
  254. package/manifests/outputs/bugs/aggregation-error-wrong-metric.yaml +51 -59
  255. package/manifests/outputs/bugs/input-error-missing-duration.yaml +14 -16
  256. package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +14 -16
  257. package/manifests/outputs/bugs/pipeline-error-naming-mismatch.yaml +14 -16
  258. package/manifests/outputs/bugs/pipeline-error-uninitialized-plugin.yaml +15 -17
  259. package/manifests/outputs/bugs/pipeline-ordering-error.yaml +23 -26
  260. package/manifests/outputs/bugs/sci-embodied-missing-resources-total.yaml +13 -14
  261. package/manifests/outputs/{plugins → builtins}/coefficient/failure-invalid-config-input-param.yaml +13 -17
  262. package/manifests/outputs/{plugins → builtins}/coefficient/failure-output-param-is-null.yaml +13 -17
  263. package/manifests/outputs/{plugins → builtins}/coefficient/success.yaml +11 -16
  264. package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +76 -0
  265. package/manifests/outputs/{plugins → builtins}/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml +16 -19
  266. package/manifests/outputs/{plugins → builtins}/csv-lookup/cloud-metadata/success.yaml +16 -19
  267. package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/failure-missing-column.yaml +14 -15
  268. package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/failure-missing-output.yaml +13 -15
  269. package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/success-renaming.yaml +13 -15
  270. package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/success.yaml +14 -16
  271. package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/failure-missing-input-param.yaml +13 -16
  272. package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yaml +13 -15
  273. package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/success.yaml +13 -15
  274. package/manifests/outputs/{plugins → builtins}/divide/failure-invalid-config-denominator.yaml +13 -17
  275. package/manifests/outputs/{plugins → builtins}/divide/failure-missing-numerator.yaml +13 -15
  276. package/manifests/outputs/{plugins → builtins}/divide/success-denominator-equal-zero.yaml +14 -18
  277. package/manifests/outputs/{plugins → builtins}/divide/success.yaml +14 -18
  278. package/manifests/outputs/{plugins → builtins}/exponent/success.yaml +13 -17
  279. package/manifests/outputs/{plugins → builtins}/interpolation/interpolation.yaml +14 -16
  280. package/manifests/outputs/{plugins → builtins}/interpolation/success.yaml +14 -16
  281. package/manifests/outputs/{plugins → builtins}/mock-observations/failure-invalid-config-cpu-range.yaml +13 -15
  282. package/manifests/outputs/{plugins → builtins}/mock-observations/failure-invalid-memory-utilization-range.yaml +13 -15
  283. package/manifests/outputs/{plugins → builtins}/mock-observations/failure-missing-timestamp-from-param.yaml +13 -15
  284. package/manifests/outputs/builtins/mock-observations/success.yaml +358 -0
  285. package/manifests/outputs/{plugins → builtins}/multiply/failure-input-parameter-is-missing.yaml +13 -17
  286. package/manifests/outputs/{plugins → builtins}/multiply/success-with-multiple-inputs.yaml +13 -17
  287. package/manifests/outputs/{plugins → builtins}/multiply/success.yaml +13 -17
  288. package/manifests/outputs/{plugins → builtins}/regex/failure-missing-input-param.yaml +13 -17
  289. package/manifests/outputs/{plugins → builtins}/regex/success.yaml +14 -19
  290. package/manifests/outputs/{plugins → builtins}/sci/failure-invalid-config-value.yaml +14 -16
  291. package/manifests/outputs/{plugins → builtins}/sci/failure-missing-input-param.yaml +13 -15
  292. package/manifests/outputs/{plugins/sci/success.yml.yaml → builtins/sci/success.yaml} +13 -16
  293. package/manifests/outputs/{plugins → builtins}/sci-embodied/failure-invalid-default-emission-value.yaml +13 -15
  294. package/manifests/outputs/{plugins → builtins}/sci-embodied/failure-missing-expected-lifespan.yaml +13 -15
  295. package/manifests/outputs/{plugins → builtins}/sci-embodied/success.yaml +13 -15
  296. package/manifests/outputs/{plugins → builtins}/shell/failure-invalid-command.yaml +14 -16
  297. package/manifests/outputs/{plugins → builtins}/shell/success.yaml +14 -16
  298. package/manifests/outputs/{plugins → builtins}/subtract/success.yaml +13 -17
  299. package/manifests/outputs/{plugins → builtins}/sum/failure-missing-input-param.yaml +13 -17
  300. package/manifests/outputs/{plugins → builtins}/sum/failure-missing-output-param.yaml +13 -17
  301. package/manifests/outputs/{plugins → builtins}/sum/success.yaml +13 -17
  302. package/manifests/outputs/{plugins → builtins}/time-sync/failure-config-start-later-end.yaml +20 -23
  303. package/manifests/outputs/{plugins → builtins}/time-sync/success.yaml +38 -35
  304. package/manifests/outputs/features/aggregate-failure-invalid-metrics.yaml +17 -18
  305. package/manifests/outputs/features/aggregate-failure-missing-metric-in-inputs.yaml +17 -18
  306. package/manifests/outputs/features/aggregate-horizontal.yaml +27 -23
  307. package/manifests/outputs/features/aggregate-vertical.yaml +33 -29
  308. package/manifests/outputs/features/aggregate.yaml +33 -29
  309. package/manifests/outputs/{plugins/groupby/failure-invalid-config-group.yaml → features/failure-invalid-regroup.yaml} +16 -25
  310. package/manifests/outputs/{plugins/groupby → features}/failure-missing-cloud-instance-type.yaml +16 -25
  311. package/manifests/outputs/pipelines/cloud-metadata-divide.yaml +14 -18
  312. package/manifests/outputs/pipelines/generics.yaml +239 -0
  313. package/manifests/outputs/pipelines/instance-metadata.yaml +98 -0
  314. package/manifests/outputs/pipelines/mock-obs-time-sync.yaml +246 -147
  315. package/manifests/outputs/pipelines/nesting.yaml +1799 -0
  316. package/manifests/outputs/pipelines/pipeline-teads-sci.yaml +276 -0
  317. package/manifests/outputs/pipelines/sci.yaml +297 -0
  318. package/manifests/outputs/pipelines/teads-curve.yaml +188 -0
  319. package/manifests/outputs/pipelines/zeros.yaml +198 -0
  320. package/package.json +17 -16
  321. package/src/__mocks__/mock-manifest.yaml +2 -3
  322. package/src/{config → if-env/config}/env-template.yml +2 -3
  323. package/src/{builtins → if-run/builtins}/coefficient/README.md +31 -9
  324. package/src/{builtins → if-run/builtins}/copy-param/README.md +30 -11
  325. package/src/{builtins → if-run/builtins}/csv-lookup/README.md +32 -20
  326. package/src/{builtins → if-run/builtins}/divide/README.md +21 -8
  327. package/src/{builtins → if-run/builtins}/exponent/README.md +19 -8
  328. package/src/{builtins → if-run/builtins}/interpolation/README.md +21 -6
  329. package/src/{builtins → if-run/builtins}/mock-observations/README.md +18 -4
  330. package/src/{builtins → if-run/builtins}/multiply/README.md +20 -8
  331. package/src/{builtins → if-run/builtins}/regex/README.md +19 -9
  332. package/src/{builtins → if-run/builtins}/sci/README.md +19 -9
  333. package/src/{builtins → if-run/builtins}/sci-embodied/README.md +17 -5
  334. package/src/{builtins → if-run/builtins}/shell/README.md +19 -7
  335. package/src/{builtins → if-run/builtins}/subtract/README.md +17 -6
  336. package/src/{builtins → if-run/builtins}/sum/README.md +34 -8
  337. package/src/if-run/builtins/time-converter/README.md +136 -0
  338. package/src/if-run/builtins/time-sync/README.md +267 -0
  339. package/build/builtins/coefficient/index.d.ts +0 -2
  340. package/build/builtins/coefficient/index.js +0 -65
  341. package/build/builtins/copy-param/index.d.ts +0 -2
  342. package/build/builtins/copy-param/index.js +0 -68
  343. package/build/builtins/csv-lookup/index.d.ts +0 -2
  344. package/build/builtins/csv-lookup/index.js +0 -188
  345. package/build/builtins/divide/index.d.ts +0 -2
  346. package/build/builtins/divide/index.js +0 -78
  347. package/build/builtins/exponent/index.d.ts +0 -2
  348. package/build/builtins/exponent/index.js +0 -58
  349. package/build/builtins/export-csv-raw.d.ts +0 -4
  350. package/build/builtins/export-csv-raw.js +0 -132
  351. package/build/builtins/export-csv.d.ts +0 -10
  352. package/build/builtins/export-csv.js +0 -96
  353. package/build/builtins/export-yaml.js +0 -30
  354. package/build/builtins/group-by.d.ts +0 -5
  355. package/build/builtins/group-by.js +0 -71
  356. package/build/builtins/interpolation/index.d.ts +0 -2
  357. package/build/builtins/interpolation/index.js +0 -148
  358. package/build/builtins/mock-observations/helpers/common-generator.js +0 -29
  359. package/build/builtins/mock-observations/helpers/rand-int-generator.js +0 -48
  360. package/build/builtins/mock-observations/index.d.ts +0 -2
  361. package/build/builtins/mock-observations/index.js +0 -114
  362. package/build/builtins/mock-observations/interfaces/index.js +0 -3
  363. package/build/builtins/multiply/index.d.ts +0 -2
  364. package/build/builtins/multiply/index.js +0 -57
  365. package/build/builtins/regex/index.d.ts +0 -2
  366. package/build/builtins/regex/index.js +0 -74
  367. package/build/builtins/sci/config.js +0 -44
  368. package/build/builtins/sci/index.d.ts +0 -2
  369. package/build/builtins/sci/index.js +0 -70
  370. package/build/builtins/sci-embodied/index.d.ts +0 -2
  371. package/build/builtins/sci-embodied/index.js +0 -114
  372. package/build/builtins/shell/index.d.ts +0 -2
  373. package/build/builtins/shell/index.js +0 -58
  374. package/build/builtins/subtract/index.d.ts +0 -2
  375. package/build/builtins/subtract/index.js +0 -59
  376. package/build/builtins/sum/index.d.ts +0 -2
  377. package/build/builtins/sum/index.js +0 -64
  378. package/build/builtins/time-sync.d.ts +0 -2
  379. package/build/builtins/time-sync.js +0 -300
  380. package/build/check.js +0 -95
  381. package/build/config/config.d.ts +0 -29
  382. package/build/config/config.js +0 -147
  383. package/build/config/index.js +0 -10
  384. package/build/config/params.d.ts +0 -2
  385. package/build/config/params.js +0 -196
  386. package/build/config/strings.js +0 -105
  387. package/build/diff.js +0 -46
  388. package/build/env.js +0 -38
  389. package/build/index.js +0 -48
  390. package/build/lib/aggregate.d.ts +0 -6
  391. package/build/lib/aggregate.js +0 -77
  392. package/build/lib/compare.js +0 -56
  393. package/build/lib/compute.js +0 -91
  394. package/build/lib/environment.js +0 -75
  395. package/build/lib/exhaust.js +0 -53
  396. package/build/lib/initialize.d.ts +0 -6
  397. package/build/lib/initialize.js +0 -101
  398. package/build/lib/load.js +0 -70
  399. package/build/lib/parameterize.d.ts +0 -6
  400. package/build/lib/parameterize.js +0 -55
  401. package/build/types/aggregation.d.ts +0 -2
  402. package/build/types/aggregation.js +0 -5
  403. package/build/types/compute.js +0 -3
  404. package/build/types/environment.js +0 -3
  405. package/build/types/exhaust-plugin-interface.js +0 -3
  406. package/build/types/if-env.js +0 -3
  407. package/build/types/interface.d.ts +0 -4
  408. package/build/types/interface.js +0 -8
  409. package/build/types/lib/compare.js +0 -3
  410. package/build/types/manifest.js +0 -3
  411. package/build/types/npm.js +0 -3
  412. package/build/types/parameters.d.ts +0 -5
  413. package/build/types/parameters.js +0 -5
  414. package/build/types/plugin-storage.js +0 -3
  415. package/build/types/process-args.d.ts +0 -33
  416. package/build/types/process-args.js +0 -3
  417. package/build/types/time-sync.js +0 -3
  418. package/build/types/util/args.js +0 -3
  419. package/build/util/aggregation-helper.js +0 -55
  420. package/build/util/args.d.ts +0 -37
  421. package/build/util/args.js +0 -205
  422. package/build/util/debug-logger.js +0 -118
  423. package/build/util/fs.js +0 -94
  424. package/build/util/helpers.d.ts +0 -57
  425. package/build/util/helpers.js +0 -251
  426. package/build/util/json.d.ts +0 -4
  427. package/build/util/json.js +0 -36
  428. package/build/util/log-memoize.js +0 -19
  429. package/build/util/npm.js +0 -152
  430. package/build/util/os-checker.js +0 -97
  431. package/build/util/plugin-storage.js +0 -34
  432. package/build/util/validations.js +0 -124
  433. package/build/util/yaml.js +0 -59
  434. package/manifests/outputs/bugs/initialize-error-no-config.yaml +0 -78
  435. package/manifests/outputs/bugs/initialize-error-no-path.yaml +0 -91
  436. package/manifests/outputs/bugs/initialize-error-no-plugins.yaml +0 -74
  437. package/manifests/outputs/divide.yaml +0 -93
  438. package/manifests/outputs/pipelines/mock-obs-group-by-cloud-meta.yaml +0 -645
  439. package/manifests/outputs/pipelines/mock-obs-groupby.yaml +0 -178
  440. package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +0 -27
  441. package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +0 -27
  442. package/manifests/outputs/plugins/groupby/success.yaml +0 -101
  443. package/manifests/outputs/plugins/mock-observations/success.yaml +0 -220
  444. package/manifests/outputs/plugins/regex/failure-not-matching-with-regex.yaml +0 -76
  445. package/manifests/outputs/plugins/time-sync/failure-missing-global-config.yaml +0 -78
  446. package/src/__tests__/integration/templates/integration.yaml +0 -16
  447. package/src/builtins/README.md +0 -848
  448. /package/build/{util → common/util}/debug-logger.d.ts +0 -0
  449. /package/build/{util → common/util}/fs.d.ts +0 -0
  450. /package/build/{util → common/util}/logger.d.ts +0 -0
  451. /package/build/{util → common/util}/yaml.d.ts +0 -0
  452. /package/build/{index.d.ts → if-check/index.d.ts} +0 -0
  453. /package/build/{check.d.ts → if-csv/index.d.ts} +0 -0
  454. /package/build/{diff.d.ts → if-diff/index.d.ts} +0 -0
  455. /package/build/{types/util → if-diff/types}/args.d.ts +0 -0
  456. /package/build/{types/lib → if-diff/types}/compare.d.ts +0 -0
  457. /package/build/{env.d.ts → if-env/index.d.ts} +0 -0
  458. /package/build/{types → if-env/types}/if-env.d.ts +0 -0
  459. /package/build/{types → if-env/types}/npm.d.ts +0 -0
  460. /package/build/{builtins → if-run/builtins}/mock-observations/helpers/common-generator.d.ts +0 -0
  461. /package/build/{builtins → if-run/builtins}/mock-observations/helpers/rand-int-generator.d.ts +0 -0
  462. /package/build/{builtins → if-run/builtins}/mock-observations/interfaces/index.d.ts +0 -0
  463. /package/build/{builtins/sci → if-run/builtins/time-converter}/config.d.ts +0 -0
  464. /package/build/{lib → if-run/lib}/compute.d.ts +0 -0
  465. /package/build/{types → if-run/types}/environment.d.ts +0 -0
  466. /package/build/{types → if-run/types}/plugin-storage.d.ts +0 -0
  467. /package/build/{types → if-run/types}/time-sync.d.ts +0 -0
  468. /package/build/{util → if-run/util}/log-memoize.d.ts +0 -0
  469. /package/build/{util → if-run/util}/os-checker.d.ts +0 -0
@@ -0,0 +1,997 @@
1
+ name: pipeline-with-aggregate
2
+ description: a full pipeline with the aggregate feature enabled
3
+ tags: null
4
+ aggregation:
5
+ metrics:
6
+ - carbon
7
+ type: both
8
+ initialize:
9
+ plugins:
10
+ interpolate:
11
+ path: builtin
12
+ method: Interpolation
13
+ global-config:
14
+ method: linear
15
+ x:
16
+ - 0
17
+ - 10
18
+ - 50
19
+ - 100
20
+ 'y':
21
+ - 0.12
22
+ - 0.32
23
+ - 0.75
24
+ - 1.02
25
+ input-parameter: cpu/utilization
26
+ output-parameter: cpu-factor
27
+ parameter-metadata:
28
+ inputs:
29
+ cpu/utilization:
30
+ unit: percentage
31
+ description: refers to CPU utilization.
32
+ aggregation-method: avg
33
+ outputs:
34
+ cpu-factor:
35
+ unit: kWh
36
+ description: result of interpolate
37
+ aggregation-method: avg
38
+ cpu-factor-to-wattage:
39
+ path: builtin
40
+ method: Multiply
41
+ global-config:
42
+ input-parameters:
43
+ - cpu-factor
44
+ - cpu/thermal-design-power
45
+ output-parameter: cpu-wattage
46
+ parameter-metadata:
47
+ inputs:
48
+ cpu-factor:
49
+ unit: kWh
50
+ description: result of interpolate
51
+ aggregation-method: avg
52
+ cpu/thermal-design-power:
53
+ unit: kWh
54
+ description: thermal design power for a processor
55
+ aggregation-method: avg
56
+ outputs:
57
+ cpu-wattage:
58
+ unit: kWh
59
+ description: the energy used by the CPU
60
+ aggregation-method: sum
61
+ wattage-times-duration:
62
+ path: builtin
63
+ method: Multiply
64
+ global-config:
65
+ input-parameters:
66
+ - cpu-wattage
67
+ - duration
68
+ output-parameter: cpu-wattage-times-duration
69
+ wattage-to-energy-kwh:
70
+ path: builtin
71
+ method: Divide
72
+ global-config:
73
+ numerator: cpu-wattage-times-duration
74
+ denominator: 3600000
75
+ output: cpu-energy-raw
76
+ parameter-metadata:
77
+ inputs:
78
+ cpu-wattage-times-duration:
79
+ unit: kWh
80
+ description: CPU wattage multiplied by duration
81
+ aggregation-method: sum
82
+ outputs:
83
+ cpu-energy-raw:
84
+ unit: kWh
85
+ description: Raw energy used by CPU in kWh
86
+ aggregation-method: sum
87
+ calculate-vcpu-ratio:
88
+ path: builtin
89
+ method: Divide
90
+ global-config:
91
+ numerator: vcpus-total
92
+ denominator: vcpus-allocated
93
+ output: vcpu-ratio
94
+ parameter-metadata:
95
+ inputs:
96
+ vcpus-total:
97
+ unit: count
98
+ description: total number of vcpus available on a particular resource
99
+ aggregation-method: none
100
+ vcpus-allocated:
101
+ unit: count
102
+ description: number of vcpus allocated to particular resource
103
+ aggregation-method: none
104
+ outputs:
105
+ vcpu-ratio:
106
+ unit: none
107
+ description: Ratio of vCPUs
108
+ aggregation-method: none
109
+ correct-cpu-energy-for-vcpu-ratio:
110
+ path: builtin
111
+ method: Divide
112
+ global-config:
113
+ numerator: cpu-energy-raw
114
+ denominator: vcpu-ratio
115
+ output: cpu-energy-kwh
116
+ sci-embodied:
117
+ path: builtin
118
+ method: SciEmbodied
119
+ operational-carbon:
120
+ path: builtin
121
+ method: Multiply
122
+ global-config:
123
+ input-parameters:
124
+ - cpu-energy-kwh
125
+ - grid/carbon-intensity
126
+ output-parameter: carbon-operational
127
+ parameter-metadata:
128
+ inputs:
129
+ cpu-energy-kwh:
130
+ unit: kWh
131
+ description: Corrected CPU energy in kWh
132
+ aggregation-method: sum
133
+ grid/carbon-intensity:
134
+ unit: gCO2eq/kWh
135
+ description: Carbon intensity for the grid
136
+ aggregation-method: avg
137
+ outputs:
138
+ carbon-operational:
139
+ unit: gCO2eq
140
+ description: Operational carbon footprint
141
+ aggregation-method: sum
142
+ sci:
143
+ path: builtin
144
+ method: Sci
145
+ global-config:
146
+ functional-unit: requests
147
+ parameter-metadata:
148
+ inputs:
149
+ requests:
150
+ unit: none
151
+ description: expressed the final SCI value
152
+ aggregation-method: sum
153
+ sum-carbon:
154
+ path: builtin
155
+ method: Sum
156
+ global-config:
157
+ input-parameters:
158
+ - carbon-operational
159
+ - carbon-embodied
160
+ output-parameter: carbon
161
+ parameter-metadata:
162
+ inputs:
163
+ carbon-operational:
164
+ description: Operational carbon footprint
165
+ unit: gCO2eq
166
+ aggregation-method: sum
167
+ carbon-embodied:
168
+ description: Embodied carbon footprint
169
+ unit: gCO2eq
170
+ aggregation-method: sum
171
+ outputs:
172
+ carbon:
173
+ description: Total carbon footprint
174
+ unit: gCO2eq
175
+ aggregation-method: sum
176
+ time-sync:
177
+ path: builtin
178
+ method: TimeSync
179
+ global-config:
180
+ start-time: '2023-12-12T00:00:00.000Z'
181
+ end-time: '2023-12-12T00:01:00.000Z'
182
+ interval: 5
183
+ allow-padding: true
184
+ parameter-metadata:
185
+ inputs:
186
+ timestamp:
187
+ unit: RFC3339
188
+ description: refers to the time of occurrence of the input
189
+ aggregation-method: none
190
+ duration:
191
+ unit: seconds
192
+ description: refers to the duration of the input
193
+ aggregation-method: sum
194
+ cloud/instance-type:
195
+ unit: none
196
+ description: type of Cloud Instance name used in the cloud provider APIs
197
+ aggregation-method: none
198
+ cloud/region:
199
+ unit: none
200
+ description: region cloud instance
201
+ aggregation-method: none
202
+ time-reserved:
203
+ unit: seconds
204
+ description: time reserved for a component
205
+ aggregation-method: avg
206
+ execution:
207
+ command: >-
208
+ /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node
209
+ /Users/mariamkhalatova/Projects/UK/if/src/if-run/index.ts -m
210
+ manifests/examples/pipelines/pipeline-with-aggregate.yml -o
211
+ manifests/outputs/pipelines/pipeline-with-aggregate-1.yaml
212
+ environment:
213
+ if-version: 0.5.0
214
+ os: macOS
215
+ os-version: '14.5'
216
+ node-version: 18.14.2
217
+ date-time: 2024-07-31T12:41:31.920Z (UTC)
218
+ dependencies:
219
+ - '@babel/core@7.22.10'
220
+ - '@babel/preset-typescript@7.23.3'
221
+ - '@commitlint/cli@18.6.0'
222
+ - '@commitlint/config-conventional@18.6.0'
223
+ - '@grnsft/if-core@0.0.16'
224
+ - '@jest/globals@29.7.0'
225
+ - '@types/jest@29.5.8'
226
+ - '@types/js-yaml@4.0.9'
227
+ - '@types/luxon@3.4.2'
228
+ - '@types/node@20.9.0'
229
+ - axios-mock-adapter@1.22.0
230
+ - axios@1.7.2
231
+ - cross-env@7.0.3
232
+ - csv-parse@5.5.6
233
+ - csv-stringify@6.4.6
234
+ - fixpack@4.0.0
235
+ - gts@5.2.0
236
+ - husky@8.0.3
237
+ - jest@29.7.0
238
+ - js-yaml@4.1.0
239
+ - lint-staged@15.2.2
240
+ - luxon@3.4.4
241
+ - release-it@16.3.0
242
+ - rimraf@5.0.5
243
+ - ts-command-line-args@2.5.1
244
+ - ts-jest@29.1.1
245
+ - typescript-cubic-spline@1.0.1
246
+ - typescript@5.2.2
247
+ - winston@3.11.0
248
+ - zod@3.23.8
249
+ status: success
250
+ tree:
251
+ children:
252
+ child-1:
253
+ pipeline:
254
+ regroup:
255
+ - cloud/region
256
+ - cloud/instance-type
257
+ compute:
258
+ - interpolate
259
+ - cpu-factor-to-wattage
260
+ - wattage-times-duration
261
+ - wattage-to-energy-kwh
262
+ - calculate-vcpu-ratio
263
+ - correct-cpu-energy-for-vcpu-ratio
264
+ - sci-embodied
265
+ - operational-carbon
266
+ - sum-carbon
267
+ - time-sync
268
+ - sci
269
+ defaults:
270
+ cpu/thermal-design-power: 100
271
+ grid/carbon-intensity: 800
272
+ device/emissions-embodied: 1533.12
273
+ time-reserved: 3600
274
+ device/expected-lifespan: 94608000
275
+ vcpus-total: 8
276
+ vcpus-allocated: 1
277
+ inputs:
278
+ - timestamp: '2023-12-12T00:00:00.000Z'
279
+ cloud/instance-type: A1
280
+ cloud/region: uk-west
281
+ duration: 1
282
+ cpu/utilization: 10
283
+ requests: 10
284
+ - timestamp: '2023-12-12T00:00:01.000Z'
285
+ duration: 5
286
+ cpu/utilization: 20
287
+ cloud/instance-type: A1
288
+ cloud/region: uk-west
289
+ requests: 5
290
+ - timestamp: '2023-12-12T00:00:06.000Z'
291
+ duration: 7
292
+ cpu/utilization: 15
293
+ cloud/instance-type: A1
294
+ cloud/region: uk-west
295
+ requests: 15
296
+ - timestamp: '2023-12-12T00:00:13.000Z'
297
+ duration: 30
298
+ cloud/instance-type: A1
299
+ cloud/region: uk-west
300
+ cpu/utilization: 15
301
+ requests: 30
302
+ outputs:
303
+ - timestamp: '2023-12-12T00:00:00.000Z'
304
+ cloud/instance-type: A1
305
+ cloud/region: uk-west
306
+ duration: 5
307
+ cpu/utilization: 14
308
+ requests: 14
309
+ cpu/thermal-design-power: 80
310
+ grid/carbon-intensity: 640
311
+ device/emissions-embodied: 2759.6159999999995
312
+ time-reserved: 2880
313
+ device/expected-lifespan: 170294400
314
+ vcpus-total: 8
315
+ vcpus-allocated: 1
316
+ cpu-factor: 0.3205
317
+ cpu-wattage: 66.19999999999999
318
+ cpu-wattage-times-duration: 203
319
+ cpu-energy-raw: 0.0000563888888888889
320
+ vcpu-ratio: 8
321
+ cpu-energy-kwh: 0.000007048611111111113
322
+ carbon-embodied: 0.000010128107559614409
323
+ carbon-operational: 0.0056388888888888895
324
+ carbon: 0.005649016996448503
325
+ sci: 0.000403501214032036
326
+ - timestamp: '2023-12-12T00:00:05.000Z'
327
+ duration: 5
328
+ cpu/utilization: 13
329
+ cloud/instance-type: A1
330
+ cloud/region: uk-west
331
+ requests: 9.571428571428571
332
+ cpu/thermal-design-power: 80
333
+ grid/carbon-intensity: 640
334
+ device/emissions-embodied: 1182.6925714285712
335
+ time-reserved: 2880
336
+ device/expected-lifespan: 72983314.28571428
337
+ vcpus-total: 8
338
+ vcpus-allocated: 1
339
+ cpu-factor: 0.30975
340
+ cpu-wattage: 29.907142857142862
341
+ cpu-wattage-times-duration: 192.25
342
+ cpu-energy-raw: 0.00005340277777777778
343
+ vcpu-ratio: 8
344
+ cpu-energy-kwh: 0.000006675347222222222
345
+ carbon-embodied: 0.000010128107559614407
346
+ carbon-operational: 0.005340277777777777
347
+ carbon: 0.005350405885337391
348
+ sci: 0.0005589976298113692
349
+ - timestamp: '2023-12-12T00:00:10.000Z'
350
+ duration: 5
351
+ cpu/utilization: 12
352
+ cloud/instance-type: A1
353
+ cloud/region: uk-west
354
+ requests: 8.428571428571429
355
+ cpu/thermal-design-power: 80
356
+ grid/carbon-intensity: 640
357
+ device/emissions-embodied: 759.2594285714285
358
+ time-reserved: 2880
359
+ device/expected-lifespan: 46853485.71428572
360
+ vcpus-total: 8
361
+ vcpus-allocated: 1
362
+ cpu-factor: 0.29900000000000004
363
+ cpu-wattage: 18.50952380952381
364
+ cpu-wattage-times-duration: 186.875
365
+ cpu-energy-raw: 0.00005190972222222222
366
+ vcpu-ratio: 8
367
+ cpu-energy-kwh: 0.0000064887152777777775
368
+ carbon-embodied: 0.000010128107559614407
369
+ carbon-operational: 0.005190972222222222
370
+ carbon: 0.0052011003297818366
371
+ sci: 0.0006170797001436077
372
+ - timestamp: '2023-12-12T00:00:15.000Z'
373
+ duration: 5
374
+ cloud/instance-type: A1
375
+ cloud/region: uk-west
376
+ cpu/utilization: 12
377
+ requests: 5
378
+ cpu/thermal-design-power: 80
379
+ grid/carbon-intensity: 640
380
+ device/emissions-embodied: 255.51999999999998
381
+ time-reserved: 2880
382
+ device/expected-lifespan: 15768000
383
+ vcpus-total: 8
384
+ vcpus-allocated: 1
385
+ cpu-factor: 0.29900000000000004
386
+ cpu-wattage: 6.229166666666667
387
+ cpu-wattage-times-duration: 186.875
388
+ cpu-energy-raw: 0.00005190972222222223
389
+ vcpu-ratio: 8
390
+ cpu-energy-kwh: 0.000006488715277777778
391
+ carbon-embodied: 0.000010128107559614409
392
+ carbon-operational: 0.005190972222222222
393
+ carbon: 0.005201100329781837
394
+ sci: 0.0010402200659563674
395
+ - timestamp: '2023-12-12T00:00:20.000Z'
396
+ duration: 5
397
+ cloud/instance-type: A1
398
+ cloud/region: uk-west
399
+ cpu/utilization: 12
400
+ requests: 5
401
+ cpu/thermal-design-power: 80
402
+ grid/carbon-intensity: 640
403
+ device/emissions-embodied: 255.51999999999998
404
+ time-reserved: 2880
405
+ device/expected-lifespan: 15768000
406
+ vcpus-total: 8
407
+ vcpus-allocated: 1
408
+ cpu-factor: 0.29900000000000004
409
+ cpu-wattage: 6.229166666666667
410
+ cpu-wattage-times-duration: 186.875
411
+ cpu-energy-raw: 0.00005190972222222223
412
+ vcpu-ratio: 8
413
+ cpu-energy-kwh: 0.000006488715277777778
414
+ carbon-embodied: 0.000010128107559614409
415
+ carbon-operational: 0.005190972222222222
416
+ carbon: 0.005201100329781837
417
+ sci: 0.0010402200659563674
418
+ - timestamp: '2023-12-12T00:00:25.000Z'
419
+ duration: 5
420
+ cloud/instance-type: A1
421
+ cloud/region: uk-west
422
+ cpu/utilization: 12
423
+ requests: 5
424
+ cpu/thermal-design-power: 80
425
+ grid/carbon-intensity: 640
426
+ device/emissions-embodied: 255.51999999999998
427
+ time-reserved: 2880
428
+ device/expected-lifespan: 15768000
429
+ vcpus-total: 8
430
+ vcpus-allocated: 1
431
+ cpu-factor: 0.29900000000000004
432
+ cpu-wattage: 6.229166666666667
433
+ cpu-wattage-times-duration: 186.875
434
+ cpu-energy-raw: 0.00005190972222222223
435
+ vcpu-ratio: 8
436
+ cpu-energy-kwh: 0.000006488715277777778
437
+ carbon-embodied: 0.000010128107559614409
438
+ carbon-operational: 0.005190972222222222
439
+ carbon: 0.005201100329781837
440
+ sci: 0.0010402200659563674
441
+ - timestamp: '2023-12-12T00:00:30.000Z'
442
+ duration: 5
443
+ cloud/instance-type: A1
444
+ cloud/region: uk-west
445
+ cpu/utilization: 12
446
+ requests: 5
447
+ cpu/thermal-design-power: 80
448
+ grid/carbon-intensity: 640
449
+ device/emissions-embodied: 255.51999999999998
450
+ time-reserved: 2880
451
+ device/expected-lifespan: 15768000
452
+ vcpus-total: 8
453
+ vcpus-allocated: 1
454
+ cpu-factor: 0.29900000000000004
455
+ cpu-wattage: 6.229166666666667
456
+ cpu-wattage-times-duration: 186.875
457
+ cpu-energy-raw: 0.00005190972222222223
458
+ vcpu-ratio: 8
459
+ cpu-energy-kwh: 0.000006488715277777778
460
+ carbon-embodied: 0.000010128107559614409
461
+ carbon-operational: 0.005190972222222222
462
+ carbon: 0.005201100329781837
463
+ sci: 0.0010402200659563674
464
+ - timestamp: '2023-12-12T00:00:35.000Z'
465
+ duration: 5
466
+ cloud/instance-type: A1
467
+ cloud/region: uk-west
468
+ cpu/utilization: 12
469
+ requests: 5
470
+ cpu/thermal-design-power: 80
471
+ grid/carbon-intensity: 640
472
+ device/emissions-embodied: 255.51999999999998
473
+ time-reserved: 2880
474
+ device/expected-lifespan: 15768000
475
+ vcpus-total: 8
476
+ vcpus-allocated: 1
477
+ cpu-factor: 0.29900000000000004
478
+ cpu-wattage: 6.229166666666667
479
+ cpu-wattage-times-duration: 186.875
480
+ cpu-energy-raw: 0.00005190972222222223
481
+ vcpu-ratio: 8
482
+ cpu-energy-kwh: 0.000006488715277777778
483
+ carbon-embodied: 0.000010128107559614409
484
+ carbon-operational: 0.005190972222222222
485
+ carbon: 0.005201100329781837
486
+ sci: 0.0010402200659563674
487
+ - timestamp: '2023-12-12T00:00:40.000Z'
488
+ duration: 5
489
+ cloud/instance-type: A1
490
+ cloud/region: uk-west
491
+ cpu/utilization: 9
492
+ requests: 3
493
+ cpu/thermal-design-power: 60
494
+ grid/carbon-intensity: 480
495
+ device/emissions-embodied: 153.312
496
+ time-reserved: 2160.2
497
+ device/expected-lifespan: 9460800
498
+ vcpus-total: 8
499
+ vcpus-allocated: 1
500
+ cpu-factor: 0.22425
501
+ cpu-wattage: 3.7375
502
+ cpu-wattage-times-duration: 112.125
503
+ cpu-energy-raw: 0.000031145833333333336
504
+ vcpu-ratio: 8
505
+ cpu-energy-kwh: 0.000003893229166666667
506
+ carbon-embodied: 0.000006076864535768645
507
+ carbon-operational: 0.0031145833333333334
508
+ carbon: 0.003120660197869102
509
+ sci: 0.0010402200659563674
510
+ - timestamp: '2023-12-12T00:00:45.000Z'
511
+ duration: 5
512
+ cloud/instance-type: A1
513
+ cloud/region: uk-west
514
+ cpu/utilization: 0
515
+ requests: 0
516
+ cpu/thermal-design-power: 0
517
+ grid/carbon-intensity: 0
518
+ device/emissions-embodied: 0
519
+ time-reserved: 0.8
520
+ device/expected-lifespan: 0
521
+ vcpus-total: 8
522
+ vcpus-allocated: 1
523
+ cpu-factor: 0
524
+ cpu-wattage: 0
525
+ cpu-wattage-times-duration: 0
526
+ cpu-energy-raw: 0
527
+ vcpu-ratio: 8
528
+ cpu-energy-kwh: 0
529
+ carbon-embodied: 0
530
+ carbon-operational: 0
531
+ carbon: 0
532
+ sci: 0
533
+ - timestamp: '2023-12-12T00:00:50.000Z'
534
+ duration: 5
535
+ cloud/instance-type: A1
536
+ cloud/region: uk-west
537
+ cpu/utilization: 0
538
+ requests: 0
539
+ cpu/thermal-design-power: 0
540
+ grid/carbon-intensity: 0
541
+ device/emissions-embodied: 0
542
+ time-reserved: 0.8
543
+ device/expected-lifespan: 0
544
+ vcpus-total: 8
545
+ vcpus-allocated: 1
546
+ cpu-factor: 0
547
+ cpu-wattage: 0
548
+ cpu-wattage-times-duration: 0
549
+ cpu-energy-raw: 0
550
+ vcpu-ratio: 8
551
+ cpu-energy-kwh: 0
552
+ carbon-embodied: 0
553
+ carbon-operational: 0
554
+ carbon: 0
555
+ sci: 0
556
+ - timestamp: '2023-12-12T00:00:55.000Z'
557
+ duration: 5
558
+ cloud/instance-type: A1
559
+ cloud/region: uk-west
560
+ cpu/utilization: 0
561
+ requests: 0
562
+ cpu/thermal-design-power: 0
563
+ grid/carbon-intensity: 0
564
+ device/emissions-embodied: 0
565
+ time-reserved: 0.8
566
+ device/expected-lifespan: 0
567
+ vcpus-total: 8
568
+ vcpus-allocated: 1
569
+ cpu-factor: 0
570
+ cpu-wattage: 0
571
+ cpu-wattage-times-duration: 0
572
+ cpu-energy-raw: 0
573
+ vcpu-ratio: 8
574
+ cpu-energy-kwh: 0
575
+ carbon-embodied: 0
576
+ carbon-operational: 0
577
+ carbon: 0
578
+ sci: 0
579
+ - timestamp: '2023-12-12T00:01:00.000Z'
580
+ duration: 1
581
+ cloud/instance-type: A1
582
+ cloud/region: uk-west
583
+ cpu/utilization: 0
584
+ requests: 0
585
+ cpu/thermal-design-power: 0
586
+ grid/carbon-intensity: 0
587
+ device/emissions-embodied: 0
588
+ time-reserved: 1
589
+ device/expected-lifespan: 0
590
+ vcpus-total: 8
591
+ vcpus-allocated: 1
592
+ cpu-factor: 0
593
+ cpu-wattage: 0
594
+ cpu-wattage-times-duration: 0
595
+ cpu-energy-raw: 0
596
+ vcpu-ratio: 8
597
+ cpu-energy-kwh: 0
598
+ carbon-embodied: 0
599
+ carbon-operational: 0
600
+ carbon: 0
601
+ sci: 0
602
+ aggregated:
603
+ carbon: 0.04532668505834602
604
+ child-2:
605
+ pipeline:
606
+ regroup:
607
+ - cloud/region
608
+ - cloud/instance-type
609
+ compute:
610
+ - interpolate
611
+ - cpu-factor-to-wattage
612
+ - wattage-times-duration
613
+ - wattage-to-energy-kwh
614
+ - calculate-vcpu-ratio
615
+ - correct-cpu-energy-for-vcpu-ratio
616
+ - sci-embodied
617
+ - operational-carbon
618
+ - sum-carbon
619
+ - time-sync
620
+ - sci
621
+ defaults:
622
+ cpu/thermal-design-power: 100
623
+ grid/carbon-intensity: 800
624
+ device/emissions-embodied: 1533.12
625
+ time-reserved: 3600
626
+ device/expected-lifespan: 94608000
627
+ vcpus-total: 8
628
+ vcpus-allocated: 1
629
+ inputs:
630
+ - timestamp: '2023-12-12T00:00:00.000Z'
631
+ duration: 1
632
+ cpu/utilization: 30
633
+ cloud/instance-type: A1
634
+ cloud/region: uk-west
635
+ requests: 100
636
+ - timestamp: '2023-12-12T00:00:01.000Z'
637
+ duration: 5
638
+ cpu/utilization: 28
639
+ cloud/instance-type: A1
640
+ cloud/region: uk-west
641
+ requests: 150
642
+ - timestamp: '2023-12-12T00:00:06.000Z'
643
+ duration: 7
644
+ cpu/utilization: 40
645
+ cloud/instance-type: A1
646
+ cloud/region: uk-west
647
+ requests: 110
648
+ - timestamp: '2023-12-12T00:00:13.000Z'
649
+ duration: 30
650
+ cpu/utilization: 33
651
+ cloud/instance-type: A1
652
+ cloud/region: uk-west
653
+ requests: 180
654
+ outputs:
655
+ - timestamp: '2023-12-12T00:00:00.000Z'
656
+ duration: 5
657
+ cpu/utilization: 22.8
658
+ cloud/instance-type: A1
659
+ cloud/region: uk-west
660
+ requests: 220
661
+ cpu/thermal-design-power: 80
662
+ grid/carbon-intensity: 640
663
+ device/emissions-embodied: 2759.6159999999995
664
+ time-reserved: 2880
665
+ device/expected-lifespan: 170294400
666
+ vcpus-total: 8
667
+ vcpus-allocated: 1
668
+ cpu-factor: 0.41509999999999997
669
+ cpu-wattage: 94.57999999999998
670
+ cpu-wattage-times-duration: 258.9
671
+ cpu-energy-raw: 0.00007191666666666668
672
+ vcpu-ratio: 8
673
+ cpu-energy-kwh: 0.000008989583333333334
674
+ carbon-embodied: 0.000010128107559614409
675
+ carbon-operational: 0.007191666666666666
676
+ carbon: 0.007201794774226282
677
+ sci: 0.00003273543079193765
678
+ - timestamp: '2023-12-12T00:00:05.000Z'
679
+ duration: 5
680
+ cpu/utilization: 29.6
681
+ cloud/instance-type: A1
682
+ cloud/region: uk-west
683
+ requests: 92.85714285714285
684
+ cpu/thermal-design-power: 80
685
+ grid/carbon-intensity: 640
686
+ device/emissions-embodied: 1182.6925714285712
687
+ time-reserved: 2880
688
+ device/expected-lifespan: 72983314.28571428
689
+ vcpus-total: 8
690
+ vcpus-allocated: 1
691
+ cpu-factor: 0.48819999999999997
692
+ cpu-wattage: 46.98428571428572
693
+ cpu-wattage-times-duration: 308.35
694
+ cpu-energy-raw: 0.00008565277777777778
695
+ vcpu-ratio: 8
696
+ cpu-energy-kwh: 0.000010706597222222223
697
+ carbon-embodied: 0.000010128107559614407
698
+ carbon-operational: 0.008565277777777778
699
+ carbon: 0.008575405885337391
700
+ sci: 0.00009235052491901808
701
+ - timestamp: '2023-12-12T00:00:10.000Z'
702
+ duration: 5
703
+ cpu/utilization: 30.6
704
+ cloud/instance-type: A1
705
+ cloud/region: uk-west
706
+ requests: 59.14285714285714
707
+ cpu/thermal-design-power: 80
708
+ grid/carbon-intensity: 640
709
+ device/emissions-embodied: 759.2594285714285
710
+ time-reserved: 2880
711
+ device/expected-lifespan: 46853485.71428572
712
+ vcpus-total: 8
713
+ vcpus-allocated: 1
714
+ cpu-factor: 0.49894999999999995
715
+ cpu-wattage: 31.31738095238095
716
+ cpu-wattage-times-duration: 306.2
717
+ cpu-energy-raw: 0.00008505555555555556
718
+ vcpu-ratio: 8
719
+ cpu-energy-kwh: 0.000010631944444444445
720
+ carbon-embodied: 0.000010128107559614407
721
+ carbon-operational: 0.008505555555555556
722
+ carbon: 0.00851568366311517
723
+ sci: 0.0001439849894729618
724
+ - timestamp: '2023-12-12T00:00:15.000Z'
725
+ duration: 5
726
+ cpu/utilization: 26.4
727
+ cloud/instance-type: A1
728
+ cloud/region: uk-west
729
+ requests: 30
730
+ cpu/thermal-design-power: 80
731
+ grid/carbon-intensity: 640
732
+ device/emissions-embodied: 255.51999999999998
733
+ time-reserved: 2880
734
+ device/expected-lifespan: 15768000
735
+ vcpus-total: 8
736
+ vcpus-allocated: 1
737
+ cpu-factor: 0.45380000000000004
738
+ cpu-wattage: 9.454166666666667
739
+ cpu-wattage-times-duration: 283.625
740
+ cpu-energy-raw: 0.00007878472222222222
741
+ vcpu-ratio: 8
742
+ cpu-energy-kwh: 0.000009848090277777778
743
+ carbon-embodied: 0.000010128107559614409
744
+ carbon-operational: 0.007878472222222222
745
+ carbon: 0.007888600329781836
746
+ sci: 0.0002629533443260612
747
+ - timestamp: '2023-12-12T00:00:20.000Z'
748
+ duration: 5
749
+ cpu/utilization: 26.4
750
+ cloud/instance-type: A1
751
+ cloud/region: uk-west
752
+ requests: 30
753
+ cpu/thermal-design-power: 80
754
+ grid/carbon-intensity: 640
755
+ device/emissions-embodied: 255.51999999999998
756
+ time-reserved: 2880
757
+ device/expected-lifespan: 15768000
758
+ vcpus-total: 8
759
+ vcpus-allocated: 1
760
+ cpu-factor: 0.45380000000000004
761
+ cpu-wattage: 9.454166666666667
762
+ cpu-wattage-times-duration: 283.625
763
+ cpu-energy-raw: 0.00007878472222222222
764
+ vcpu-ratio: 8
765
+ cpu-energy-kwh: 0.000009848090277777778
766
+ carbon-embodied: 0.000010128107559614409
767
+ carbon-operational: 0.007878472222222222
768
+ carbon: 0.007888600329781836
769
+ sci: 0.0002629533443260612
770
+ - timestamp: '2023-12-12T00:00:25.000Z'
771
+ duration: 5
772
+ cpu/utilization: 26.4
773
+ cloud/instance-type: A1
774
+ cloud/region: uk-west
775
+ requests: 30
776
+ cpu/thermal-design-power: 80
777
+ grid/carbon-intensity: 640
778
+ device/emissions-embodied: 255.51999999999998
779
+ time-reserved: 2880
780
+ device/expected-lifespan: 15768000
781
+ vcpus-total: 8
782
+ vcpus-allocated: 1
783
+ cpu-factor: 0.45380000000000004
784
+ cpu-wattage: 9.454166666666667
785
+ cpu-wattage-times-duration: 283.625
786
+ cpu-energy-raw: 0.00007878472222222222
787
+ vcpu-ratio: 8
788
+ cpu-energy-kwh: 0.000009848090277777778
789
+ carbon-embodied: 0.000010128107559614409
790
+ carbon-operational: 0.007878472222222222
791
+ carbon: 0.007888600329781836
792
+ sci: 0.0002629533443260612
793
+ - timestamp: '2023-12-12T00:00:30.000Z'
794
+ duration: 5
795
+ cpu/utilization: 26.4
796
+ cloud/instance-type: A1
797
+ cloud/region: uk-west
798
+ requests: 30
799
+ cpu/thermal-design-power: 80
800
+ grid/carbon-intensity: 640
801
+ device/emissions-embodied: 255.51999999999998
802
+ time-reserved: 2880
803
+ device/expected-lifespan: 15768000
804
+ vcpus-total: 8
805
+ vcpus-allocated: 1
806
+ cpu-factor: 0.45380000000000004
807
+ cpu-wattage: 9.454166666666667
808
+ cpu-wattage-times-duration: 283.625
809
+ cpu-energy-raw: 0.00007878472222222222
810
+ vcpu-ratio: 8
811
+ cpu-energy-kwh: 0.000009848090277777778
812
+ carbon-embodied: 0.000010128107559614409
813
+ carbon-operational: 0.007878472222222222
814
+ carbon: 0.007888600329781836
815
+ sci: 0.0002629533443260612
816
+ - timestamp: '2023-12-12T00:00:35.000Z'
817
+ duration: 5
818
+ cpu/utilization: 26.4
819
+ cloud/instance-type: A1
820
+ cloud/region: uk-west
821
+ requests: 30
822
+ cpu/thermal-design-power: 80
823
+ grid/carbon-intensity: 640
824
+ device/emissions-embodied: 255.51999999999998
825
+ time-reserved: 2880
826
+ device/expected-lifespan: 15768000
827
+ vcpus-total: 8
828
+ vcpus-allocated: 1
829
+ cpu-factor: 0.45380000000000004
830
+ cpu-wattage: 9.454166666666667
831
+ cpu-wattage-times-duration: 283.625
832
+ cpu-energy-raw: 0.00007878472222222222
833
+ vcpu-ratio: 8
834
+ cpu-energy-kwh: 0.000009848090277777778
835
+ carbon-embodied: 0.000010128107559614409
836
+ carbon-operational: 0.007878472222222222
837
+ carbon: 0.007888600329781836
838
+ sci: 0.0002629533443260612
839
+ - timestamp: '2023-12-12T00:00:40.000Z'
840
+ duration: 5
841
+ cpu/utilization: 19.8
842
+ cloud/instance-type: A1
843
+ cloud/region: uk-west
844
+ requests: 18
845
+ cpu/thermal-design-power: 60
846
+ grid/carbon-intensity: 480
847
+ device/emissions-embodied: 153.312
848
+ time-reserved: 2160.2
849
+ device/expected-lifespan: 9460800
850
+ vcpus-total: 8
851
+ vcpus-allocated: 1
852
+ cpu-factor: 0.34035000000000004
853
+ cpu-wattage: 5.6725
854
+ cpu-wattage-times-duration: 170.175
855
+ cpu-energy-raw: 0.00004727083333333333
856
+ vcpu-ratio: 8
857
+ cpu-energy-kwh: 0.000005908854166666666
858
+ carbon-embodied: 0.000006076864535768645
859
+ carbon-operational: 0.004727083333333333
860
+ carbon: 0.0047331601978691015
861
+ sci: 0.00026295334432606117
862
+ - timestamp: '2023-12-12T00:00:45.000Z'
863
+ duration: 5
864
+ cpu/utilization: 0
865
+ cloud/instance-type: A1
866
+ cloud/region: uk-west
867
+ requests: 0
868
+ cpu/thermal-design-power: 0
869
+ grid/carbon-intensity: 0
870
+ device/emissions-embodied: 0
871
+ time-reserved: 0.8
872
+ device/expected-lifespan: 0
873
+ vcpus-total: 8
874
+ vcpus-allocated: 1
875
+ cpu-factor: 0
876
+ cpu-wattage: 0
877
+ cpu-wattage-times-duration: 0
878
+ cpu-energy-raw: 0
879
+ vcpu-ratio: 8
880
+ cpu-energy-kwh: 0
881
+ carbon-embodied: 0
882
+ carbon-operational: 0
883
+ carbon: 0
884
+ sci: 0
885
+ - timestamp: '2023-12-12T00:00:50.000Z'
886
+ duration: 5
887
+ cpu/utilization: 0
888
+ cloud/instance-type: A1
889
+ cloud/region: uk-west
890
+ requests: 0
891
+ cpu/thermal-design-power: 0
892
+ grid/carbon-intensity: 0
893
+ device/emissions-embodied: 0
894
+ time-reserved: 0.8
895
+ device/expected-lifespan: 0
896
+ vcpus-total: 8
897
+ vcpus-allocated: 1
898
+ cpu-factor: 0
899
+ cpu-wattage: 0
900
+ cpu-wattage-times-duration: 0
901
+ cpu-energy-raw: 0
902
+ vcpu-ratio: 8
903
+ cpu-energy-kwh: 0
904
+ carbon-embodied: 0
905
+ carbon-operational: 0
906
+ carbon: 0
907
+ sci: 0
908
+ - timestamp: '2023-12-12T00:00:55.000Z'
909
+ duration: 5
910
+ cpu/utilization: 0
911
+ cloud/instance-type: A1
912
+ cloud/region: uk-west
913
+ requests: 0
914
+ cpu/thermal-design-power: 0
915
+ grid/carbon-intensity: 0
916
+ device/emissions-embodied: 0
917
+ time-reserved: 0.8
918
+ device/expected-lifespan: 0
919
+ vcpus-total: 8
920
+ vcpus-allocated: 1
921
+ cpu-factor: 0
922
+ cpu-wattage: 0
923
+ cpu-wattage-times-duration: 0
924
+ cpu-energy-raw: 0
925
+ vcpu-ratio: 8
926
+ cpu-energy-kwh: 0
927
+ carbon-embodied: 0
928
+ carbon-operational: 0
929
+ carbon: 0
930
+ sci: 0
931
+ - timestamp: '2023-12-12T00:01:00.000Z'
932
+ duration: 1
933
+ cpu/utilization: 0
934
+ cloud/instance-type: A1
935
+ cloud/region: uk-west
936
+ requests: 0
937
+ cpu/thermal-design-power: 0
938
+ grid/carbon-intensity: 0
939
+ device/emissions-embodied: 0
940
+ time-reserved: 1
941
+ device/expected-lifespan: 0
942
+ vcpus-total: 8
943
+ vcpus-allocated: 1
944
+ cpu-factor: 0
945
+ cpu-wattage: 0
946
+ cpu-wattage-times-duration: 0
947
+ cpu-energy-raw: 0
948
+ vcpu-ratio: 8
949
+ cpu-energy-kwh: 0
950
+ carbon-embodied: 0
951
+ carbon-operational: 0
952
+ carbon: 0
953
+ sci: 0
954
+ aggregated:
955
+ carbon: 0.06846904616945712
956
+ outputs:
957
+ - carbon: 0.012850811770674785
958
+ timestamp: '2023-12-12T00:00:00.000Z'
959
+ duration: 5
960
+ - carbon: 0.013925811770674782
961
+ timestamp: '2023-12-12T00:00:05.000Z'
962
+ duration: 5
963
+ - carbon: 0.013716783992897007
964
+ timestamp: '2023-12-12T00:00:10.000Z'
965
+ duration: 5
966
+ - carbon: 0.013089700659563674
967
+ timestamp: '2023-12-12T00:00:15.000Z'
968
+ duration: 5
969
+ - carbon: 0.013089700659563674
970
+ timestamp: '2023-12-12T00:00:20.000Z'
971
+ duration: 5
972
+ - carbon: 0.013089700659563674
973
+ timestamp: '2023-12-12T00:00:25.000Z'
974
+ duration: 5
975
+ - carbon: 0.013089700659563674
976
+ timestamp: '2023-12-12T00:00:30.000Z'
977
+ duration: 5
978
+ - carbon: 0.013089700659563674
979
+ timestamp: '2023-12-12T00:00:35.000Z'
980
+ duration: 5
981
+ - carbon: 0.007853820395738204
982
+ timestamp: '2023-12-12T00:00:40.000Z'
983
+ duration: 5
984
+ - carbon: 0
985
+ timestamp: '2023-12-12T00:00:45.000Z'
986
+ duration: 5
987
+ - carbon: 0
988
+ timestamp: '2023-12-12T00:00:50.000Z'
989
+ duration: 5
990
+ - carbon: 0
991
+ timestamp: '2023-12-12T00:00:55.000Z'
992
+ duration: 5
993
+ - carbon: 0
994
+ timestamp: '2023-12-12T00:01:00.000Z'
995
+ duration: 1
996
+ aggregated:
997
+ carbon: 0.11379573122780316