@grnsft/if 0.5.0-beta.0 → 0.5.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 (163) hide show
  1. package/build/check.js +14 -4
  2. package/build/config/strings.d.ts +4 -0
  3. package/build/config/strings.js +7 -3
  4. package/build/util/debug-logger.js +8 -7
  5. package/build/util/helpers.d.ts +1 -1
  6. package/build/util/helpers.js +3 -2
  7. package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +27 -0
  8. package/manifests/{plugins → examples/builtins}/csv-lookup/region-metadata/failure-missing-column.yml +1 -2
  9. package/manifests/{plugins → examples/builtins}/csv-lookup/region-metadata/failure-missing-output.yml +1 -2
  10. package/manifests/{plugins → examples/builtins}/csv-lookup/region-metadata/success-renaming.yml +1 -2
  11. package/manifests/{plugins → examples/builtins}/csv-lookup/region-metadata/success.yml +1 -2
  12. package/manifests/{plugins → examples/builtins}/exponent/success.yml +1 -2
  13. package/manifests/{plugins → examples/builtins}/groupby/success.yml +1 -1
  14. package/manifests/{plugins → examples/builtins}/interpolation/success.yml +0 -1
  15. package/manifests/{plugins → examples/builtins}/subtract/success.yml +1 -2
  16. package/manifests/examples/{generics.yml → pipelines/generics.yml} +1 -0
  17. package/manifests/examples/{instance-metadata.yml → pipelines/instance-metadata.yml} +4 -4
  18. package/manifests/examples/{pipeline-with-aggregate.yml → pipelines/pipeline-with-aggregate.yml} +1 -1
  19. package/manifests/outputs/bugs/aggregation-error-wrong-metric.yaml +243 -0
  20. package/manifests/outputs/bugs/initialize-error-no-config.yaml +78 -0
  21. package/manifests/outputs/bugs/initialize-error-no-path.yaml +91 -0
  22. package/manifests/outputs/bugs/initialize-error-no-plugins.yaml +74 -0
  23. package/manifests/outputs/bugs/input-error-missing-duration.yaml +84 -0
  24. package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +81 -0
  25. package/manifests/outputs/bugs/pipeline-error-naming-mismatch.yaml +91 -0
  26. package/manifests/outputs/bugs/pipeline-error-uninitialized-plugin.yaml +92 -0
  27. package/manifests/outputs/bugs/pipeline-ordering-error.yaml +155 -0
  28. package/manifests/outputs/bugs/sci-embodied-missing-resources-total.yaml +73 -0
  29. package/manifests/outputs/divide.yaml +93 -0
  30. package/manifests/outputs/features/aggregate-failure-invalid-metrics.yaml +101 -0
  31. package/manifests/outputs/features/aggregate-failure-missing-metric-in-inputs.yaml +100 -0
  32. package/manifests/outputs/features/aggregate-horizontal.yaml +128 -0
  33. package/manifests/outputs/features/aggregate-vertical.yaml +151 -0
  34. package/manifests/outputs/features/aggregate.yaml +155 -0
  35. package/manifests/outputs/pipelines/cloud-metadata-divide.yaml +95 -0
  36. package/manifests/outputs/pipelines/mock-obs-group-by-cloud-meta.yaml +645 -0
  37. package/manifests/outputs/pipelines/mock-obs-groupby.yaml +178 -0
  38. package/manifests/outputs/pipelines/mock-obs-time-sync.yaml +350 -0
  39. package/manifests/outputs/plugins/coefficient/failure-invalid-config-input-param.yaml +73 -0
  40. package/manifests/outputs/plugins/coefficient/failure-output-param-is-null.yaml +73 -0
  41. package/manifests/outputs/plugins/coefficient/success.yaml +75 -0
  42. package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +27 -0
  43. package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml +77 -0
  44. package/manifests/outputs/plugins/csv-lookup/cloud-metadata/success.yaml +82 -0
  45. package/manifests/outputs/plugins/csv-lookup/region-metadata/failure-missing-column.yaml +76 -0
  46. package/manifests/outputs/plugins/csv-lookup/region-metadata/failure-missing-output.yaml +75 -0
  47. package/manifests/outputs/plugins/csv-lookup/region-metadata/success-renaming.yaml +80 -0
  48. package/manifests/outputs/plugins/csv-lookup/region-metadata/success.yaml +92 -0
  49. package/manifests/outputs/plugins/csv-lookup/tdp-finder/failure-missing-input-param.yaml +74 -0
  50. package/manifests/outputs/plugins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yaml +75 -0
  51. package/manifests/outputs/plugins/csv-lookup/tdp-finder/success.yaml +76 -0
  52. package/manifests/outputs/plugins/divide/failure-invalid-config-denominator.yaml +73 -0
  53. package/manifests/outputs/plugins/divide/failure-missing-numerator.yaml +77 -0
  54. package/manifests/outputs/plugins/divide/success-denominator-equal-zero.yaml +95 -0
  55. package/manifests/outputs/plugins/divide/success.yaml +95 -0
  56. package/manifests/outputs/plugins/exponent/success.yaml +77 -0
  57. package/manifests/outputs/plugins/groupby/failure-invalid-config-group.yaml +96 -0
  58. package/manifests/outputs/plugins/groupby/failure-missing-cloud-instance-type.yaml +95 -0
  59. package/manifests/outputs/plugins/groupby/success.yaml +101 -0
  60. package/manifests/outputs/plugins/interpolation/interpolation.yaml +83 -0
  61. package/manifests/outputs/plugins/interpolation/success.yaml +83 -0
  62. package/manifests/outputs/plugins/mock-observations/failure-invalid-config-cpu-range.yaml +86 -0
  63. package/manifests/outputs/plugins/mock-observations/failure-invalid-memory-utilization-range.yaml +84 -0
  64. package/manifests/outputs/plugins/mock-observations/failure-missing-timestamp-from-param.yaml +83 -0
  65. package/manifests/outputs/plugins/mock-observations/success.yaml +220 -0
  66. package/manifests/outputs/plugins/multiply/failure-input-parameter-is-missing.yaml +75 -0
  67. package/manifests/outputs/plugins/multiply/success-with-multiple-inputs.yaml +96 -0
  68. package/manifests/outputs/plugins/multiply/success.yaml +78 -0
  69. package/manifests/outputs/plugins/regex/failure-missing-input-param.yaml +75 -0
  70. package/manifests/outputs/plugins/regex/failure-not-matching-with-regex.yaml +76 -0
  71. package/manifests/outputs/plugins/regex/success.yaml +81 -0
  72. package/manifests/outputs/plugins/sci/failure-invalid-config-value.yaml +72 -0
  73. package/manifests/outputs/plugins/sci/failure-missing-input-param.yaml +72 -0
  74. package/manifests/outputs/plugins/sci/success.yml.yaml +80 -0
  75. package/manifests/outputs/plugins/sci-embodied/failure-invalid-default-emission-value.yaml +75 -0
  76. package/manifests/outputs/plugins/sci-embodied/failure-missing-expected-lifespan.yaml +71 -0
  77. package/manifests/outputs/plugins/sci-embodied/success.yaml +78 -0
  78. package/manifests/outputs/plugins/shell/failure-invalid-command.yaml +70 -0
  79. package/manifests/outputs/plugins/shell/success.yaml +68 -0
  80. package/manifests/outputs/plugins/subtract/success.yaml +78 -0
  81. package/manifests/outputs/plugins/sum/failure-missing-input-param.yaml +75 -0
  82. package/manifests/outputs/plugins/sum/failure-missing-output-param.yaml +78 -0
  83. package/manifests/outputs/plugins/sum/success.yaml +78 -0
  84. package/manifests/outputs/plugins/time-sync/failure-config-start-later-end.yaml +82 -0
  85. package/manifests/outputs/plugins/time-sync/failure-missing-global-config.yaml +78 -0
  86. package/manifests/outputs/plugins/time-sync/success.yaml +119 -0
  87. package/package.json +1 -1
  88. package/manifests/bugs/aggregation-error-wrong-metric.yml +0 -178
  89. package/manifests/bugs/azure-importer-ignoring-defaults.yml +0 -64
  90. package/manifests/bugs/azure-importer-incorrect-calculation.yml +0 -59
  91. package/manifests/bugs/initialize-error-no-config.yml +0 -26
  92. package/manifests/bugs/initialize-error-no-path.yml +0 -32
  93. package/manifests/bugs/initialize-error-no-plugins.yml +0 -23
  94. package/manifests/bugs/input-error-missing-duration.yml +0 -25
  95. package/manifests/bugs/mock-observations-failure-duration-is-zero.yml +0 -34
  96. package/manifests/bugs/pipeline-error-naming-mismatch.yml +0 -32
  97. package/manifests/bugs/pipeline-error-uninitialized-plugin.yml +0 -33
  98. package/manifests/bugs/pipeline-ordering-error.yml +0 -91
  99. package/manifests/bugs/sci-embodied-missing-resources-total.yml +0 -23
  100. package/manifests/examples/copy.yaml +0 -20
  101. package/manifests/examples/mock-cpu-util-to-carbon.yml +0 -76
  102. package/manifests/examples/region-metadata.yml +0 -26
  103. package/manifests/examples/tdp-finder.yml +0 -23
  104. package/manifests/features/aggregate-failure-invalid-metrics.yml +0 -49
  105. package/manifests/features/aggregate-failure-missing-metric-in-inputs.yml +0 -49
  106. package/manifests/features/aggregate-horizontal.yml +0 -50
  107. package/manifests/features/aggregate-vertical.yml +0 -50
  108. package/manifests/features/aggregate.yml +0 -50
  109. package/manifests/integrations/cloud-metadata-divide.yml +0 -37
  110. package/manifests/integrations/instance-metadata/failure-invalid-instance-type.yaml +0 -33
  111. package/manifests/integrations/instance-metadata/failure-invalid-provider.yaml +0 -33
  112. package/manifests/integrations/instance-metadata/failure-missing-queried-input.yml +0 -33
  113. package/manifests/integrations/instance-metadata/success.yml +0 -33
  114. package/manifests/integrations/mock-obs-group-by-cloud-meta.yml +0 -57
  115. package/manifests/integrations/mock-obs-groupby.yml +0 -39
  116. package/manifests/integrations/mock-obs-time-sync.yml +0 -110
  117. /package/manifests/{plugins → examples/builtins}/coefficient/failure-invalid-config-input-param.yml +0 -0
  118. /package/manifests/{plugins → examples/builtins}/coefficient/failure-output-param-is-null.yaml +0 -0
  119. /package/manifests/{plugins → examples/builtins}/coefficient/success.yml +0 -0
  120. /package/manifests/{plugins → examples/builtins}/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +0 -0
  121. /package/manifests/{plugins → examples/builtins}/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml +0 -0
  122. /package/manifests/{plugins → examples/builtins}/csv-lookup/cloud-metadata/success.yml +0 -0
  123. /package/manifests/{plugins → examples/builtins}/csv-lookup/tdp-finder/failure-missing-input-param.yml +0 -0
  124. /package/manifests/{plugins → examples/builtins}/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yml +0 -0
  125. /package/manifests/{plugins → examples/builtins}/csv-lookup/tdp-finder/success.yml +0 -0
  126. /package/manifests/{plugins → examples/builtins}/divide/failure-denominator-equal-zero.yml +0 -0
  127. /package/manifests/{plugins → examples/builtins}/divide/failure-invalid-config-denominator.yml +0 -0
  128. /package/manifests/{plugins → examples/builtins}/divide/failure-missing-numerator.yml +0 -0
  129. /package/manifests/{plugins → examples/builtins}/divide/success.yml +0 -0
  130. /package/manifests/{plugins → examples/builtins}/groupby/failure-invalid-config-group.yml +0 -0
  131. /package/manifests/{plugins → examples/builtins}/groupby/failure-missing-cloud-instance-type.yml +0 -0
  132. /package/manifests/{plugins → examples/builtins}/interpolation/interpolation.yml +0 -0
  133. /package/manifests/{plugins → examples/builtins}/mock-observations/failure-invalid-config-cpu-range.yml +0 -0
  134. /package/manifests/{plugins → examples/builtins}/mock-observations/failure-invalid-memory-utilization-range.yml +0 -0
  135. /package/manifests/{plugins → examples/builtins}/mock-observations/failure-missing-timestamp-from-param.yml +0 -0
  136. /package/manifests/{plugins → examples/builtins}/mock-observations/success.yml +0 -0
  137. /package/manifests/{plugins → examples/builtins}/multiply/failure-input-parameter-is-missing.yml +0 -0
  138. /package/manifests/{plugins → examples/builtins}/multiply/success-with-multiple-inputs.yml +0 -0
  139. /package/manifests/{plugins → examples/builtins}/multiply/success.yml +0 -0
  140. /package/manifests/{plugins → examples/builtins}/regex/failure-missing-input-param.yml +0 -0
  141. /package/manifests/{plugins → examples/builtins}/regex/failure-not-matching-with-regex.yml +0 -0
  142. /package/manifests/{plugins → examples/builtins}/regex/success.yml +0 -0
  143. /package/manifests/{plugins → examples/builtins}/sci/failure-invalid-config-value.yml +0 -0
  144. /package/manifests/{plugins → examples/builtins}/sci/failure-missing-input-param.yml +0 -0
  145. /package/manifests/{plugins → examples/builtins}/sci/success.yml +0 -0
  146. /package/manifests/{plugins → examples/builtins}/sci-embodied/failure-invalid-default-emission-value.yml +0 -0
  147. /package/manifests/{plugins → examples/builtins}/sci-embodied/failure-missing-expected-lifespan.yml +0 -0
  148. /package/manifests/{plugins → examples/builtins}/sci-embodied/success.yml +0 -0
  149. /package/manifests/{plugins → examples/builtins}/shell/failure-invalid-command.yml +0 -0
  150. /package/manifests/{plugins → examples/builtins}/shell/success.yml +0 -0
  151. /package/manifests/{plugins → examples/builtins}/sum/failure-missing-input-param.yml +0 -0
  152. /package/manifests/{plugins → examples/builtins}/sum/failure-missing-output-param.yml +0 -0
  153. /package/manifests/{plugins → examples/builtins}/sum/success.yml +0 -0
  154. /package/manifests/{plugins → examples/builtins}/time-sync/failure-config-start-later-end.yml +0 -0
  155. /package/manifests/{plugins → examples/builtins}/time-sync/failure-missing-global-config.yml +0 -0
  156. /package/manifests/{plugins → examples/builtins}/time-sync/success.yml +0 -0
  157. /package/manifests/examples/{nesting.yml → pipelines/nesting.yml} +0 -0
  158. /package/manifests/examples/{pipeline-teads-sci.yml → pipelines/pipeline-teads-sci.yml} +0 -0
  159. /package/manifests/examples/{pipeline-with-mocks.yml → pipelines/pipeline-with-mocks.yml} +0 -0
  160. /package/manifests/examples/{sci.yml → pipelines/sci.yml} +0 -0
  161. /package/manifests/examples/{teads-curve.yml → pipelines/teads-curve.yml} +0 -0
  162. /package/manifests/examples/{zeros.yaml → pipelines/zeros.yml} +0 -0
  163. /package/manifests/{plugins → outputs/plugins}/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +0 -0
