@grnsft/if 0.3.2 → 0.3.3-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 (105) hide show
  1. package/.commitlintrc.js +3 -0
  2. package/.release-it.json +18 -0
  3. package/CONTRIBUTING.md +77 -4
  4. package/README.md +34 -26
  5. package/build/builtins/export-csv-raw.js +4 -4
  6. package/build/builtins/export-csv.js +5 -5
  7. package/build/builtins/export-log.js +26 -2
  8. package/build/builtins/export-yaml.js +3 -3
  9. package/build/config/config.d.ts +3 -3
  10. package/build/config/config.js +23 -27
  11. package/build/config/strings.d.ts +1 -0
  12. package/build/config/strings.js +8 -3
  13. package/build/index.js +23 -14
  14. package/build/lib/environment.d.ts +5 -0
  15. package/build/lib/environment.js +69 -0
  16. package/build/lib/exhaust.d.ts +2 -1
  17. package/build/lib/exhaust.js +11 -9
  18. package/build/lib/initialize.d.ts +2 -2
  19. package/build/lib/initialize.js +5 -5
  20. package/build/lib/load.d.ts +1 -29
  21. package/build/lib/load.js +2 -5
  22. package/build/types/environment.d.ts +18 -0
  23. package/build/types/environment.js +3 -0
  24. package/build/types/manifest.d.ts +1 -0
  25. package/build/types/manifest.js +1 -1
  26. package/build/types/process-args.d.ts +13 -1
  27. package/build/types/process-args.js +1 -1
  28. package/build/util/args.d.ts +3 -5
  29. package/build/util/args.js +14 -10
  30. package/build/util/errors.d.ts +1 -1
  31. package/build/util/errors.js +2 -3
  32. package/build/util/helpers.d.ts +6 -0
  33. package/build/util/helpers.js +9 -3
  34. package/build/util/os-checker.d.ts +7 -0
  35. package/build/util/os-checker.js +97 -0
  36. package/build/util/validations.d.ts +90 -4
  37. package/build/util/validations.js +14 -2
  38. package/github-processes.md +10 -0
  39. package/{examples/manifests/pipeline-demo-2.yml → manifests/bugs/aggregation-error-wrong-metric.yml} +8 -34
  40. package/manifests/bugs/azure-importer-ignoring-defaults.yml +61 -0
  41. package/manifests/bugs/azure-importer-incorrect-calculation.yml +56 -0
  42. package/manifests/bugs/initialize-error-no-config.yml +27 -0
  43. package/manifests/bugs/initialize-error-no-path.yml +28 -0
  44. package/manifests/bugs/initialize-error-no-plugins.yml +23 -0
  45. package/manifests/bugs/input-error-missing-duration.yml +21 -0
  46. package/manifests/bugs/pipeline-error-naming-mismatch.yml +28 -0
  47. package/manifests/bugs/pipeline-error-uninitialized-plugin.yml +29 -0
  48. package/{examples/manifests/boavizta-pipeline.yml → manifests/bugs/pipeline-ordering-error.yml} +7 -10
  49. package/{examples/manifests → manifests/examples}/basic.yml +3 -2
  50. package/{examples/manifests → manifests/examples}/generics.yml +2 -2
  51. package/{examples/manifests/asim-demo.yml → manifests/examples/mock-cpu-util-to-carbon.yml} +3 -7
  52. package/{examples/manifests → manifests/examples}/nesting.yml +3 -2
  53. package/{examples/manifests → manifests/examples}/pipeline-teads-sci.yml +1 -1
  54. package/{examples/manifests/pipeline-demo.yml → manifests/examples/pipeline-with-aggregate.yml} +2 -2
  55. package/{examples/manifests → manifests/examples}/pipeline-with-mocks.yml +3 -2
  56. package/manifests/features/aggregate-horizontal.yml +44 -0
  57. package/manifests/features/aggregate-vertical.yml +44 -0
  58. package/manifests/features/aggregate.yml +44 -0
  59. package/manifests/integrations/mock-obs-groupby.yml +39 -0
  60. package/manifests/integrations/mock-obs-time-sync.yml +65 -0
  61. package/manifests/plugins/cloud-metadata/failure-invalid-vendor.yaml +21 -0
  62. package/{examples/manifests/cloud-metadata.yml → manifests/plugins/cloud-metadata/success.yml} +2 -1
  63. package/manifests/plugins/coefficient/failure-invalid-config-input-param.yml +24 -0
  64. package/{examples/manifests/coefficient.yml → manifests/plugins/coefficient/success.yml} +2 -1
  65. package/manifests/plugins/divide/failure-invalid-config-denominator.yml +39 -0
  66. package/manifests/plugins/divide/success.yml +39 -0
  67. package/manifests/plugins/groupby/failure-invalid-config-group.yml +47 -0
  68. package/{examples/manifests/group-by.yml → manifests/plugins/groupby/success.yml} +3 -2
  69. package/manifests/plugins/mock-observations/failure-invalid-config-cpu-range.yml +34 -0
  70. package/{examples/manifests/mock-observation.yml → manifests/plugins/mock-observations/success.yml} +2 -1
  71. package/manifests/plugins/multiply/failure-input-parameter-is-missing.yml +24 -0
  72. package/{examples/manifests/multiply.yml → manifests/plugins/multiply/success.yml} +3 -2
  73. package/manifests/plugins/regex/failure-missing-input-param.yml +24 -0
  74. package/{examples/manifests/regex.yml → manifests/plugins/regex/success.yml} +3 -2
  75. package/manifests/plugins/sci/failure-invalid-config-value.yml +28 -0
  76. package/{examples/manifests/sci.yml → manifests/plugins/sci/success.yml} +3 -2
  77. package/manifests/plugins/sci-m/failure-invalid-default-emission-value.yml +24 -0
  78. package/{examples/manifests/sci-m.yml → manifests/plugins/sci-m/success.yml} +2 -1
  79. package/manifests/plugins/shell/failure-invalid-command.yml +21 -0
  80. package/{examples/manifests/shell.yml → manifests/plugins/shell/success.yml} +3 -2
  81. package/manifests/plugins/sum/failure-missing-input-param.yml +24 -0
  82. package/{examples/manifests/sum.yml → manifests/plugins/sum/success.yml} +3 -2
  83. package/manifests/plugins/tdp-finder/failure-missing-input-param.yml +18 -0
  84. package/{examples/manifests/tdp-finder.yml → manifests/plugins/tdp-finder/success.yml} +2 -1
  85. package/manifests/plugins/time-sync/failure-config-start-later-end.yml +34 -0
  86. package/{examples/manifests/time-sync.yml → manifests/plugins/time-sync/success.yml} +4 -2
  87. package/package.json +4 -2
  88. package/examples/manifests/azure-importer.yml +0 -24
  89. package/examples/manifests/basic-demo.yml +0 -70
  90. package/examples/manifests/boavizta-cloud.yml +0 -20
  91. package/examples/manifests/boavizta.yml +0 -26
  92. package/examples/manifests/ccf.yml +0 -20
  93. package/examples/manifests/cloud-metadata-teads.yml +0 -41
  94. package/examples/manifests/co2js.yml +0 -30
  95. package/examples/manifests/csv-export.yml +0 -34
  96. package/examples/manifests/e-mem.yml +0 -21
  97. package/examples/manifests/e-net.yml +0 -22
  98. package/examples/manifests/nesting-demo.yml +0 -89
  99. package/examples/manifests/pipeline-demo-1.yml +0 -85
  100. package/examples/manifests/pipeline-with-generics.yml +0 -152
  101. package/examples/manifests/sci-e.yml +0 -19
  102. package/examples/manifests/sci-o.yml +0 -26
  103. package/examples/manifests/teads-curve.yml +0 -20
  104. package/examples/manifests/watt-time.yml +0 -35
  105. /package/{examples/manifests/divide.yml → manifests/integrations/cloud-metadata-divide-boavizta.yml} +0 -0
