@grnsft/if 0.3.3-beta.0 → 0.4.0-beta.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 (164) hide show
  1. package/.commitlintrc.js +0 -1
  2. package/.env +5 -0
  3. package/.lintstagedrc.js +6 -0
  4. package/README.md +12 -8
  5. package/Refactor-migration-guide.md +6 -6
  6. package/coverage/clover.xml +1590 -0
  7. package/coverage/coverage-final.json +50 -0
  8. package/coverage/lcov-report/base.css +224 -0
  9. package/coverage/lcov-report/block-navigation.js +87 -0
  10. package/coverage/lcov-report/builtins/coefficient/index.html +116 -0
  11. package/coverage/lcov-report/builtins/coefficient/index.ts.html +295 -0
  12. package/coverage/lcov-report/builtins/csv-lookup/index.html +116 -0
  13. package/coverage/lcov-report/builtins/csv-lookup/index.ts.html +832 -0
  14. package/coverage/lcov-report/builtins/divide/index.html +116 -0
  15. package/coverage/lcov-report/builtins/divide/index.ts.html +361 -0
  16. package/coverage/lcov-report/builtins/exponent/index.html +116 -0
  17. package/coverage/lcov-report/builtins/exponent/index.ts.html +355 -0
  18. package/coverage/lcov-report/builtins/export-csv-raw.ts.html +553 -0
  19. package/coverage/lcov-report/builtins/export-csv.ts.html +433 -0
  20. package/coverage/lcov-report/builtins/export-log.ts.html +145 -0
  21. package/coverage/lcov-report/builtins/export-yaml.ts.html +184 -0
  22. package/coverage/lcov-report/builtins/group-by.ts.html +364 -0
  23. package/coverage/lcov-report/builtins/index.html +206 -0
  24. package/coverage/lcov-report/builtins/index.ts.html +130 -0
  25. package/coverage/lcov-report/builtins/interpolation/index.html +131 -0
  26. package/coverage/lcov-report/builtins/interpolation/index.ts.html +670 -0
  27. package/coverage/lcov-report/builtins/interpolation/types.ts.html +100 -0
  28. package/coverage/lcov-report/builtins/mock-observations/helpers/common-generator.ts.html +181 -0
  29. package/coverage/lcov-report/builtins/mock-observations/helpers/index.html +131 -0
  30. package/coverage/lcov-report/builtins/mock-observations/helpers/rand-int-generator.ts.html +295 -0
  31. package/coverage/lcov-report/builtins/mock-observations/index.html +116 -0
  32. package/coverage/lcov-report/builtins/mock-observations/index.ts.html +613 -0
  33. package/coverage/lcov-report/builtins/multiply/index.html +116 -0
  34. package/coverage/lcov-report/builtins/multiply/index.ts.html +337 -0
  35. package/coverage/lcov-report/builtins/regex/index.html +116 -0
  36. package/coverage/lcov-report/builtins/regex/index.ts.html +379 -0
  37. package/coverage/lcov-report/builtins/sci/config.ts.html +205 -0
  38. package/coverage/lcov-report/builtins/sci/index.html +116 -0
  39. package/coverage/lcov-report/builtins/sci/index.ts.html +331 -0
  40. package/coverage/lcov-report/builtins/sci-embodied/index.html +116 -0
  41. package/coverage/lcov-report/builtins/sci-embodied/index.ts.html +481 -0
  42. package/coverage/lcov-report/builtins/shell/index.html +116 -0
  43. package/coverage/lcov-report/builtins/shell/index.ts.html +283 -0
  44. package/coverage/lcov-report/builtins/subtract/index.html +116 -0
  45. package/coverage/lcov-report/builtins/subtract/index.ts.html +373 -0
  46. package/coverage/lcov-report/builtins/sum/index.html +116 -0
  47. package/coverage/lcov-report/builtins/sum/index.ts.html +340 -0
  48. package/coverage/lcov-report/builtins/time-sync.ts.html +1459 -0
  49. package/coverage/lcov-report/config/config.ts.html +334 -0
  50. package/coverage/lcov-report/config/index.html +161 -0
  51. package/coverage/lcov-report/config/index.ts.html +94 -0
  52. package/coverage/lcov-report/config/params.ts.html +697 -0
  53. package/coverage/lcov-report/config/strings.ts.html +415 -0
  54. package/coverage/lcov-report/favicon.png +0 -0
  55. package/coverage/lcov-report/index.html +386 -0
  56. package/coverage/lcov-report/lib/aggregate.ts.html +331 -0
  57. package/coverage/lcov-report/lib/compare.ts.html +283 -0
  58. package/coverage/lcov-report/lib/compute.ts.html +391 -0
  59. package/coverage/lcov-report/lib/environment.ts.html +343 -0
  60. package/coverage/lcov-report/lib/exhaust.ts.html +283 -0
  61. package/coverage/lcov-report/lib/index.html +221 -0
  62. package/coverage/lcov-report/lib/initialize.ts.html +388 -0
  63. package/coverage/lcov-report/lib/load.ts.html +268 -0
  64. package/coverage/lcov-report/lib/parameterize.ts.html +283 -0
  65. package/coverage/lcov-report/prettify.css +1 -0
  66. package/coverage/lcov-report/prettify.js +2 -0
  67. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  68. package/coverage/lcov-report/sorter.js +196 -0
  69. package/coverage/lcov-report/types/aggregation.ts.html +94 -0
  70. package/coverage/lcov-report/types/index.html +146 -0
  71. package/coverage/lcov-report/types/interface.ts.html +181 -0
  72. package/coverage/lcov-report/types/parameters.ts.html +106 -0
  73. package/coverage/lcov-report/util/aggregation-helper.ts.html +286 -0
  74. package/coverage/lcov-report/util/args.ts.html +508 -0
  75. package/coverage/lcov-report/util/errors.ts.html +232 -0
  76. package/coverage/lcov-report/util/helpers.ts.html +613 -0
  77. package/coverage/lcov-report/util/index.html +266 -0
  78. package/coverage/lcov-report/util/json.ts.html +115 -0
  79. package/coverage/lcov-report/util/log-memoize.ts.html +145 -0
  80. package/coverage/lcov-report/util/logger.ts.html +151 -0
  81. package/coverage/lcov-report/util/os-checker.ts.html +421 -0
  82. package/coverage/lcov-report/util/plugin-storage.ts.html +199 -0
  83. package/coverage/lcov-report/util/validations.ts.html +526 -0
  84. package/coverage/lcov-report/util/yaml.ts.html +193 -0
  85. package/coverage/lcov.info +2811 -0
  86. package/github-processes.md +16 -42
  87. package/manifests/bugs/aggregation-error-wrong-metric.yml +6 -6
  88. package/manifests/bugs/azure-importer-ignoring-defaults.yml +3 -3
  89. package/manifests/bugs/azure-importer-incorrect-calculation.yml +2 -2
  90. package/manifests/bugs/mock-observations-failure-duration-is-zero.yml +34 -0
  91. package/manifests/bugs/pipeline-error-uninitialized-plugin.yml +1 -1
  92. package/manifests/bugs/pipeline-ordering-error.yml +6 -6
  93. package/manifests/bugs/sci-embodied-missing-resources-total.yml +23 -0
  94. package/manifests/examples/generics.yml +3 -3
  95. package/manifests/examples/instance-metadata.yml +36 -0
  96. package/manifests/examples/mock-cpu-util-to-carbon.yml +3 -3
  97. package/manifests/examples/nesting.yml +37 -10
  98. package/manifests/examples/pipeline-teads-sci.yml +17 -9
  99. package/manifests/examples/pipeline-with-aggregate.yml +24 -9
  100. package/manifests/examples/pipeline-with-mocks.yml +26 -9
  101. package/manifests/examples/sci.yml +131 -0
  102. package/manifests/examples/teads-curve.yml +78 -0
  103. package/manifests/features/aggregate-failure-inalid-metrics.yml +43 -0
  104. package/manifests/features/aggregate-failure-missing-metric-in-inputs.yml +43 -0
  105. package/manifests/integrations/cloud-metadata-divide-boavizta.yml +1 -1
  106. package/manifests/integrations/mock-obs-group-by-cloud-meta.yml +51 -0
  107. package/manifests/integrations/mock-obs-groupby.yml +2 -2
  108. package/manifests/integrations/mock-obs-time-sync.yml +1 -1
  109. package/manifests/plugins/cloud-metadata/failure-invalid-instance-type.yaml +21 -0
  110. package/manifests/plugins/cloud-metadata/failure-invalid-vendor.yaml +1 -1
  111. package/manifests/plugins/cloud-metadata/failure-missing-cloud-vendor.yml +21 -0
  112. package/manifests/plugins/cloud-metadata/success.yml +1 -1
  113. package/manifests/plugins/coefficient/failure-invalid-config-input-param.yml +1 -1
  114. package/manifests/plugins/coefficient/failure-output-param-is-null.yaml +24 -0
  115. package/manifests/plugins/coefficient/success.yml +1 -1
  116. package/manifests/plugins/csv-lookup/failure-missing-column.yml +26 -0
  117. package/manifests/plugins/csv-lookup/failure-missing-output.yml +26 -0
  118. package/manifests/plugins/csv-lookup/success-renaming.yml +26 -0
  119. package/manifests/plugins/csv-lookup/success.yml +26 -0
  120. package/manifests/plugins/divide/failure-denominator-equal-zero.yml +39 -0
  121. package/manifests/plugins/divide/failure-invalid-config-denominator.yml +1 -1
  122. package/manifests/plugins/divide/failure-missing-numerator.yml +39 -0
  123. package/manifests/plugins/divide/success.yml +2 -2
  124. package/manifests/plugins/groupby/failure-missing-cloud-instance-type.yml +49 -0
  125. package/manifests/plugins/interpolation/interpolation.yml +24 -0
  126. package/manifests/plugins/mock-observations/failure-invalid-config-cpu-range.yml +1 -1
  127. package/manifests/plugins/mock-observations/failure-invalid-memory-utilization-range.yml +34 -0
  128. package/manifests/plugins/mock-observations/failure-missing-timestamp-from-param.yml +34 -0
  129. package/manifests/plugins/mock-observations/success.yml +2 -2
  130. package/manifests/plugins/multiply/failure-input-parameter-is-missing.yml +1 -1
  131. package/manifests/plugins/multiply/success-with-multiple-inputs.yml +32 -0
  132. package/manifests/plugins/multiply/success.yml +3 -3
  133. package/manifests/plugins/regex/failure-missing-input-param.yml +1 -1
  134. package/manifests/plugins/regex/failure-not-matching-with-regex.yml +24 -0
  135. package/manifests/plugins/regex/success.yml +2 -2
  136. package/manifests/plugins/sci/failure-invalid-config-value.yml +2 -3
  137. package/manifests/plugins/sci/failure-missing-input-param.yml +27 -0
  138. package/manifests/plugins/sci/success.yml +5 -4
  139. package/manifests/plugins/{sci-m → sci-embodied}/failure-invalid-default-emission-value.yml +5 -6
  140. package/manifests/plugins/sci-embodied/failure-missing-expected-lifespan.yml +23 -0
  141. package/manifests/plugins/{sci-m → sci-embodied}/success.yml +5 -6
  142. package/manifests/plugins/shell/failure-invalid-command.yml +1 -1
  143. package/manifests/plugins/shell/success.yml +1 -2
  144. package/manifests/plugins/sum/failure-missing-input-param.yml +1 -1
  145. package/manifests/plugins/sum/failure-missing-output-param.yml +28 -0
  146. package/manifests/plugins/sum/success.yml +1 -1
  147. package/manifests/plugins/tdp-finder/failure-unsupported-physical-processor.yml +19 -0
  148. package/manifests/plugins/time-sync/failure-missing-global-config.yml +34 -0
  149. package/package.json +10 -2
  150. package/src/__tests__/integration/manifest/sci-e.yaml +23 -0
  151. package/src/builtins/README.md +5 -5
  152. package/src/builtins/coefficient/README.md +92 -0
  153. package/src/builtins/csv-lookup/README.md +142 -0
  154. package/src/builtins/divide/README.md +95 -0
  155. package/src/builtins/exponent/README.md +97 -0
  156. package/src/builtins/interpolation/README.md +168 -0
  157. package/src/builtins/mock-observations/README.md +97 -0
  158. package/src/builtins/multiply/README.md +94 -0
  159. package/src/builtins/regex/README.md +91 -0
  160. package/src/builtins/sci/README.md +89 -0
  161. package/src/builtins/sci-embodied/README.md +110 -0
  162. package/src/builtins/shell/README.md +130 -0
  163. package/src/builtins/subtract/README.md +94 -0
  164. package/src/builtins/sum/README.md +91 -0