@@ -1,64 +0,0 @@
1
- name: pipeline-demo
2
- description: https://github.com/Green-Software-Foundation/if-unofficial-plugins/issues/81
3
- tags:
4
- # aggregation:
5
- # metrics:
6
- # - "carbon"
7
- # - "energy"
8
- #type: "both"
9
- initialize:
10
- outputs:
11
- - yaml
12
- # - csv
13
- plugins:
14
- "azure-importer":
15
- method: AzureImporter
16
- path: "@grnsft/if-unofficial-plugins"
17
- "try-defaults-1":
18
- path: "builtin"
19
- method: Coefficient
20
- global-config:
21
- input-parameter: grid/carbon-intensity
22
- coefficient: 0.1
23
- output-parameter: grid/carbon-intensity
24
- "try-defaults-2":
25
- path: "builtin"
26
- method: Coefficient
27
- global-config:
28
- input-parameter: network/energy
29
- coefficient: 1000
30
- output-parameter: network/energy
31
- "operational-carbon":
32
- method: Multiply
33
- path: builtin
34
- global-config:
35
- input-parameters: ["energy", "grid/carbon-intensity"]
36
- output-parameter: "carbon-operational"
37
- "group-by":
38
- path: "builtin"
39
- method: GroupBy
40
- tree:
41
- children:
42
- web-front: # name this according to the sub-system, e.g. portal, APIs/backend, DB
43
- pipeline:
44
- - azure-importer
45
- #- try-defaults-1
46
- #- try-defaults-2
47
- - sci-o
48
- config:
49
- group-by:
50
- group:
51
- - instance-type
52
- azure-importer:
53
- azure-observation-window: 60 min
54
- azure-observation-aggregation: "average"
55
- azure-subscription-id: 30b6e171-af2c-4fe6-b00d-d4c70f6291fe
56
- azure-resource-group: gcf-app_group
57
- azure-vm-name: gcf-app
58
- defaults:
59
- grid/carbon-intensity: 800 # adjust for SG grid
60
- network/energy: 0.001 # review for naming accuracy
61
- inputs:
62
- - timestamp: "2024-04-04T08:00:00.001Z"
63
- duration: 3600
64
- energy: 100
@@ -1,59 +0,0 @@
1
- name: pipeline-demo
2
- description: https://github.com/Green-Software-Foundation/if-unofficial-plugins/issues/81
3
- tags: null
4
- initialize:
5
- plugins:
6
- azure-importer:
7
- path: '@grnsft/if-unofficial-plugins'
8
- method: AzureImporter
9
- try-defaults-1:
10
- path: 'builtin'
11
- method: Coefficient
12
- global-config:
13
- input-parameter: grid/carbon-intensity
14
- coefficient: 0.1
15
- output-parameter: grid/carbon-intensity
16
- try-defaults-2:
17
- path: 'builtin'
18
- method: Coefficient
19
- global-config:
20
- input-parameter: network/energy
21
- coefficient: 1000
22
- output-parameter: network/energy
23
- "operational-carbon":
24
- method: Multiply
25
- path: builtin
26
- global-config:
27
- input-parameters: ["energy", "grid/carbon-intensity"]
28
- output-parameter: "carbon-operational"
29
- group-by:
30
- path: builtin
31
- method: GroupBy
32
- outputs:
33
- - yaml
34
- if-version: v0.3.2
35
- tree:
36
- children:
37
- web-front:
38
- pipeline:
39
- - azure-importer
40
- - try-defaults-1
41
- - try-defaults-2
42
- config:
43
- group-by:
44
- group:
45
- - instance-type
46
- azure-importer:
47
- azure-observation-window: 60 min
48
- azure-observation-aggregation: average
49
- azure-subscription-id: 30b6e171-af2c-4fe6-b00d-d4c70f6291fe
50
- azure-resource-group: gcf-app_group
51
- azure-vm-name: gcf-app
52
- defaults:
53
- grid/carbon-intensity: 800
54
- network/energy: 0.001
55
- inputs:
56
- - timestamp: '2024-04-04T08:00:00.001Z'
57
- duration: 3600
58
- energy: 100
59
-
@@ -1,26 +0,0 @@
1
- name: initialize-error-no-config
2
- description: a negative test case that fails due to plugin initialization missing some required config
3
- tags:
4
- initialize:
5
- plugins:
6
- "interpolate":
7
- method: Interpolation
8
- path: 'builtin'
9
- global-config:
10
- tree:
11
- children:
12
- child-0:
13
- defaults:
14
- cpu/thermal-design-power: 100
15
- pipeline:
16
- - interpolate
17
- inputs:
18
- - timestamp: 2023-07-06T00:00
19
- duration: 1
20
- cpu/utilization: 20
21
- - timestamp: 2023-07-06T00:01
22
- duration: 1
23
- cpu/utilization: 80
24
- - timestamp: 2023-07-06T00:02
25
- duration: 1
26
- cpu/utilization: 20
@@ -1,32 +0,0 @@
1
- name: initialize-error-no-path
2
- description: a negative test case that fails because the path is mising in a plugin initialization
3
- tags:
4
- initialize:
5
- plugins:
6
- "interpolate":
7
- method: Interpolation
8
- path:
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: 'cpu-factor'
15
- # outputs: ['yaml']
16
- tree:
17
- children:
18
- child-0:
19
- defaults:
20
- cpu/thermal-design-power: 100
21
- pipeline:
22
- - interpolate
23
- inputs:
24
- - timestamp: 2023-07-06T00:00
25
- duration: 1
26
- cpu/utilization: 20
27
- - timestamp: 2023-07-06T00:01
28
- duration: 1
29
- cpu/utilization: 80
30
- - timestamp: 2023-07-06T00:02
31
- duration: 1
32
- cpu/utilization: 20
@@ -1,23 +0,0 @@
1
- name: initialize-error-no-path
2
- description: a negative test case that fails becuase no plugins are included in the initialize block
3
- tags:
4
- initialize:
5
- plugins:
6
- outputs: ['yaml']
7
- tree:
8
- children:
9
- child-0:
10
- defaults:
11
- cpu/thermal-design-power: 100
12
- pipeline:
13
- - teads-curve
14
- inputs:
15
- - timestamp: 2023-07-06T00:00
16
- duration: 1
17
- cpu/utilization: 20
18
- - timestamp: 2023-07-06T00:01
19
- duration: 1
20
- cpu/utilization: 80
21
- - timestamp: 2023-07-06T00:02
22
- duration: 1
23
- cpu/utilization: 20
@@ -1,25 +0,0 @@
1
- name: input-error-missing-duration
2
- description: a negative test case that fails due to the required `duration` field being omitted from input data
3
- tags:
4
- initialize:
5
- plugins:
6
- "interpolate":
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: 'cpu-factor'
15
- # outputs: ['yaml']
16
- tree:
17
- children:
18
- child-0:
19
- defaults:
20
- cpu/thermal-design-power: 100
21
- pipeline:
22
- - interpolate
23
- inputs:
24
- - timestamp: 2023-07-06T00:00
25
- cpu/utilization: 20
@@ -1,34 +0,0 @@
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: 0
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:
@@ -1,32 +0,0 @@
1
- name: pipeline-error-naming-mismatch
2
- description: a negative test case that fails due to the plugin name in the pipeline not matching the name given in initialize
3
- tags:
4
- initialize:
5
- plugins:
6
- "interpolate":
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: 'cpu-factor'
15
- outputs: ['yaml']
16
- tree:
17
- children:
18
- child-0:
19
- defaults:
20
- cpu/thermal-design-power: 100
21
- pipeline:
22
- - wrong-name
23
- inputs:
24
- - timestamp: 2023-07-06T00:00
25
- duration: 1
26
- cpu/utilization: 20
27
- - timestamp: 2023-07-06T00:01
28
- duration: 1
29
- cpu/utilization: 80
30
- - timestamp: 2023-07-06T00:02
31
- duration: 1
32
- cpu/utilization: 20
@@ -1,33 +0,0 @@
1
- name: pipeline-uninitialized-plugin-error
2
- description: a negative test case that fails due to an uninitialized plugin being invoked in a pipeline
3
- tags:
4
- initialize:
5
- # outputs: ['yaml']
6
- plugins:
7
- "interpolate":
8
- method: Interpolation
9
- path: builtin
10
- global-config:
11
- method: linear
12
- x: [0, 10, 50, 100]
13
- y: [0.12, 0.32, 0.75, 1.02]
14
- input-parameter: 'cpu/utilization'
15
- output-parameter: 'cpu-factor'
16
- tree:
17
- children:
18
- child-0:
19
- defaults:
20
- cpu/thermal-design-power: 100
21
- pipeline:
22
- - interpolate
23
- - multiply
24
- inputs:
25
- - timestamp: 2023-07-06T00:00
26
- duration: 1
27
- cpu/utilization: 20
28
- - timestamp: 2023-07-06T00:01
29
- duration: 1
30
- cpu/utilization: 80
31
- - timestamp: 2023-07-06T00:02
32
- duration: 1
33
- cpu/utilization: 20
@@ -1,91 +0,0 @@
1
- name: pipeline-ordering-error
2
- description: a negative test case that fails because sci-o is invoked too early in the pipeline (before its inputs are generated)
3
- tags:
4
- initialize:
5
- plugins:
6
- "interpolate":
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: 'cpu-factor'
15
- "cpu-factor-to-wattage":
16
- method: Multiply
17
- path: builtin
18
- global-config:
19
- input-parameters: ["cpu-factor", "cpu/thermal-design-power"]
20
- output-parameter: "cpu-wattage"
21
- "wattage-times-duration":
22
- method: Multiply
23
- path: builtin
24
- global-config:
25
- input-parameters: ["cpu-wattage", "duration"]
26
- output-parameter: "cpu-wattage-times-duration"
27
- "wattage-to-energy-kwh":
28
- method: Divide
29
- path: "builtin"
30
- global-config:
31
- numerator: cpu-wattage-times-duration
32
- denominator: 3600000
33
- output: cpu-energy-raw
34
- "calculate-vcpu-ratio":
35
- method: Divide
36
- path: "builtin"
37
- global-config:
38
- numerator: vcpus-total
39
- denominator: vcpus-allocated
40
- output: vcpu-ratio
41
- "correct-cpu-energy-for-vcpu-ratio":
42
- method: Divide
43
- path: "builtin"
44
- global-config:
45
- numerator: cpu-energy-raw
46
- denominator: vcpu-ratio
47
- output: cpu-energy-kwh
48
- tree:
49
- children:
50
- child-1:
51
- pipeline:
52
- - interpolate
53
- - correct-cpu-energy-for-vcpu-ratio
54
- - calculate-vcpu-ratio
55
- - cpu-factor-to-wattage
56
- - wattage-times-duration
57
- - wattage-to-energy-kwh
58
- config:
59
- defaults:
60
- cpu/thermal-design-power: 100
61
- grid/carbon-intensity: 800
62
- device/emissions-embodied: 1533.120 # gCO2eq
63
- time-reserved: 3600 # 1hr in seconds
64
- device/expected-lifespan: 94608000 # 3 years in seconds
65
- vcpus-allocated: 1
66
- vcpus-total: 8
67
- inputs:
68
- - timestamp: "2023-12-12T00:00:00.000Z"
69
- cloud/instance-type: A1
70
- cloud/region: uk-west
71
- duration: 1
72
- cpu/utilization: 50
73
- network/energy: 0.000001
74
- - timestamp: "2023-12-12T00:00:01.000Z"
75
- duration: 5
76
- cpu/utilization: 20
77
- cloud/instance-type: A1
78
- cloud/region: uk-west
79
- network/energy: 0.000001
80
- - timestamp: "2023-12-12T00:00:06.000Z"
81
- duration: 7
82
- cpu/utilization: 15
83
- cloud/instance-type: A1
84
- cloud/region: uk-west
85
- network/energy: 0.000001
86
- - timestamp: "2023-12-12T00:00:13.000Z"
87
- duration: 30
88
- cloud/instance-type: A1
89
- cloud/region: uk-west
90
- cpu/utilization: 15
91
- network/energy: 0.000001
@@ -1,23 +0,0 @@
1
- name: sci-embodied
2
- description: receiving incorrect error message when running sci-embodied without `resources-total` issue #716
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
@@ -1,20 +0,0 @@
1
- name: copy-param
2
- description:
3
- tags:
4
- initialize:
5
- plugins:
6
- copy-param:
7
- path: builtin
8
- method: Copy
9
- global-config:
10
- keep-existing: true
11
- from: original
12
- to: copy
13
- tree:
14
- children:
15
- child-1:
16
- pipeline:
17
- - copy-param
18
- inputs:
19
- - timestamp: "2023-12-12T00:00:00.000Z"
20
- original: 'hello'
@@ -1,76 +0,0 @@
1
- name: mock-cpu-util-to-carbon
2
- description: a complete pipeline that starts with mocked CPU utilization data and outputs operational carbon in gCO2eq
3
- initialize:
4
- #outputs: ['yaml']
5
- plugins:
6
- group-by:
7
- path: 'builtin'
8
- method: GroupBy
9
- operational-carbon:
10
- path: 'builtin'
11
- method: Multiply
12
- global-config:
13
- input-parameters: ['cpu/energy', 'grid/carbon-intensity']
14
- output-parameter: 'carbon'
15
- watttime:
16
- path: '@grnsft/if-unofficial-plugins'
17
- method: WattTimeGridEmissions
18
- teads-curve:
19
- path: '@grnsft/if-unofficial-plugins'
20
- method: TeadsCurve
21
- global-config:
22
- interpolation: spline
23
- cloud-metadata:
24
- path: builtin
25
- method: CSVLookup
26
- global-config:
27
- filepath: >-
28
- https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-azure-instances.csv
29
- query:
30
- instance-class: cloud/instance-type
31
- output: ['cpu-cores-utilized', 'vcpus-allocated']
32
- mock-observations:
33
- path: 'builtin'
34
- method: MockObservations
35
- global-config:
36
- timestamp-from: '2024-03-05T00:00:00.000Z'
37
- timestamp-to: '2024-03-05T00:01:00.000Z'
38
- duration: 10
39
- components:
40
- - name: server-1
41
- cloud/instance-type: Standard_E64_v3
42
- cloud/region: westus3
43
- - name: server-2
44
- cloud/instance-type: Standard_E64_v3
45
- cloud/region: westus3
46
- generators:
47
- common:
48
- cloud/vendor: azure
49
- randint:
50
- cpu/utilization:
51
- min: 1
52
- max: 99
53
- 'time-sync':
54
- method: TimeSync
55
- path: "builtin"
56
- global-config:
57
- start-time: '2024-03-05T00:00:00.000Z'
58
- end-time: '2024-03-05T00:01:00.000Z'
59
- interval: 5
60
- allow-padding: true
61
- tree:
62
- pipeline:
63
- - mock-observations
64
- - group-by
65
- - time-sync
66
- - cloud-metadata
67
- - watttime
68
- - teads-curve
69
- - operational-carbon
70
- defaults:
71
- config:
72
- group-by:
73
- group:
74
- - cloud/region
75
- - name
76
- inputs: null
@@ -1,26 +0,0 @@
1
- name: csv-demo
2
- description:
3
- tags:
4
- initialize:
5
- plugins:
6
- cloud-region-metadata:
7
- method: CSVLookup
8
- path: "builtin"
9
- global-config:
10
- filepath: https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/region-metadata.csv
11
- query:
12
- cloud-provider: cloud-provider
13
- cloud-region: cloud-region
14
- output: "*"
15
- tree:
16
- children:
17
- child:
18
- pipeline:
19
- - cloud-region-metadata
20
- inputs:
21
- - timestamp: 2023-08-06T00:00
22
- duration: 3600
23
- cpu/energy: 0.001
24
- instance-id: AMD A10-9700
25
- cloud-provider: "Google Cloud"
26
- cloud-region: "asia-east1"
@@ -1,23 +0,0 @@
1
- name: csv-demo
2
- description:
3
- tags:
4
- initialize:
5
- plugins:
6
- tdp-finder:
7
- method: CSVLookup
8
- path: "builtin"
9
- global-config:
10
- filepath: https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/tdp-data-1.csv
11
- query:
12
- name: instance-id
13
- output: "tdp"
14
- tree:
15
- children:
16
- child:
17
- pipeline:
18
- - tdp-finder
19
- inputs:
20
- - timestamp: 2023-08-06T00:00
21
- duration: 3600
22
- cpu/energy: 0.001
23
- instance-id: "AMD A10-9700"
@@ -1,49 +0,0 @@
1
- name: Aggregation
2
- description: Fails with invalid metric.
3
- aggregation:
4
- metrics:
5
- - 'test'
6
- type: 'both'
7
- initialize:
8
- plugins:
9
- cloud-metadata:
10
- path: builtin
11
- method: CSVLookup
12
- global-config:
13
- filepath: >-
14
- https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-aws-instances.csv
15
- query:
16
- instance-class: cloud/instance-type
17
- output: ['cpu-cores-utilized', 'vcpus-allocated']
18
- tree:
19
- children:
20
- application:
21
- pipeline:
22
- - cloud-metadata
23
- children:
24
- uk-west:
25
- children:
26
- server-1:
27
- inputs:
28
- - timestamp: '2024-02-26 00:00:00'
29
- duration: 300
30
- cloud/instance-type: m5n.large
31
- cloud/vendor: aws
32
- cpu/utilization: 89
33
- - timestamp: '2024-02-26 00:05:00'
34
- duration: 300
35
- cloud/instance-type: m5n.large
36
- cloud/vendor: aws
37
- cpu/utilization: 59
38
- server-2:
39
- inputs:
40
- - timestamp: '2024-02-26 00:00:00'
41
- duration: 300
42
- cloud/instance-type: m5n.large
43
- cloud/vendor: aws
44
- cpu/utilization: 24
45
- - timestamp: '2024-02-26 00:05:00'
46
- duration: 300
47
- cloud/instance-type: m5n.large
48
- cloud/vendor: aws
49
- cpu/utilization: 27