@grnsft/if 0.3.2 → 0.3.4

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 (187) hide show
  1. package/.commitlintrc.js +3 -0
  2. package/.env +5 -0
  3. package/.release-it.json +18 -0
  4. package/CONTRIBUTING.md +77 -4
  5. package/README.md +34 -26
  6. package/build/builtins/export-csv-raw.js +4 -4
  7. package/build/builtins/export-csv.js +5 -5
  8. package/build/builtins/export-log.js +26 -2
  9. package/build/builtins/export-yaml.js +3 -3
  10. package/build/config/config.d.ts +3 -3
  11. package/build/config/config.js +23 -27
  12. package/build/config/strings.d.ts +1 -0
  13. package/build/config/strings.js +8 -3
  14. package/build/index.js +23 -14
  15. package/build/lib/environment.d.ts +5 -0
  16. package/build/lib/environment.js +69 -0
  17. package/build/lib/exhaust.d.ts +2 -1
  18. package/build/lib/exhaust.js +11 -9
  19. package/build/lib/initialize.d.ts +2 -2
  20. package/build/lib/initialize.js +5 -5
  21. package/build/lib/load.d.ts +1 -29
  22. package/build/lib/load.js +2 -5
  23. package/build/types/environment.d.ts +18 -0
  24. package/build/types/environment.js +3 -0
  25. package/build/types/manifest.d.ts +1 -0
  26. package/build/types/manifest.js +1 -1
  27. package/build/types/process-args.d.ts +13 -1
  28. package/build/types/process-args.js +1 -1
  29. package/build/util/args.d.ts +3 -5
  30. package/build/util/args.js +14 -10
  31. package/build/util/errors.d.ts +1 -1
  32. package/build/util/errors.js +2 -3
  33. package/build/util/helpers.d.ts +6 -0
  34. package/build/util/helpers.js +9 -3
  35. package/build/util/os-checker.d.ts +7 -0
  36. package/build/util/os-checker.js +97 -0
  37. package/build/util/validations.d.ts +90 -4
  38. package/build/util/validations.js +14 -2
  39. package/coverage/clover.xml +1590 -0
  40. package/coverage/coverage-final.json +50 -0
  41. package/coverage/lcov-report/base.css +224 -0
  42. package/coverage/lcov-report/block-navigation.js +87 -0
  43. package/coverage/lcov-report/builtins/coefficient/index.html +116 -0
  44. package/coverage/lcov-report/builtins/coefficient/index.ts.html +295 -0
  45. package/coverage/lcov-report/builtins/csv-lookup/index.html +116 -0
  46. package/coverage/lcov-report/builtins/csv-lookup/index.ts.html +832 -0
  47. package/coverage/lcov-report/builtins/divide/index.html +116 -0
  48. package/coverage/lcov-report/builtins/divide/index.ts.html +361 -0
  49. package/coverage/lcov-report/builtins/exponent/index.html +116 -0
  50. package/coverage/lcov-report/builtins/exponent/index.ts.html +355 -0
  51. package/coverage/lcov-report/builtins/export-csv-raw.ts.html +553 -0
  52. package/coverage/lcov-report/builtins/export-csv.ts.html +433 -0
  53. package/coverage/lcov-report/builtins/export-log.ts.html +145 -0
  54. package/coverage/lcov-report/builtins/export-yaml.ts.html +184 -0
  55. package/coverage/lcov-report/builtins/group-by.ts.html +364 -0
  56. package/coverage/lcov-report/builtins/index.html +206 -0
  57. package/coverage/lcov-report/builtins/index.ts.html +130 -0
  58. package/coverage/lcov-report/builtins/interpolation/index.html +131 -0
  59. package/coverage/lcov-report/builtins/interpolation/index.ts.html +670 -0
  60. package/coverage/lcov-report/builtins/interpolation/types.ts.html +100 -0
  61. package/coverage/lcov-report/builtins/mock-observations/helpers/common-generator.ts.html +181 -0
  62. package/coverage/lcov-report/builtins/mock-observations/helpers/index.html +131 -0
  63. package/coverage/lcov-report/builtins/mock-observations/helpers/rand-int-generator.ts.html +295 -0
  64. package/coverage/lcov-report/builtins/mock-observations/index.html +116 -0
  65. package/coverage/lcov-report/builtins/mock-observations/index.ts.html +613 -0
  66. package/coverage/lcov-report/builtins/multiply/index.html +116 -0
  67. package/coverage/lcov-report/builtins/multiply/index.ts.html +337 -0
  68. package/coverage/lcov-report/builtins/regex/index.html +116 -0
  69. package/coverage/lcov-report/builtins/regex/index.ts.html +379 -0
  70. package/coverage/lcov-report/builtins/sci/config.ts.html +205 -0
  71. package/coverage/lcov-report/builtins/sci/index.html +116 -0
  72. package/coverage/lcov-report/builtins/sci/index.ts.html +331 -0
  73. package/coverage/lcov-report/builtins/sci-embodied/index.html +116 -0
  74. package/coverage/lcov-report/builtins/sci-embodied/index.ts.html +481 -0
  75. package/coverage/lcov-report/builtins/shell/index.html +116 -0
  76. package/coverage/lcov-report/builtins/shell/index.ts.html +283 -0
  77. package/coverage/lcov-report/builtins/subtract/index.html +116 -0
  78. package/coverage/lcov-report/builtins/subtract/index.ts.html +373 -0
  79. package/coverage/lcov-report/builtins/sum/index.html +116 -0
  80. package/coverage/lcov-report/builtins/sum/index.ts.html +340 -0
  81. package/coverage/lcov-report/builtins/time-sync.ts.html +1459 -0
  82. package/coverage/lcov-report/config/config.ts.html +334 -0
  83. package/coverage/lcov-report/config/index.html +161 -0
  84. package/coverage/lcov-report/config/index.ts.html +94 -0
  85. package/coverage/lcov-report/config/params.ts.html +697 -0
  86. package/coverage/lcov-report/config/strings.ts.html +415 -0
  87. package/coverage/lcov-report/favicon.png +0 -0
  88. package/coverage/lcov-report/index.html +386 -0
  89. package/coverage/lcov-report/lib/aggregate.ts.html +331 -0
  90. package/coverage/lcov-report/lib/compare.ts.html +283 -0
  91. package/coverage/lcov-report/lib/compute.ts.html +391 -0
  92. package/coverage/lcov-report/lib/environment.ts.html +343 -0
  93. package/coverage/lcov-report/lib/exhaust.ts.html +283 -0
  94. package/coverage/lcov-report/lib/index.html +221 -0
  95. package/coverage/lcov-report/lib/initialize.ts.html +388 -0
  96. package/coverage/lcov-report/lib/load.ts.html +268 -0
  97. package/coverage/lcov-report/lib/parameterize.ts.html +283 -0
  98. package/coverage/lcov-report/prettify.css +1 -0
  99. package/coverage/lcov-report/prettify.js +2 -0
  100. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  101. package/coverage/lcov-report/sorter.js +196 -0
  102. package/coverage/lcov-report/types/aggregation.ts.html +94 -0
  103. package/coverage/lcov-report/types/index.html +146 -0
  104. package/coverage/lcov-report/types/interface.ts.html +181 -0
  105. package/coverage/lcov-report/types/parameters.ts.html +106 -0
  106. package/coverage/lcov-report/util/aggregation-helper.ts.html +286 -0
  107. package/coverage/lcov-report/util/args.ts.html +508 -0
  108. package/coverage/lcov-report/util/errors.ts.html +232 -0
  109. package/coverage/lcov-report/util/helpers.ts.html +613 -0
  110. package/coverage/lcov-report/util/index.html +266 -0
  111. package/coverage/lcov-report/util/json.ts.html +115 -0
  112. package/coverage/lcov-report/util/log-memoize.ts.html +145 -0
  113. package/coverage/lcov-report/util/logger.ts.html +151 -0
  114. package/coverage/lcov-report/util/os-checker.ts.html +421 -0
  115. package/coverage/lcov-report/util/plugin-storage.ts.html +199 -0
  116. package/coverage/lcov-report/util/validations.ts.html +526 -0
  117. package/coverage/lcov-report/util/yaml.ts.html +193 -0
  118. package/coverage/lcov.info +2811 -0
  119. package/github-processes.md +10 -0
  120. package/{examples/manifests/pipeline-demo-2.yml → manifests/bugs/aggregation-error-wrong-metric.yml} +8 -34
  121. package/manifests/bugs/azure-importer-ignoring-defaults.yml +61 -0
  122. package/manifests/bugs/azure-importer-incorrect-calculation.yml +56 -0
  123. package/manifests/bugs/initialize-error-no-config.yml +27 -0
  124. package/manifests/bugs/initialize-error-no-path.yml +28 -0
  125. package/manifests/bugs/initialize-error-no-plugins.yml +23 -0
  126. package/manifests/bugs/input-error-missing-duration.yml +21 -0
  127. package/manifests/bugs/pipeline-error-naming-mismatch.yml +28 -0
  128. package/manifests/bugs/pipeline-error-uninitialized-plugin.yml +29 -0
  129. package/{examples/manifests/boavizta-pipeline.yml → manifests/bugs/pipeline-ordering-error.yml} +7 -10
  130. package/{examples/manifests → manifests/examples}/basic.yml +3 -2
  131. package/{examples/manifests → manifests/examples}/generics.yml +2 -2
  132. package/{examples/manifests/asim-demo.yml → manifests/examples/mock-cpu-util-to-carbon.yml} +3 -7
  133. package/{examples/manifests → manifests/examples}/nesting.yml +3 -2
  134. package/{examples/manifests → manifests/examples}/pipeline-teads-sci.yml +1 -1
  135. package/{examples/manifests/pipeline-demo.yml → manifests/examples/pipeline-with-aggregate.yml} +2 -2
  136. package/{examples/manifests → manifests/examples}/pipeline-with-mocks.yml +3 -2
  137. package/manifests/features/aggregate-horizontal.yml +44 -0
  138. package/manifests/features/aggregate-vertical.yml +44 -0
  139. package/manifests/features/aggregate.yml +44 -0
  140. package/manifests/integrations/mock-obs-groupby.yml +39 -0
  141. package/manifests/integrations/mock-obs-time-sync.yml +65 -0
  142. package/manifests/plugins/cloud-metadata/failure-invalid-vendor.yaml +21 -0
  143. package/{examples/manifests/cloud-metadata.yml → manifests/plugins/cloud-metadata/success.yml} +2 -1
  144. package/manifests/plugins/coefficient/failure-invalid-config-input-param.yml +24 -0
  145. package/{examples/manifests/coefficient.yml → manifests/plugins/coefficient/success.yml} +2 -1
  146. package/manifests/plugins/divide/failure-invalid-config-denominator.yml +39 -0
  147. package/manifests/plugins/divide/success.yml +39 -0
  148. package/manifests/plugins/groupby/failure-invalid-config-group.yml +47 -0
  149. package/{examples/manifests/group-by.yml → manifests/plugins/groupby/success.yml} +3 -2
  150. package/manifests/plugins/mock-observations/failure-invalid-config-cpu-range.yml +34 -0
  151. package/{examples/manifests/mock-observation.yml → manifests/plugins/mock-observations/success.yml} +2 -1
  152. package/manifests/plugins/multiply/failure-input-parameter-is-missing.yml +24 -0
  153. package/{examples/manifests/multiply.yml → manifests/plugins/multiply/success.yml} +3 -2
  154. package/manifests/plugins/regex/failure-missing-input-param.yml +24 -0
  155. package/{examples/manifests/regex.yml → manifests/plugins/regex/success.yml} +3 -2
  156. package/manifests/plugins/sci/failure-invalid-config-value.yml +28 -0
  157. package/{examples/manifests/sci.yml → manifests/plugins/sci/success.yml} +3 -2
  158. package/manifests/plugins/sci-m/failure-invalid-default-emission-value.yml +24 -0
  159. package/{examples/manifests/sci-m.yml → manifests/plugins/sci-m/success.yml} +2 -1
  160. package/manifests/plugins/shell/failure-invalid-command.yml +21 -0
  161. package/{examples/manifests/shell.yml → manifests/plugins/shell/success.yml} +3 -2
  162. package/manifests/plugins/sum/failure-missing-input-param.yml +24 -0
  163. package/{examples/manifests/sum.yml → manifests/plugins/sum/success.yml} +3 -2
  164. package/manifests/plugins/tdp-finder/failure-missing-input-param.yml +18 -0
  165. package/{examples/manifests/tdp-finder.yml → manifests/plugins/tdp-finder/success.yml} +2 -1
  166. package/manifests/plugins/time-sync/failure-config-start-later-end.yml +34 -0
  167. package/{examples/manifests/time-sync.yml → manifests/plugins/time-sync/success.yml} +4 -2
  168. package/package.json +4 -2
  169. package/src/__tests__/integration/manifest/sci-e.yaml +23 -0
  170. package/examples/manifests/azure-importer.yml +0 -24
  171. package/examples/manifests/basic-demo.yml +0 -70
  172. package/examples/manifests/boavizta-cloud.yml +0 -20
  173. package/examples/manifests/boavizta.yml +0 -26
  174. package/examples/manifests/ccf.yml +0 -20
  175. package/examples/manifests/cloud-metadata-teads.yml +0 -41
  176. package/examples/manifests/co2js.yml +0 -30
  177. package/examples/manifests/csv-export.yml +0 -34
  178. package/examples/manifests/e-mem.yml +0 -21
  179. package/examples/manifests/e-net.yml +0 -22
  180. package/examples/manifests/nesting-demo.yml +0 -89
  181. package/examples/manifests/pipeline-demo-1.yml +0 -85
  182. package/examples/manifests/pipeline-with-generics.yml +0 -152
  183. package/examples/manifests/sci-e.yml +0 -19
  184. package/examples/manifests/sci-o.yml +0 -26
  185. package/examples/manifests/teads-curve.yml +0 -20
  186. package/examples/manifests/watt-time.yml +0 -35
  187. /package/{examples/manifests/divide.yml → manifests/integrations/cloud-metadata-divide-boavizta.yml} +0 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@grnsft/if",