@@ -0,0 +1,24 @@
1
+ name: coefficient-demo
2
+ description: value of output-param is missing
3
+ tags:
4
+ initialize:
5
+ outputs: ['yaml']
6
+ plugins:
7
+ coefficient:
8
+ method: Coefficient
9
+ path: "builtin"
10
+ global-config:
11
+ input-parameter: "carbon"
12
+ coefficient: 3
13
+ output-parameter:
14
+ tree:
15
+ children:
16
+ child:
17
+ pipeline:
18
+ - coefficient
19
+ config:
20
+ sum:
21
+ inputs:
22
+ - timestamp: 2023-08-06T00:00
23
+ duration: 3600
24
+ carbon: 30
@@ -6,7 +6,7 @@ initialize:
6
6
  plugins:
7
7
  coefficient:
8
8
  method: Coefficient
9
- path: "@grnsft/if-plugins"
9
+ path: "builtin"
10
10
  global-config:
11
11
  input-parameter: "carbon"
12
12
  coefficient: 3
@@ -0,0 +1,26 @@
1
+ name: csv-lookup-demo
2
+ description:
3
+ tags:
4
+ initialize:
5
+ # outputs:
6
+ # - yaml
7
+ plugins:
8
+ cloud-metadata:
9
+ method: CSVLookup
10
+ path: 'builtin'
11
+ global-config:
12
+ filepath: https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/region-metadata.csv
13
+ query:
14
+ cloud-provider: "nonexistant"
15
+ cloud-region: "cloud/region"
16
+ output: "*"
17
+ tree:
18
+ children:
19
+ child:
20
+ pipeline:
21
+ - cloud-metadata
22
+ inputs:
23
+ - timestamp: 2023-08-06T00:00
24
+ duration: 3600
25
+ cloud/provider: Google Cloud
26
+ cloud/region: asia-east1
@@ -0,0 +1,26 @@
1
+ name: csv-lookup-demo
2
+ description:
3
+ tags:
4
+ initialize:
5
+ # outputs:
6
+ # - yaml
7
+ plugins:
8
+ cloud-metadata:
9
+ method: CSVLookup
10
+ path: 'builtin'
11
+ global-config:
12
+ filepath: https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/region-metadata.csv
13
+ query:
14
+ cloud-provider: "cloud/provider"
15
+ cloud-region: "cloud/region"
16
+ output: "*"
17
+ tree:
18
+ children:
19
+ child:
20
+ pipeline:
21
+ - cloud-metadata
22
+ inputs:
23
+ - timestamp: 2023-08-06T00:00
24
+ duration: 3600
25
+ cloud/provider: Google Cloud
26
+ cloud/region: asia-east1
@@ -0,0 +1,26 @@
1
+ name: csv-lookup-demo
2
+ description:
3
+ tags:
4
+ initialize:
5
+ # outputs:
6
+ # - yaml
7
+ plugins:
8
+ cloud-metadata:
9
+ method: CSVLookup
10
+ path: 'builtin'
11
+ global-config:
12
+ filepath: https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/region-metadata.csv
13
+ query:
14
+ cloud-provider: "cloud/provider"
15
+ cloud-region: "cloud/region"
16
+ output: ['em-zone-id','renamed-em-zone-data']
17
+ tree:
18
+ children:
19
+ child:
20
+ pipeline:
21
+ - cloud-metadata
22
+ inputs:
23
+ - timestamp: 2023-08-06T00:00
24
+ duration: 3600
25
+ cloud/provider: Google Cloud
26
+ cloud/region: asia-east1
@@ -0,0 +1,26 @@
1
+ name: csv-lookup-demo
2
+ description:
3
+ tags:
4
+ initialize:
5
+ # outputs:
6
+ # - yaml
7
+ plugins:
8
+ cloud-metadata:
9
+ method: CSVLookup
10
+ path: 'builtin'
11
+ global-config:
12
+ filepath: https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/region-metadata.csv
13
+ query:
14
+ cloud-provider: "cloud/provider"
15
+ cloud-region: "cloud/region"
16
+ output: "*"
17
+ tree:
18
+ children:
19
+ child:
20
+ pipeline:
21
+ - cloud-metadata
22
+ inputs:
23
+ - timestamp: 2023-08-06T00:00
24
+ duration: 3600
25
+ cloud/provider: Google Cloud
26
+ cloud/region: asia-east-1
@@ -0,0 +1,39 @@
1
+ name: divide
2
+ description: denominator is invalid, denominator is
3
+ tags:
4
+ initialize:
5
+ # outputs: ['yaml']
6
+ plugins:
7
+ cloud-metadata:
8
+ method: CloudMetadata
9
+ path: "@grnsft/if-plugins"
10
+ divide:
11
+ method: Divide
12
+ path: "builtin"
13
+ global-config:
14
+ numerator: vcpus-allocated
15
+ denominator: 0
16
+ output: cpu/number-cores
17
+ boavizta-cpu:
18
+ method: BoaviztaCpuOutput
19
+ path: "@grnsft/if-unofficial-plugins"
20
+ global-config:
21
+ allocation: LINEAR
22
+ verbose: true
23
+ tree:
24
+ children:
25
+ child:
26
+ pipeline:
27
+ - cloud-metadata
28
+ - divide
29
+ - boavizta-cpu
30
+ config:
31
+ divide:
32
+ defaults:
33
+ cloud/vendor: aws
34
+ cloud/instance-type: m5n.large
35
+ cpu/name: Intel® Core™ i7-1185G7
36
+ inputs:
37
+ - timestamp: 2023-08-06T00:00
38
+ duration: 3600
39
+ cpu/utilization: 80
@@ -9,7 +9,7 @@ initialize:
9
9
  path: "@grnsft/if-plugins"