@@ -0,0 +1,47 @@
1
+ name: groupby
2
+ description: failure when `config->group-by->group` is not an array
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: cloud/region
17
+ inputs:
18
+ - timestamp: 2023-07-06T00:00
19
+ duration: 300
20
+ cloud/instance-type: A1
21
+ cloud/region: uk-west
22
+ cpu/utilization: 99
23
+ - timestamp: 2023-07-06T05:00
24
+ duration: 300
25
+ cloud/instance-type: A1
26
+ cloud/region: uk-west
27
+ cpu/utilization: 23
28
+ - timestamp: 2023-07-06T10:00
29
+ duration: 300
30
+ cloud/instance-type: A1
31
+ cloud/region: uk-west
32
+ cpu/utilization: 12
33
+ - timestamp: 2023-07-06T00:00 # note this time restarts at the start timstamp
34
+ duration: 300
35
+ cloud/instance-type: B1
36
+ cloud/region: uk-west
37
+ cpu/utilization: 11
38
+ - timestamp: 2023-07-06T05:00
39
+ duration: 300
40
+ cloud/instance-type: B1
41
+ cloud/region: uk-west
42
+ cpu/utilization: 67
43
+ - timestamp: 2023-07-06T10:00
44
+ duration: 300
45
+ cloud/instance-type: B1
46
+ cloud/region: uk-west
47
+ cpu/utilization: 1
@@ -1,6 +1,7 @@
1
- name: groupby-demo
2
- description: demo pipeline
1
+ name: groupby
2
+ description: successful path
3
3
  initialize:
4
+ outputs: ['yaml']
4
5
  plugins:
5
6
  group-by:
6
7
  path: "builtin"
@@ -0,0 +1,34 @@
1
+ name: mock-observation-demo
2
+ description: failure with `global-config->generators->randint->cpu/utilization->min` is greater than `max`
3
+ tags:
4
+ initialize:
5
+ outputs: ['yaml']
6
+ plugins:
7
+ mock-observations:
8
+ kind: plugin
9
+ method: MockObservations
10
+ path: "@grnsft/if-plugins"
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: 99
25
+ max: 10
26
+ memory/utilization:
27
+ min: 1
28
+ max: 99
29
+ tree:
30
+ children:
31
+ child:
32
+ pipeline:
33
+ - mock-observations
34
+ inputs:
@@ -1,7 +1,8 @@
1
1
  name: mock-observation-demo
2
- description: example invoking mock-observation plugin
2
+ description: a manifest demonstrating how to use the mock observations feature
3
3
  tags:
4
4
  initialize:
5
+ outputs: ['yaml']
5
6
  plugins:
6
7
  mock-observations:
7
8
  kind: plugin
@@ -0,0 +1,24 @@
1
+ name: multiply
2
+ description: failure `inputs` is missing `cpu/energy` parameter
3
+ tags:
4
+ initialize:
5
+ outputs: ['yaml']
6
+ plugins:
7
+ multiply:
8
+ method: Multiply
9
+ path: "@grnsft/if-plugins"
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: 0.001
24
+ network/energy: 0.002
@@ -1,7 +1,8 @@
1
- name: multiply-demo
2
- description:
1
+ name: multiply
2
+ description: a manifest demonstrating how to use the multiply feature
3
3
  tags:
4
4
  initialize:
5
+ outputs: ['yaml']
5
6
  plugins:
6
7
  multiply:
7
8
  method: Multiply
@@ -0,0 +1,24 @@
1
+ name: regex
2
+ description: failure with missing `physical-processor` field from `inputs`
3
+ tags:
4
+ initialize:
5
+ outputs: ['yaml']
6
+ plugins:
7
+ regex:
8
+ method: Regex
9
+ path: "@grnsft/if-plugins"
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: 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
@@ -1,7 +1,8 @@
1
- name: regex-demo
2
- description:
1
+ name: regex
2
+ description: successful path
3
3
  tags:
4
4
  initialize:
5
+ outputs: ['yaml']
5
6
  plugins:
6
7
  regex:
7
8
  method: Regex
@@ -0,0 +1,28 @@
1
+ name: sci
2
+ description: failure with `config.sci.functional-unit` value being number
3
+ tags:
4
+ initialize:
5
+ outputs: ['yaml']
6
+ plugins:
7
+ sci:
8
+ kind: plugin
9
+ method: Sci
10
+ path: "@grnsft/if-plugins"
11
+ # global-config:
12
+ # functional-unit-time: 1 minute
13
+ tree:
14
+ children:
15
+ child:
16
+ pipeline:
17
+ - sci
18
+ config:
19
+ sci:
20
+ functional-unit-time: 1 sec
21
+ functional-unit: 999 # 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
+ carbon-embodied: 0.02
28
+ requests: 100
@@ -1,7 +1,8 @@
1
- name: sci-demo
2
- description: example invoking sci model
1
+ name: sci
2
+ description: successful path
3
3
  tags:
4
4
  initialize:
5
+ outputs: ['yaml']
5
6
  plugins:
6
7
  sci:
7
8
  kind: plugin
@@ -0,0 +1,24 @@
1
+ name: sci-m
2
+ description: failure with `defaults.device/emissions-embodied` being string instead of number
3
+ tags:
4
+ initialize:
5
+ outputs: ['yaml']
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"
11
+ tree:
12
+ children:
13
+ child:
14
+ pipeline:
15
+ - sci-m # duration & config -> embodied
16
+ defaults:
17
+ device/emissions-embodied: 'fail' # gCO2eq
18
+ time-reserved: 3600 # 1hr in seconds
19
+ device/expected-lifespan: 94608000 # 3 years in seconds
20
+ resources-reserved: 1
21
+ resources-total: 8
22
+ inputs:
23
+ - timestamp: 2023-07-06T00:00
24
+ duration: 3600
@@ -1,7 +1,8 @@
1
1
  name: sci-m
2
- description: simple demo invoking sci-m
2
+ description: successful path
3
3
  tags:
4
4
  initialize:
5
+ outputs: ['yaml']
5
6
  plugins:
6
7
  "sci-m": # a model that calculates m from te, tir, el, rr and rtor