3
3
  "description": "Impact Framework",
4
- "version": "v0.3.2",
4
+ "version": "0.3.4",
5
5
  "author": {
6
6
  "name": "Green Software Foundation",
7
7
  "email": "info@gsf.com"
@@ -24,7 +24,7 @@
24
24
  "zod": "^3.22.4"
25
25
  },
26
26
  "devDependencies": {
27
- "@babel/core": "7.22.10",
27
+ "@babel/core": "^7.22.10",
28
28
  "@babel/preset-typescript": "^7.22.5",
29
29
  "@jest/globals": "^29.6.1",
30
30
  "@types/jest": "^29.5.7",
@@ -35,6 +35,7 @@
35
35
  "gts": "^5.0.0",
36
36
  "husky": "^8.0.0",
37
37
  "jest": "^29.6.1",
38
+ "release-it": "^16.3.0",
38
39
  "rimraf": "^5.0.5",
39
40
  "ts-jest": "^29.1.1"
40
41
  },
@@ -69,6 +70,7 @@
69
70
  "lint": "gts lint",
70
71
  "prepare": "husky install",
71
72
  "prepublish": "npm run build",
73
+ "release": "release-it",
72
74
  "test": "jest --verbose --testPathPattern=src/__tests__/unit",
73
75
  "test:integration": "jest --verbose --testPathPattern=src/__tests__/integration"