10
10
  divide:
11
11
  method: Divide
12
- path: "@grnsft/if-plugins"
12
+ path: "builtin"
13
13
  global-config:
14
14
  numerator: vcpus-allocated
15
15
  denominator: 'vcpus'
@@ -0,0 +1,39 @@
1
+ name: divide
2
+ description: success path
3
+ tags:
4
+ initialize:
5
+ # outputs: ['yaml']
6
+ plugins:
7
+ cloud-metadata:
8
+ method: CloudMetadata
9
+ path: "@grnsft/if-plugins"
10
+ divide:
11
+ method: Divide
12
+ path: "builtin"
13
+ global-config:
14
+ #numerator: vcpus-allocated
15
+ denominator: 2
16
+ output: cpu/number-cores
17
+ boavizta-cpu:
18
+ method: BoaviztaCpuOutput
19
+ path: "@grnsft/if-unofficial-plugins"
20
+ global-config:
21
+ allocation: LINEAR
22
+ verbose: true
23
+ tree:
24
+ children:
25
+ child:
26
+ pipeline:
27
+ - cloud-metadata
28
+ - divide
29
+ - boavizta-cpu
30
+ config:
31
+ divide:
32
+ defaults:
33
+ cloud/vendor: aws
34
+ cloud/instance-type: m5n.large
35
+ cpu/name: Intel® Core™ i7-1185G7
36
+ inputs:
37
+ - timestamp: 2023-08-06T00:00
38
+ duration: 3600
39
+ cpu/utilization: 80
@@ -2,14 +2,14 @@ name: divide
2
2
  description: success path