7
8
  method: SciM
@@ -0,0 +1,21 @@
1
+ name: shell
2
+ description: falure with `global-config.command` being number instead od string
3
+ tags:
4
+ initialize:
5
+ outputs: ['yaml']
6
+ plugins:
7
+ shell:
8
+ method: Shell
9
+ path: "@grnsft/if-plugins"
10
+ global-config:
11
+ command: 1000
12
+ tree:
13
+ children:
14
+ child:
15
+ pipeline:
16
+ - shell
17
+ inputs:
18
+ - timestamp: "2023-11-02T10:35:31.820Z"
19
+ duration: 3600
20
+ cpu/energy: 0.002
21
+ memory/energy: 0.000005
@@ -1,7 +1,8 @@
1
- name: shell-demo
2
- description: example impl invoking shell model
1
+ name: shell
2
+ description: successful path
3
3
  tags:
4
4
  initialize:
5
+ outputs: ['yaml']
5
6
  plugins:
6
7
  shell:
7
8
  method: Shell
@@ -0,0 +1,24 @@
1
+ name: sum
2
+ description: failure with `inputs[0]` misses one of `global-config.input-parameters`
3
+ tags:
4
+ initialize:
5
+ outputs: ['yaml']
6
+ plugins:
7
+ sum:
8
+ method: Sum
9
+ path: "@grnsft/if-plugins"
10
+ global-config:
11
+ input-parameters: ["cpu/energy", "network/energy"]
12
+ output-parameter: "energy"
13
+ tree:
14
+ children:
15
+ child:
16
+ pipeline:
17
+ - sum
18
+ config:
19
+ sum:
20
+ inputs:
21
+ - timestamp: 2023-08-06T00:00
22
+ duration: 3600
23
+ cpu: 0.001
24
+ network/energy: 0.001
@@ -1,7 +1,8 @@
1
- name: sci-e-demo
2
- description:
1
+ name: sum
2
+ description: successful path
3
3
  tags:
4
4
  initialize:
5
+ outputs: ['yaml']
5
6
  plugins:
6
7
  sum:
7
8
  method: Sum
@@ -0,0 +1,18 @@
1
+ name: tdp-finder
2
+ description: failure with `inputs` missing `physical-processor` param
3
+ tags:
4
+ initialize:
5
+ outputs: ['yaml']
6
+ plugins:
7
+ tdp-finder: # a model that returns an embodied value given the sci embodied attribution equation.
8
+ method: TdpFinder
9
+ path: "@grnsft/if-plugins"
10
+ tree:
11
+ children:
12
+ child:
13
+ pipeline:
14
+ - tdp-finder
15
+ config:
16
+ inputs:
17
+ - timestamp: 2023-07-06T00:00
18
+ duration: 300
@@ -1,7 +1,8 @@
1
1
  name: tdp-finder
2
- description: demo
2
+ description: successful path
3
3
  tags:
4
4
  initialize:
5
+ outputs: ['yaml']
5
6
  plugins:
6
7
  tdp-finder: # a model that returns an embodied value given the sci embodied attribution equation.
7
8
  method: TdpFinder
@@ -0,0 +1,34 @@
1
+ name: time-sync
2
+ description: failure with `global-config.start-time` being later than `global-config.end-time`
3
+ tags:
4
+ initialize:
5
+ output:
6
+ - yaml
7
+ plugins:
8
+ 'time-sync':
9
+ method: TimeSync
10
+ path: "builtin"
11
+ global-config:
12
+ start-time: '2023-12-12T00:01:00.000Z'
13
+ end-time: '2023-12-12T00:00:00.000Z'
14
+ interval: 5
15
+ allow-padding: true
16
+ tree:
17
+ children:
18
+ child:
19
+ pipeline:
20
+ - time-sync
21
+ config:
22
+ inputs:
23
+ - timestamp: '2023-12-12T00:00:00.000Z'
24
+ duration: 1
25
+ energy-cpu: 0.001
26
+ - timestamp: '2023-12-12T00:00:01.000Z'
27
+ duration: 5
28
+ energy-cpu: 0.001
29
+ - timestamp: '2023-12-12T00:00:06.000Z'
30
+ duration: 7
31
+ energy-cpu: 0.001
32
+ - timestamp: '2023-12-12T00:00:13.000Z'
33
+ duration: 30
34
+ energy-cpu: 0.001
@@ -1,7 +1,9 @@
1
- name: time-sync-demo
2
- description:
1
+ name: time-sync
2
+ description: successful path
3
3
  tags:
4
4
  initialize:
5
+ output:
6
+ - yaml
5
7
  plugins:
6
8
  'time-sync':
7
9
  method: TimeSync
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.3-beta.0",
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
  },
@@ -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