74
76
  },
@@ -0,0 +1,23 @@
1
+ name: integration-template
2
+ description: null
3
+ tags: null
4
+ initialize:
5
+ plugins:
6
+ sci-e:
7
+ method: SciE
8
+ path: '@grnsft/if-plugins'
9
+ outputs:
10
+ - log
11
+ tree:
12
+ children:
13
+ child:
14
+ pipeline:
15
+ - sci-e
16
+ config:
17
+ sci-e: {}
18
+ inputs:
19
+ - timestamp: 2023-08-06T00:00
20
+ duration: 3600
21
+ cpu/energy: 10
22
+ memory/energy: 100
23
+ network/energy: 100
@@ -1,24 +0,0 @@
1
- name: azure-importer
2
- description: example impl invoking Azure Importer model
3
- tags:
4
- initialize:
5
- plugins:
6
- azure-importer:
7
- path: "@grnsft/if-unofficial-plugins"
8
- method: AzureImporter
9
- kind: plugin
10
- tree:
11
- children:
12
- child:
13
- pipeline:
14
- - azure-importer
15
- config:
16
- azure-importer:
17
- azure-observation-window: 5 min # value and unit must be space separated
18
- azure-observation-aggregation: "average"
19
- azure-subscription-id: 42a3c589-87ce-4478-8ed6-9adc11b81965
20
- azure-resource-group: Group1
21
- azure-vm-name: VM1
22
- inputs:
23
- - timestamp: "2023-11-02T10:35:31.820Z"
24
- duration: 3600
@@ -1,70 +0,0 @@
1
- name: basic-demo
2
- description: null
3
- tags: null
4
- initialize:
5
- plugins:
6
- mock-observations:
7
- path: "@grnsft/if-plugins"
8
- method: MockObservations
9
- global-config:
10
- timestamp-from: 2024-02-26T00:00
11
- timestamp-to: 2024-02-26T00:10
12
- duration: 60
13
- components:
14
- - cloud/instance-type: Standard_A1_v2
15
- - cloud/instance-type: Standard_A2_v2
16
- generators:
17
- common:
18
- cloud/vendor: azure
19
- cloud/region: uk-west
20
- geolocation: 37.7749,-122.4194
21
- randint:
22
- cpu/utilization:
23
- min: 1
24
- max: 99
25
- teads-curve:
26
- path: "@grnsft/if-unofficial-plugins"
27
- method: TeadsCurve
28
- global-config:
29
- interpolation: spline
30
- group-by:
31
- path: "builtin"
32
- method: GroupBy
33
- cloud-metadata:
34
- method: CloudMetadata
35
- path: "@grnsft/if-plugins"
36
- operational-carbon:
37
- path: "@grnsft/if-plugins"
38
- method: Multiply
39
- global-config:
40
- input-parameters: ["cpu/energy", "grid/carbon-intensity"]
41
- output-parameter: "cpu/carbon"
42
- watttime:
43
- path: "@grnsft/if-unofficial-plugins"
44
- method: WattTimeGridEmissions
45
- tree:
46
- children:
47
- application:
48
- pipeline:
49
- - mock-observations
50
- # - group-by
51
- - cloud-metadata
52
- - teads-curve
53
- - watttime
54
- - operational-carbon
55
- defaults:
56
- grid/carbon-intensity: 250
57
- geolocation: 48.8567,2.3522
58
- # config:
59
- # group-by:
60
- # group:
61
- # - cloud/region
62
- # - cloud/instance-type
63
- inputs:
64
- - timestamp: "2024-02-26 00:00:00"
65
- duration: 60
66
- cloud/instance-type: Standard_A1_v2
67
- cloud/vendor: azure
68
- cloud/region: francesouth
69
- geolocation: 48.8567,2.3522
70
- cpu/utilization: 15
@@ -1,20 +0,0 @@
1
- name: boavizta cloud demo
2
- description: calls boavizta api
3
- tags:
4
- initialize:
5
- plugins:
6
- "boavizta-cloud":
7
- method: BoaviztaCloudOutput
8
- path: "@grnsft/if-unofficial-plugins"
9
- tree:
10
- children:
11
- child:
12
- pipeline:
13
- - boavizta-cloud
14
- defaults:
15
- instance-type: r6g.medium
16
- provider: aws
17
- inputs:
18
- - timestamp: "2021-01-01T00:00:00Z"
19
- duration: 15 # Secs
20
- cpu/utilization: 34
@@ -1,26 +0,0 @@
1
- name: boavizta
2
- description: calls boavizta api
3
- tags:
4
- initialize:
5
- plugins:
6
- "boavizta-cpu":
7
- method: BoaviztaCpuOutput
8
- path: "@grnsft/if-unofficial-plugins"
9
- global-config:
10
- allocation: LINEAR
11
- verbose: true
12
- tree:
13
- children:
14
- child:
15
- pipeline:
16
- - boavizta-cpu
17
- defaults:
18
- cpu/number-cores: 24
19
- cpu/name: Intel® Core™ i7-1185G7
20
- inputs:
21
- - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred
22
- duration: 3600 # Secs
23
- cpu/utilization: 18.392
24
- - timestamp: 2023-08-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred
25
- duration: 3600 # Secs
26
- cpu/utilization: 16
@@ -1,20 +0,0 @@
1
- name: ccf-demo
2
- description: example impl invoking CCF model
3
- tags:
4
- initialize:
5
- plugins:
6
- ccf:
7
- method: CloudCarbonFootprint
8
- path: "@grnsft/if-unofficial-plugins"
9
- tree:
10
- children:
11
- child:
12
- pipeline:
13
- - ccf
14
- defaults:
15
- cloud/vendor: "aws"
16
- cloud/instance-type: "m5n.large"
17
- inputs:
18
- - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred
19
- duration: 1
20
- cpu/utilization: 10
@@ -1,41 +0,0 @@
1
- name: cloud-metadata-demo
2
- description: null
3
- tags: null
4
- initialize:
5
- plugins:
6
- teads-curve:
7
- path: "@grnsft/if-unofficial-plugins"
8
- method: TeadsCurve
9
- global-config:
10
- interpolation: spline
11
- cloud-metadata:
12
- method: CloudMetadata
13
- path: "@grnsft/if-plugins"
14
- tree:
15
- children:
16
- child-0:
17
- defaults:
18
- cpu/thermal-design-power: 100
19
- cloud/vendor: aws
20
- cloud/instance-type: m5n.large
21
- pipeline:
22
- - teads-curve
23
- - cloud-metadata
24
- inputs:
25
- - timestamp: 2023-07-06T00:00
26
- duration: 10
27
- cpu/utilization: 80
28
- - timestamp: 2023-07-06T00:01
29
- duration: 10
30
- cpu/utilization: 80
31
- outputs:
32
- - timestamp: 2023-07-06T00:00
33
- duration: 10
34
- cpu/utilization: 80
35
- cpu/thermal-design-power: 100
36
- cpu/energy: 0.00025568089430894314
37
- - timestamp: 2023-07-06T00:01
38
- duration: 10
39
- cpu/utilization: 80
40
- cpu/thermal-design-power: 100
41
- cpu/energy: 0.00025568089430894314
@@ -1,30 +0,0 @@
1
- name: co2js-demo
2
- description: example impl invoking CO2.JS model
3
- tags:
4
- initialize:
5
- plugins:
6
- co2js:
7
- method: Co2js
8
- path: "@grnsft/if-unofficial-plugins"
9
- global-config:
10
- options:
11
- dataReloadRatio: 0.6
12
- firstVisitPercentage: 0.9
13
- returnVisitPercentage: 0.1
14
- gridIntensity:
15
- device: 560.98
16
- dataCenter:
17
- country: "TWN"
18
- tree:
19
- children:
20
- child:
21
- pipeline:
22
- - co2js
23
- config:
24
- co2js:
25
- type: swd
26
- green-web-host: true
27
- inputs:
28
- - timestamp: 2023-07-06T00:00
29
- duration: 1
30
- network/data/bytes: 1000000
@@ -1,34 +0,0 @@
1
- name: csv-export-demo
2
- description: example exporting output to a csv file
3
- tags:
4
- initialize:
5
- plugins:
6
- csv-exporter:
7
- method: CsvExport
8
- path: "@grnsft/if-plugins"
9
- tree:
10
- children:
11
- child:
12
- pipeline:
13
- - csv-exporter
14
- config:
15
- csv-exporter:
16
- output-path: ./examples/outputs/csv-test.csv
17
- headers:
18
- - timestamp
19
- - duration
20
- - carbon
21
- - energy
22
- inputs:
23
- - timestamp: 2023-07-06T00:00
24
- duration: 1
25
- operational-carbon: 0.02
26
- embodied-carbon: 5
27
- energy: 3.5
28
- carbon: 5.02
29
- - timestamp: 2023-07-06T00:10
30
- duration: 1
31
- operational-carbon: 0.03
32
- embodied-carbon: 4
33
- energy: 2.9
34
- carbon: 4.03
@@ -1,21 +0,0 @@
1
- name: e-mem
2
- description:
3
- tags:
4
- initialize:
5
- plugins:
6
- e-mem:
7
- method: EMem
8
- path: "@grnsft/if-plugins"
9
- global-config:
10
- energy-per-gb: 0.002
11
- tree:
12
- children:
13
- child:
14
- pipeline:
15
- - e-mem
16
- config:
17
- inputs:
18
- - timestamp: 2023-08-06T00:00
19
- duration: 3600
20
- memory/utilization: 40
21
- memory/capacity: 1
@@ -1,22 +0,0 @@
1
- name: e-net-demo
2
- description:
3
- tags:
4
- initialize:
5
- plugins:
6
- e-net:
7
- method: ENet
8
- path: "@grnsft/if-plugins"
9
- global-config:
10
- energy-per-gb: 0.02
11
- tree:
12
- children:
13
- child:
14
- pipeline:
15
- - e-net
16
- config:
17
- e-net:
18
- inputs:
19
- - timestamp: 2023-08-06T00:00
20
- duration: 3600
21
- network/data-in: 1
22
- network/data-out: 2
@@ -1,89 +0,0 @@
1
- name: nesting-demo
2
- description: null
3
- tags:
4
- kind: web
5
- complexity: moderate
6
- category: on-premise
7
- params:
8
- aggregation:
9
- type: vertical
10
- metrics:
11
- - "energy"
12
- initialize:
13
- plugins:
14
- teads-curve:
15
- path: "@grnsft/if-unofficial-plugins"
16
- method: TeadsCurve
17
- global-config:
18
- interpolation: spline
19
- sci-e:
20
- path: "@grnsft/if-plugins"
21
- method: SciE
22
- sci-m:
23
- path: "@grnsft/if-plugins"
24
- method: SciM
25
- sci-o:
26
- path: "@grnsft/if-plugins"
27
- method: SciO
28
- "time-sync":
29
- method: TimeSync
30
- path: "builtin"
31
- global-config:
32
- start-time: "2023-12-12T00:00:00.000Z"
33
- end-time: "2023-12-12T00:01:00.000Z"
34
- interval: 5
35
- allow-padding: true
36
- sci:
37
- path: "@grnsft/if-plugins"
38
- method: Sci
39
- global-config:
40
- functional-unit: "requests"
41
- functional-unit-time: "1 minute"
42
- tree:
43
- children:
44
- child-0:
45
- defaults:
46
- cpu/thermal-design-power: 100
47
- grid/carbon-intensity: 800
48
- device/emissions-embodied: 1533.120 # gCO2eq
49
- time-reserved: 3600 # 1hr in seconds
50
- device/expected-lifespan: 94608000 # 3 years in seconds
51
- resources-reserved: 1
52
- resources-total: 8
53
- functional-unit-time: "1 min"
54
- pipeline:
55
- - teads-curve
56
- - sci-e
57
- - sci-m
58
- - sci-o
59
- - time-sync
60
- - sci
61
- inputs:
62
- - timestamp: "2023-12-12T00:00:00.000Z"
63
- duration: 10
64
- cpu/utilization: 50
65
- network/energy: 1
66
- energy: 1
67
- child-1:
68
- defaults:
69
- cpu/thermal-design-power: 100
70
- grid/carbon-intensity: 800
71
- device/emissions-embodied: 1533.120 # gCO2eq
72
- time-reserved: 3600 # 1hr in seconds
73
- device/expected-lifespan: 94608000 # 3 years in seconds
74
- resources-reserved: 1
75
- resources-total: 8
76
- functional-unit-time: "1 min"
77
- pipeline:
78
- - teads-curve
79
- - sci-e
80
- - sci-m
81
- - sci-o
82
- - time-sync
83
- - sci
84
- inputs:
85
- - timestamp: "2023-12-12T00:00:00.000Z"
86
- duration: 10
87
- cpu/utilization: 30
88
- network/energy: 1
89
- energy: 1
@@ -1,85 +0,0 @@
1
- name: pipeline-demo
2
- description:
3
- tags:
4
- initialize:
5
- plugins:
6
- boavizta-cpu:
7
- method: BoaviztaCpuOutput
8
- path: "@grnsft/if-unofficial-plugins"
9
- global-config:
10
- allocation: LINEAR
11
- verbose: true
12
- "sum":
13
- path: "@grnsft/if-plugins"
14
- method: Sum
15
- global-config:
16
- input-parameters:
17
- - cpu/energy
18
- - network/energy
19
- output-parameter: energy
20
- "sci-m":
21
- path: "@grnsft/if-plugins"
22
- method: SciM
23
- "sci-o":
24
- path: "@grnsft/if-plugins"
25
- method: SciO
26
- "sci":
27
- path: "@grnsft/if-plugins"
28
- method: Sci
29
- global-config:
30
- functional-unit: ""
31
- functional-unit-time: "1-day"
32
- "time-sync":
33
- method: TimeSync
34
- path: "builtin"
35
- global-config:
36
- start-time: "2023-12-12T00:00:00.000Z"
37
- end-time: "2023-12-12T00:01:00.000Z"
38
- interval: 5
39
- allow-padding: true
40
- tree:
41
- children:
42
- child-1:
43
- pipeline:
44
- - boavizta-cpu
45
- - sum
46
- - sci-m
47
- - sci-o
48
- - time-sync
49
- - sci
50
- config:
51
- defaults:
52
- cpu/thermal-design-power: 100
53
- grid/carbon-intensity: 800
54
- device/emissions-embodied: 1533.120 # gCO2eq
55
- time-reserved: 3600 # 1hr in seconds
56
- device/expected-lifespan: 94608000 # 3 years in seconds
57
- resources-reserved: 1
58
- resources-total: 8
59
- cpu/number-cores: 24
60
- cpu/name: Intel® Core™ i7-1185G7
61
- inputs:
62
- - timestamp: "2023-12-12T00:00:00.000Z"
63
- cloud/instance-type: A1
64
- cloud/region: uk-west
65
- duration: 1
66
- cpu/utilization: 50
67
- network/energy: 0.000001
68
- - timestamp: "2023-12-12T00:00:01.000Z"
69
- duration: 5
70
- cpu/utilization: 20
71
- cloud/instance-type: A1
72
- cloud/region: uk-west
73
- network/energy: 0.000001
74
- - timestamp: "2023-12-12T00:00:06.000Z"
75
- duration: 7
76
- cpu/utilization: 15
77
- cloud/instance-type: A1
78
- cloud/region: uk-west
79
- network/energy: 0.000001
80
- - timestamp: "2023-12-12T00:00:13.000Z"
81
- duration: 30
82
- cloud/instance-type: A1
83
- cloud/region: uk-west
84
- cpu/utilization: 15
85
- network/energy: 0.000001
@@ -1,152 +0,0 @@
1
- name: pipeline-with-generics-demo
2
- description:
3
- tags:
4
- aggregation:
5
- metrics:
6
- - "carbon"
7
- type: "both"
8
- params:
9
- - name: energy-sum
10
- description: "sum of energies"
11
- unit: "kWh"
12
- aggregation: sum
13
- initialize:
14
- plugins:
15
- "teads-curve":
16
- path: "@grnsft/if-unofficial-plugins"
17
- method: TeadsCurve
18
- global-config:
19
- interpolation: spline
20
- "sum":
21
- path: "@grnsft/if-plugins"
22
- method: Sum
23
- global-config:
24
- input-parameters:
25
- - cpu/energy
26
- - network/energy
27
- output-parameter: energy-sum
28
- "coefficient":
29
- path: "@grnsft/if-plugins"
30
- method: Coefficient
31
- global-config:
32
- input-parameter: energy
33
- coefficient: 2
34
- output-parameter: energy-doubled
35
- "sci-m":
36
- path: "@grnsft/if-plugins"
37
- method: SciM
38
- "sci-o":
39
- path: "@grnsft/if-plugins"
40
- method: SciO
41
- "sci":
42
- path: "@grnsft/if-plugins"
43
- method: Sci
44
- global-config:
45
- functional-unit: "requests"
46
- functional-unit-time: "1 minute"
47
- "time-sync":
48
- method: TimeSync
49
- path: "builtin"
50
- global-config:
51
- start-time: "2023-12-12T00:00:00.000Z"
52
- end-time: "2023-12-12T00:01:00.000Z"
53
- interval: 5
54
- allow-padding: true
55
- tree:
56
- children:
57
- child-1:
58
- pipeline:
59
- - teads-curve
60
- - sum
61
- - sci-m
62
- - sci-o
63
- - time-sync
64
- - coefficient
65
- - sci
66
- config:
67
- defaults:
68
- cpu/thermal-design-power: 100
69
- grid/carbon-intensity: 800
70
- device/emissions-embodied: 1533.120 # gCO2eq
71
- time-reserved: 3600 # 1hr in seconds
72
- device/expected-lifespan: 94608000 # 3 years in seconds
73
- resources-reserved: 1
74
- resources-total: 8
75
- functional-unit-time: "1 min"
76
- inputs:
77
- - timestamp: "2023-12-12T00:00:00.000Z"
78
- cloud/instance-type: A1
79
- cloud/region: uk-west
80
- duration: 1
81
- cpu/utilization: 50
82
- network/energy: 10
83
- energy: 5
84
- - timestamp: "2023-12-12T00:00:01.000Z"
85
- duration: 5
86
- cpu/utilization: 20
87
- cloud/instance-type: A1
88
- cloud/region: uk-west
89
- network/energy: 10
90
- energy: 5
91
- - timestamp: "2023-12-12T00:00:06.000Z"
92
- duration: 7
93
- cpu/utilization: 15
94
- cloud/instance-type: A1
95
- cloud/region: uk-west
96
- network/energy: 10
97
- energy: 5
98
- - timestamp: "2023-12-12T00:00:13.000Z"
99
- duration: 30
100
- cloud/instance-type: A1
101
- cloud/region: uk-west
102
- cpu/utilization: 15
103
- network/energy: 10
104
- energy: 5
105
- child-2:
106
- pipeline:
107
- - teads-curve
108
- - sum
109
- - sci-m
110
- - sci-o
111
- - time-sync
112
- - coefficient
113
- - sci
114
- config:
115
- defaults:
116
- cpu/thermal-design-power: 100
117
- grid/carbon-intensity: 800
118
- device/emissions-embodied: 1533.120 # gCO2eq
119
- time-reserved: 3600 # 1hr in seconds
120
- device/expected-lifespan: 94608000 # 3 years in seconds
121
- resources-reserved: 1
122
- resources-total: 8
123
- functional-unit-time: "1 min"
124
- inputs:
125
- - timestamp: "2023-12-12T00:00:00.000Z"
126
- duration: 1
127
- cpu/utilization: 30
128
- cloud/instance-type: A1
129
- cloud/region: uk-west
130
- network/energy: 10
131
- energy: 5
132
- - timestamp: "2023-12-12T00:00:01.000Z"
133
- duration: 5
134
- cpu/utilization: 28
135
- cloud/instance-type: A1
136
- cloud/region: uk-west
137
- network/energy: 10
138
- energy: 5
139
- - timestamp: "2023-12-12T00:00:06.000Z"
140
- duration: 7
141
- cpu/utilization: 40
142
- cloud/instance-type: A1
143
- cloud/region: uk-west
144
- network/energy: 10
145
- energy: 5
146
- - timestamp: "2023-12-12T00:00:13.000Z"
147
- duration: 30
148
- cpu/utilization: 33
149
- cloud/instance-type: A1
150
- cloud/region: uk-west
151
- network/energy: 10
152
- energy: 5