3
3
  tags:
4
4
  initialize:
5
- outputs: ['yaml']
5
+ # outputs: ['yaml']
6
6
  plugins:
7
7
  cloud-metadata:
8
8
  method: CloudMetadata
9
9
  path: "@grnsft/if-plugins"
10
10
  divide:
11
11
  method: Divide
12
- path: "@grnsft/if-plugins"
12
+ path: "builtin"
13
13
  global-config:
14
14
  numerator: vcpus-allocated
15
15
  denominator: 2
@@ -0,0 +1,49 @@
1
+ name: groupby
2
+ description:
3
+ initialize:
4
+ # outputs: ['yaml']
5
+ plugins:
6
+ group-by:
7
+ path: "builtin"
8
+ method: GroupBy
9
+ tree:
10
+ children:
11
+ my-app:
12
+ pipeline:
13
+ - group-by
14
+ config:
15
+ group-by:
16
+ group:
17
+ - cloud/region
18
+ - cloud/instance-type
19
+ inputs:
20
+ - timestamp: 2023-07-06T00:00
21
+ duration: 300
22
+ cloud/instance-type: A1
23
+ cloud/region: uk-west
24
+ cpu/utilization: 99
25
+ - timestamp: 2023-07-06T05:00
26
+ duration: 300
27
+ cloud/instance-type: A1
28
+ cloud/region: uk-west
29
+ cpu/utilization: 23
30
+ - timestamp: 2023-07-06T10:00
31
+ duration: 300
32
+ cloud/instance-type: A1
33
+ cloud/region: uk-west
34
+ cpu/utilization: 12
35
+ - timestamp: 2023-07-06T00:00 # note this time restarts at the start timstamp
36
+ duration: 300
37
+ cloud/instance-type: B1
38
+ cloud/region: uk-west
39
+ cpu/utilization: 11
40
+ - timestamp: 2023-07-06T05:00
41
+ duration: 300
42
+ cloud/instance-type: B1
43
+ cloud/region: uk-west
44
+ cpu/utilization: 67
45
+ - timestamp: 2023-07-06T10:00
46
+ duration: 300
47
+ #cloud/instance-type: B1 -- missing value
48
+ cloud/region: uk-west
49
+ cpu/utilization: 1
@@ -0,0 +1,24 @@
1
+ name: interpolation-demo
2
+ description: simple demo of interpolation plugin
3
+ tags:
4
+ initialize:
5
+ plugins:
6
+ interpolation:
7
+ method: Interpolation
8
+ path: "builtin"
9
+ global-config:
10
+ method: linear
11
+ x: [0, 10, 50, 100]
12
+ y: [0.12, 0.32, 0.75, 1.02]
13
+ input-parameter: "cpu/utilization"
14
+ output-parameter: "result"
15
+
16
+ tree:
17
+ children:
18
+ child:
19
+ pipeline:
20
+ - interpolation
21
+ inputs:
22
+ - timestamp: 2023-07-06T00:00
23
+ duration: 3600
24
+ cpu/utilization: 45
@@ -7,7 +7,7 @@ initialize:
7
7
  mock-observations:
8
8
  kind: plugin
9
9
  method: MockObservations
10
- path: "@grnsft/if-plugins"
10
+ path: "builtin"
11
11
  global-config:
12
12
  timestamp-from: 2023-07-06T00:00
13
13
  timestamp-to: 2023-07-06T00:10
@@ -0,0 +1,34 @@
1
+ name: mock-observation-demo
2
+ description: a manifest demonstrating how to use the mock observations feature
3
+ tags:
4
+ initialize:
5
+ # outputs: ['yaml']
6
+ plugins:
7
+ mock-observations:
8
+ kind: plugin
9
+ method: MockObservations
10
+ path: "builtin"
11
+ global-config:
12
+ timestamp-from: 2023-07-06T00:00
13
+ timestamp-to: 2023-07-06T00:10
14
+ duration: 60
15
+ components:
16
+ - cloud/instance-type: A1
17
+ - cloud/instance-type: B1
18
+ generators:
19
+ common:
20
+ region: uk-west
21
+ common-key: common-val
22
+ randint:
23
+ cpu/utilization:
24
+ min: 1
25
+ max: 99
26
+ memory/utilization:
27
+ min: 99
28
+ max: 10
29
+ tree:
30
+ children:
31
+ child:
32
+ pipeline:
33
+ - mock-observations
34
+ inputs:
@@ -0,0 +1,34 @@
1
+ name: mock-observation-demo
2
+ description: a manifest demonstrating how to use the mock observations feature
3
+ tags:
4
+ initialize:
5
+ outputs: ['yaml']
6
+ plugins:
7
+ mock-observations:
8
+ kind: plugin
9
+ method: MockObservations
10
+ path: "builtin"
11
+ global-config:
12
+ #timestamp-from: 2023-07-06T00:00
13
+ timestamp-to: 2023-07-06T00:10
14
+ duration: 60
15
+ components:
16
+ - cloud/instance-type: A1
17
+ - cloud/instance-type: B1
18
+ generators:
19
+ common:
20
+ region: uk-west
21
+ common-key: common-val
22
+ randint:
23
+ cpu/utilization:
24
+ min: 1
25
+ max: 99
26
+ memory/utilization:
27
+ min: 1
28
+ max: 99
29
+ tree:
30
+ children:
31
+ child:
32
+ pipeline:
33
+ - mock-observations
34
+ inputs:
@@ -2,12 +2,12 @@ name: mock-observation-demo
2
2
  description: a manifest demonstrating how to use the mock observations feature
3
3
  tags:
4
4
  initialize:
5
- outputs: ['yaml']
5
+ # outputs: ['yaml']
6
6
  plugins:
7
7
  mock-observations:
8
8
  kind: plugin
9
9
  method: MockObservations
10
- path: "@grnsft/if-plugins"
10
+ path: "builtin"
11
11
  global-config:
12
12
  timestamp-from: 2023-07-06T00:00
13
13
  timestamp-to: 2023-07-06T00:10
@@ -6,7 +6,7 @@ initialize:
6
6
  plugins:
7
7
  multiply:
8
8
  method: Multiply
9
- path: "@grnsft/if-plugins"
9
+ path: "builtin"
10
10
  global-config:
11
11
  input-parameters: ["cpu/energy", "network/energy"]
12
12
  output-parameter: "energy-product"
@@ -0,0 +1,32 @@
1
+ name: multiply
2
+ description: a manifest demonstrating how to use the multiply feature
3
+ tags:
4
+ initialize:
5
+ outputs: ['yaml']
6
+ plugins:
7
+ multiply:
8
+ method: Multiply
9
+ path: "builtin"
10
+ global-config:
11
+ input-parameters: ["cpu/energy", "network/energy"]
12
+ output-parameter: "energy-product"
13
+ tree:
14
+ children:
15
+ child:
16
+ pipeline:
17
+ - multiply
18
+ config:
19
+ sum:
20
+ inputs:
21
+ - timestamp: 2023-08-06T00:00
22
+ duration: 3600
23
+ cpu/energy: 0.001
24
+ network/energy: 0.002
25
+ - timestamp: 2023-08-06T10:00
26
+ duration: 3600
27
+ cpu/energy: 0.005
28
+ network/energy: -0.002
29
+ - timestamp: 2023-08-06T10:00
30
+ duration: 3600
31
+ cpu/energy: 0.005
32
+ network/energy: 0
@@ -2,11 +2,11 @@ name: multiply
2
2
  description: a manifest demonstrating how to use the multiply feature
3
3
  tags:
4
4
  initialize:
5
- outputs: ['yaml']
5
+ # outputs: ['yaml']
6
6
  plugins:
7
7
  multiply:
8
8
  method: Multiply
9
- path: "@grnsft/if-plugins"
9
+ path: builtin
10
10
  global-config:
11
11
  input-parameters: ["cpu/energy", "network/energy"]
12
12
  output-parameter: "energy-product"
@@ -16,7 +16,7 @@ tree:
16
16
  pipeline:
17
17
  - multiply
18
18
  config:
19
- sum:
19
+ sum:
20
20
  inputs:
21
21
  - timestamp: 2023-08-06T00:00
22
22
  duration: 3600
@@ -6,7 +6,7 @@ initialize:
6
6
  plugins:
7
7
  regex:
8
8
  method: Regex
9
- path: "@grnsft/if-plugins"
9
+ path: "builtin"
10
10
  global-config:
11
11
  parameter: physical-processor
12
12
  match: ^(.*),
@@ -0,0 +1,24 @@
1
+ name: regex
2
+ description: physical processor doesn't match the regex expression
3
+ tags:
4
+ initialize:
5
+ # outputs: ['yaml']
6
+ plugins:
7
+ regex:
8
+ method: Regex
9
+ path: "builtin"
10
+ global-config:
11
+ parameter: physical-processor
12
+ match: ^
13
+ output: cpu/name
14
+ tree:
15
+ children:
16
+ child:
17
+ pipeline:
18
+ - regex
19
+ config:
20
+ regex:
21
+ inputs:
22
+ - timestamp: 2023-08-06T00:00
23
+ duration: 3600
24
+ physical-processor: Intel® Xeon® Platinum 8272CL,Intel® Xeon® 8171M 2.1 GHz,Intel® Xeon® E5-2673 v4 2.3 GHz,Intel® Xeon® E5-2673 v3 2.4 GHz
@@ -2,11 +2,11 @@ name: regex
2
2
  description: successful path
3
3
  tags:
4
4
  initialize:
5
- outputs: ['yaml']
5
+ # outputs: ['yaml']
6
6
  plugins:
7
7
  regex:
8
8
  method: Regex
9
- path: "@grnsft/if-plugins"
9
+ path: "builtin"
10
10
  global-config:
11
11
  parameter: physical-processor
12
12
  match: ^(.*),
@@ -7,9 +7,9 @@ initialize:
7
7
  sci:
8
8
  kind: plugin
9
9
  method: Sci
10
- path: "@grnsft/if-plugins"
10
+ path: "builtin"
11
11
  # global-config:
12
- # functional-unit-time: 1 minute
12
+ # functional-unit: 1 minute
13
13
  tree:
14
14
  children:
15
15
  child:
@@ -17,7 +17,6 @@ tree:
17
17
  - sci
18
18
  config:
19
19
  sci:
20
- functional-unit-time: 1 sec
21
20
  functional-unit: 999 # factor to convert per time to per f.unit
22
21
  inputs:
23
22
  - timestamp: 2023-07-06T00:00
@@ -0,0 +1,27 @@
1
+ name: sci
2
+ description: missing input value (carbon-embodied)
3
+ tags:
4
+ initialize:
5
+ #outputs: ['yaml']
6
+ plugins:
7
+ sci:
8
+ kind: plugin
9
+ method: Sci
10
+ path: "builtin"
11
+ # global-config:
12
+ # functional-unit: requests
13
+ tree:
14
+ children:
15
+ child:
16
+ pipeline:
17
+ - sci
18
+ config:
19
+ sci:
20
+ functional-unit-time: 1 sec
21
+ functional-unit: requests # factor to convert per time to per f.unit
22
+ inputs:
23
+ - timestamp: 2023-07-06T00:00
24
+ duration: 3600
25
+ energy: 5
26
+ carbon-operational: 5
27
+ requests: 100
@@ -2,14 +2,14 @@ name: sci
2
2
  description: successful path
3
3
  tags:
4
4
  initialize:
5
- outputs: ['yaml']
5
+ # outputs: ['yaml']
6
6
  plugins:
7
7
  sci:
8
8
  kind: plugin
9
9
  method: Sci
10
- path: "@grnsft/if-plugins"
11
- # global-config:
12
- # functional-unit-time: 1 minute
10
+ path: "builtin"
11
+ global-config:
12
+ functional-unit: requests
13
13
  tree:
14
14
  children:
15
15
  child:
@@ -25,4 +25,5 @@ tree:
25
25
  energy: 5
26
26
  carbon-operational: 5
27
27
  carbon-embodied: 0.02
28
+ carbon: 5.02
28
29
  requests: 100
@@ -1,18 +1,17 @@
1
- name: sci-m
1
+ name: sci-embodied
2
2
  description: failure with `defaults.device/emissions-embodied` being string instead of number
3
3
  tags:
4
4
  initialize:
5
5
  outputs: ['yaml']
6
6
  plugins:
7
- "sci-m": # a model that calculates m from te, tir, el, rr and rtor
8
- method: SciM
9
- verbose: false
10
- path: "@grnsft/if-plugins"
7
+ "sci-embodied": # a model that calculates m from te, tir, el, rr and rtor
8
+ method: SciEmbodied
9
+ path: "builtin"
11
10
  tree:
12
11
  children:
13
12
  child:
14
13
  pipeline:
15
- - sci-m # duration & config -> embodied
14
+ - sci-embodied # duration & config -> embodied
16
15
  defaults:
17
16
  device/emissions-embodied: 'fail' # gCO2eq
18
17
  time-reserved: 3600 # 1hr in seconds
@@ -0,0 +1,23 @@
1
+ name: sci-embodied
2
+ description: missing device/expected-lifespan
3
+ tags:
4
+ initialize:
5
+ #outputs: ['yaml']
6
+ plugins:
7
+ "sci-embodied": # a model that calculates m from te, tir, el, rr and rtor
8
+ method: SciEmbodied
9
+ path: "builtin"
10
+ tree:
11
+ children:
12
+ child:
13
+ pipeline:
14
+ - sci-embodied # duration & config -> embodied
15
+ defaults:
16
+ device/emissions-embodied: 1533.120 # gCO2eq
17
+ time-reserved: 3600 # 1hr in seconds
18
+ #device/expected-lifespan: 94608000 # 3 years in seconds
19
+ resources-reserved: 1
20
+ resources-total: 8
21
+ inputs:
22
+ - timestamp: 2023-07-06T00:00
23
+ duration: 3600