@grnsft/if 0.1.8 → 0.2.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.
- package/.commitlintrc.js +45 -0
- package/.husky/commit-msg +4 -0
- package/.husky/pre-commit +6 -0
- package/CONTRIBUTING.md +81 -98
- package/README.md +16 -12
- package/build/config/config.d.ts +4 -5
- package/build/config/config.js +16 -12
- package/build/config/index.d.ts +1 -0
- package/build/config/index.js +4 -2
- package/build/config/params.d.ts +2 -0
- package/build/config/params.js +146 -0
- package/build/config/strings.d.ts +14 -8
- package/build/config/strings.js +18 -12
- package/build/index.js +18 -38
- package/build/lib/aggregate.d.ts +6 -0
- package/build/lib/aggregate.js +72 -0
- package/build/lib/compute.d.ts +5 -0
- package/build/lib/compute.js +84 -0
- package/build/lib/exhaust.d.ts +6 -0
- package/build/lib/exhaust.js +47 -0
- package/build/lib/initialize.d.ts +6 -0
- package/build/lib/initialize.js +98 -0
- package/build/lib/load.d.ts +6 -0
- package/build/lib/load.js +24 -0
- package/build/lib/parameterize.d.ts +5 -0
- package/build/lib/parameterize.js +49 -0
- package/build/models/export-csv.d.ts +2 -0
- package/build/models/export-csv.js +129 -0
- package/build/models/export-log.d.ts +4 -0
- package/build/models/export-log.js +18 -0
- package/build/models/export-yaml.d.ts +4 -0
- package/build/models/export-yaml.js +24 -0
- package/build/models/group-by.d.ts +11 -0
- package/build/models/group-by.js +56 -0
- package/build/models/index.d.ts +2 -1
- package/build/models/index.js +5 -3
- package/build/models/time-sync.d.ts +2 -54
- package/build/models/time-sync.js +216 -147
- package/build/types/aggregation.d.ts +3 -0
- package/build/types/aggregation.js +5 -0
- package/build/types/compute.d.ts +25 -0
- package/build/types/compute.js +3 -0
- package/build/types/exhaust-plugin-interface.d.ts +7 -0
- package/build/types/exhaust-plugin-interface.js +3 -0
- package/build/types/group-by.d.ts +3 -0
- package/build/types/group-by.js +3 -0
- package/build/types/initialize.d.ts +4 -0
- package/build/types/initialize.js +3 -0
- package/build/types/interface.d.ts +8 -0
- package/build/types/interface.js +3 -0
- package/build/types/load.d.ts +7 -0
- package/build/types/load.js +3 -0
- package/build/types/manifest.d.ts +40 -0
- package/build/types/manifest.js +3 -0
- package/build/types/parameters.d.ts +15 -0
- package/build/types/parameters.js +5 -0
- package/build/types/process-args.d.ts +4 -5
- package/build/types/process-args.js +1 -1
- package/build/types/time-sync.d.ts +10 -2
- package/build/types/time-sync.js +1 -1
- package/build/util/aggregation-helper.d.ts +6 -0
- package/build/util/aggregation-helper.js +56 -0
- package/build/util/args.d.ts +7 -3
- package/build/util/args.js +46 -18
- package/build/util/errors.d.ts +1 -1
- package/build/util/errors.js +8 -4
- package/build/util/helpers.d.ts +4 -0
- package/build/util/helpers.js +23 -4
- package/build/util/json.d.ts +4 -0
- package/build/util/json.js +16 -0
- package/build/util/logger.d.ts +5 -0
- package/build/util/logger.js +40 -0
- package/build/util/validations.d.ts +30 -21
- package/build/util/validations.js +54 -55
- package/build/util/yaml.js +27 -4
- package/examples/manifests/azure-importer.yml +24 -0
- package/examples/manifests/basic-demo.yml +75 -0
- package/examples/manifests/basic.yml +27 -0
- package/examples/manifests/boavizta-pipeline.yml +85 -0
- package/examples/{impls/case-studies → manifests}/boavizta.yml +14 -14
- package/examples/{impls/test → manifests}/ccf.yml +9 -10
- package/examples/manifests/cim.yml +20 -0
- package/examples/manifests/cloud-metadata.yml +41 -0
- package/examples/manifests/co2js.yml +30 -0
- package/examples/manifests/coefficient.yml +23 -0
- package/examples/manifests/csv-export.yml +34 -0
- package/examples/manifests/e-mem.yml +21 -0
- package/examples/{impls/test → manifests}/e-net.yml +9 -8
- package/examples/manifests/generics.yml +71 -0
- package/examples/manifests/group-by.yml +48 -0
- package/examples/manifests/mock-observation.yml +33 -0
- package/examples/manifests/multiply.yml +23 -0
- package/examples/manifests/nesting-demo.yml +89 -0
- package/examples/manifests/nesting.yml +215 -0
- package/examples/manifests/pipeline-demo-1.yml +85 -0
- package/examples/manifests/pipeline-demo-2.yml +149 -0
- package/examples/manifests/pipeline-demo.yml +128 -0
- package/examples/manifests/pipeline-teads-sci.yml +82 -0
- package/examples/manifests/pipeline-with-generics.yml +147 -0
- package/examples/manifests/pipeline-with-mocks.yml +146 -0
- package/examples/{impls/test → manifests}/sci-e.yml +6 -8
- package/examples/manifests/sci-m.yml +23 -0
- package/examples/{impls/test → manifests}/sci-o.yml +10 -10
- package/examples/{impls/test → manifests}/sci.yml +10 -9
- package/examples/manifests/shell.yml +20 -0
- package/examples/manifests/sum.yml +23 -0
- package/examples/{impls/test → manifests}/tdp-finder.yml +6 -7
- package/examples/manifests/teads-aws.yml +22 -0
- package/examples/manifests/teads-curve.yml +20 -0
- package/examples/manifests/time-sync.yml +32 -0
- package/examples/manifests/watt-time.yml +42 -0
- package/jest.config.js +6 -1
- package/package.json +13 -8
- package/src/__tests__/integration/templates/integration.yaml +16 -0
- package/src/models/README.md +9 -7
- package/tsconfig.test.json +1 -1
- package/Makefile +0 -16
- package/build/config/units.yaml +0 -112
- package/build/lib/models-universe.d.ts +0 -36
- package/build/lib/models-universe.js +0 -113
- package/build/lib/observatory.d.ts +0 -20
- package/build/lib/observatory.js +0 -31
- package/build/lib/planet-aggregator.d.ts +0 -6
- package/build/lib/planet-aggregator.js +0 -35
- package/build/lib/supercomputer.d.ts +0 -37
- package/build/lib/supercomputer.js +0 -148
- package/build/types/helpers.d.ts +0 -1
- package/build/types/helpers.js +0 -3
- package/build/types/impl.d.ts +0 -45
- package/build/types/impl.js +0 -5
- package/build/types/model-interface.d.ts +0 -14
- package/build/types/model-interface.js +0 -3
- package/build/types/models-universe.d.ts +0 -23
- package/build/types/models-universe.js +0 -3
- package/build/types/planet-aggregator.d.ts +0 -6
- package/build/types/planet-aggregator.js +0 -3
- package/build/types/supercomputer.d.ts +0 -4
- package/build/types/supercomputer.js +0 -3
- package/build/types/units-dealer.d.ts +0 -3
- package/build/types/units-dealer.js +0 -3
- package/build/types/units.d.ts +0 -11
- package/build/types/units.js +0 -37
- package/build/util/units-dealer.d.ts +0 -10
- package/build/util/units-dealer.js +0 -32
- package/coverage/clover.xml +0 -379
- package/coverage/coverage-final.json +0 -14
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/config/config.ts.html +0 -250
- package/coverage/lcov-report/config/index.html +0 -146
- package/coverage/lcov-report/config/index.ts.html +0 -91
- package/coverage/lcov-report/config/strings.ts.html +0 -208
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -161
- package/coverage/lcov-report/lib/index.html +0 -161
- package/coverage/lcov-report/lib/models-universe.ts.html +0 -517
- package/coverage/lcov-report/lib/observatory.ts.html +0 -187
- package/coverage/lcov-report/lib/planet-aggregator.ts.html +0 -274
- package/coverage/lcov-report/lib/supercomputer.ts.html +0 -472
- package/coverage/lcov-report/models/index.html +0 -131
- package/coverage/lcov-report/models/index.ts.html +0 -88
- package/coverage/lcov-report/models/planet-aggregator.ts.html +0 -271
- package/coverage/lcov-report/models/time-sync.ts.html +0 -1165
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov-report/util/args.ts.html +0 -289
- package/coverage/lcov-report/util/errors.ts.html +0 -166
- package/coverage/lcov-report/util/index.html +0 -161
- package/coverage/lcov-report/util/units-dealer.ts.html +0 -199
- package/coverage/lcov-report/util/yaml.ts.html +0 -193
- package/coverage/lcov.info +0 -637
- package/examples/impls/case-studies/accenture.yml +0 -155
- package/examples/impls/case-studies/aggregation.yml +0 -97
- package/examples/impls/case-studies/aveva.yaml +0 -48
- package/examples/impls/case-studies/azure-yassine.yaml +0 -67
- package/examples/impls/case-studies/dow_msft.yml +0 -173
- package/examples/impls/case-studies/farm-insights.yaml +0 -35
- package/examples/impls/case-studies/gsf-website.yaml +0 -93
- package/examples/impls/case-studies/msft-eshoppen.yaml +0 -162
- package/examples/impls/case-studies/msft-green-ai.yaml +0 -58
- package/examples/impls/case-studies/ntt-data-on-premise.yaml +0 -201
- package/examples/impls/test/aggregation-test.yml +0 -109
- package/examples/impls/test/azure.yml +0 -26
- package/examples/impls/test/if-demo.yml +0 -61
- package/examples/impls/test/large-impl.yml +0 -257303
- package/examples/impls/test/metadata.yml +0 -21
- package/examples/impls/test/nesting.yml +0 -113
- package/examples/impls/test/sci-m.yml +0 -24
- package/examples/impls/test/shell.yml +0 -19
- package/examples/impls/test/time-sync.yml +0 -75
- package/examples/ompls/aggregation-test.yml +0 -340
- package/examples/ompls/azure.yml +0 -145
- package/examples/ompls/ccf.yml +0 -29
- package/examples/ompls/complex-pipeline.yml +0 -105
- package/examples/ompls/full-sci.yml +0 -64
- package/examples/ompls/if-demo.yml +0 -517
- package/examples/ompls/metadata.yml +0 -29
- package/examples/ompls/nesting.yml +0 -113
- package/examples/ompls/sci-e.yml +0 -23
- package/examples/ompls/sci-m.yml +0 -33
- package/examples/ompls/sci-o.yml +0 -29
- package/examples/ompls/sci.yml +0 -37
- package/examples/ompls/shell.yml +0 -23
- package/examples/ompls/time-sync.yml +0 -212
- package/src/config/units.yaml +0 -112
- package/tsconfig.build.tsbuildinfo +0 -1
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
name: accenture
|
|
2
|
-
description: https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/nttdatta-On-Premise-Web-system.md
|
|
3
|
-
tags:
|
|
4
|
-
kind: web
|
|
5
|
-
complexity: moderate
|
|
6
|
-
category: on-premise
|
|
7
|
-
initialize:
|
|
8
|
-
models:
|
|
9
|
-
- name: sci-e # a model that sums e components
|
|
10
|
-
kind: builtin
|
|
11
|
-
verbose: false
|
|
12
|
-
path: ''
|
|
13
|
-
- name: sci-o # a model that given e, i and m calculates a carbon value (e * i) + m
|
|
14
|
-
kind: builtin
|
|
15
|
-
verbose: false
|
|
16
|
-
path: ''
|
|
17
|
-
- name: sci # a model that sums sci-o + sci-m
|
|
18
|
-
kind: builtin
|
|
19
|
-
verbose: false
|
|
20
|
-
path: ''
|
|
21
|
-
- name: sci-accenture # a model that sums sci-o + sci-m
|
|
22
|
-
kind: builtin
|
|
23
|
-
verbose: false
|
|
24
|
-
path: ''
|
|
25
|
-
graph:
|
|
26
|
-
children:
|
|
27
|
-
vms:
|
|
28
|
-
pipeline:
|
|
29
|
-
- sci-e
|
|
30
|
-
- sci-o
|
|
31
|
-
- sci
|
|
32
|
-
- sci-accenture
|
|
33
|
-
config:
|
|
34
|
-
sci-o:
|
|
35
|
-
grid-carbon-intensity: 350.861
|
|
36
|
-
sci:
|
|
37
|
-
functional-unit-duration: 1
|
|
38
|
-
functional-duration-time: ''
|
|
39
|
-
functional-unit: requests # factor to convert per time to per f.unit
|
|
40
|
-
children:
|
|
41
|
-
vm1:
|
|
42
|
-
inputs:
|
|
43
|
-
- timestamp: 2023-07-06T00:00
|
|
44
|
-
grid-carbon-intensity: 350.861
|
|
45
|
-
duration: 2419200 # seconds in a month (7 days * 4 weeks)
|
|
46
|
-
cpu-util: 15
|
|
47
|
-
ram-util: 75
|
|
48
|
-
energy-cpu: 4.26 #kwh/month
|
|
49
|
-
embodied-carbon: 763.33 #gCO2e
|
|
50
|
-
requests: 89000
|
|
51
|
-
vm2:
|
|
52
|
-
inputs:
|
|
53
|
-
- timestamp: 2023-07-06T00:00
|
|
54
|
-
duration: 2419200 # seconds in a month (7 days * 4 weeks)
|
|
55
|
-
cpu-util: 12
|
|
56
|
-
ram-util: 72
|
|
57
|
-
energy-cpu: 4.26 # kwh/month
|
|
58
|
-
embodied-carbon: 763.33 #gCO2e
|
|
59
|
-
requests: 89000
|
|
60
|
-
vm3:
|
|
61
|
-
inputs:
|
|
62
|
-
- timestamp: 2023-07-06T00:00
|
|
63
|
-
duration: 2419200 # seconds in a month (7 days * 4 weeks)
|
|
64
|
-
cpu-util: 10
|
|
65
|
-
ram-util: 65
|
|
66
|
-
energy-cpu: 4.21 # kwh/month
|
|
67
|
-
embodied-carbon: 763.33 #gCO2e
|
|
68
|
-
requests: 89000
|
|
69
|
-
vm4:
|
|
70
|
-
inputs:
|
|
71
|
-
- timestamp: 2023-07-06T00:00
|
|
72
|
-
duration: 2419200 # seconds in a month (7 days * 4 weeks)
|
|
73
|
-
cpu-util: 9
|
|
74
|
-
ram-util: 70
|
|
75
|
-
energy-cpu: 4.21 # kwh/month
|
|
76
|
-
embodied-carbon: 763.33 #gCO2e
|
|
77
|
-
requests: 89000
|
|
78
|
-
vm5:
|
|
79
|
-
inputs:
|
|
80
|
-
- timestamp: 2023-07-06T00:00
|
|
81
|
-
duration: 2419200 # seconds in a month (7 days * 4 weeks)
|
|
82
|
-
cpu-util: 9
|
|
83
|
-
ram-util: 70
|
|
84
|
-
energy-cpu: 4.21 # kwh/month
|
|
85
|
-
embodied-carbon: 763.33 #gCO2e
|
|
86
|
-
requests: 89000
|
|
87
|
-
vm6:
|
|
88
|
-
inputs:
|
|
89
|
-
- timestamp: 2023-07-06T00:00
|
|
90
|
-
duration: 2419200 # seconds in a month (7 days * 4 weeks)
|
|
91
|
-
cpu-util: 8
|
|
92
|
-
ram-util: 65
|
|
93
|
-
energy-cpu: 3.29 # kwh/month
|
|
94
|
-
embodied-carbon: 763.33 #gCO2e
|
|
95
|
-
requests: 89000
|
|
96
|
-
vm7:
|
|
97
|
-
inputs:
|
|
98
|
-
- timestamp: 2023-07-06T00:00
|
|
99
|
-
duration: 2419200 # seconds in a month (7 days * 4 weeks)
|
|
100
|
-
cpu-util: 7
|
|
101
|
-
ram-util: 72
|
|
102
|
-
energy-cpu: 3.29 # kwh/month
|
|
103
|
-
embodied-carbon: 763.33 #gCO2e
|
|
104
|
-
requests: 89000
|
|
105
|
-
vm8:
|
|
106
|
-
inputs:
|
|
107
|
-
- timestamp: 2023-07-06T00:00
|
|
108
|
-
duration: 2419200 # seconds in a month (7 days * 4 weeks)
|
|
109
|
-
cpu-util: 6
|
|
110
|
-
ram-util: 70
|
|
111
|
-
energy-cpu: 3.29 # kwh/month
|
|
112
|
-
embodied-carbon: 763.33 #gCO2e
|
|
113
|
-
requests: 89000
|
|
114
|
-
db:
|
|
115
|
-
pipeline:
|
|
116
|
-
- sci-e # sums e components
|
|
117
|
-
- sci-o # calculates carbon for this obervation (energy * grid-carbon-intensity) + embodied.
|
|
118
|
-
- sci # calculates sci by dividing carbon by `r`
|
|
119
|
-
- sci-accenture # multiplies sci value by 1.05 to account for the "app-gateway"
|
|
120
|
-
config:
|
|
121
|
-
sci-o:
|
|
122
|
-
grid-carbon-intensity: 350.861
|
|
123
|
-
sci:
|
|
124
|
-
functional-unit-duration: 1
|
|
125
|
-
functional-duration-time: ''
|
|
126
|
-
functional-unit: requests # factor to convert per time to per f.unit
|
|
127
|
-
inputs:
|
|
128
|
-
- timestamp: 2023-07-06T00:00
|
|
129
|
-
duration: 2419200 # seconds in a month (7 days * 4 weeks)
|
|
130
|
-
cpu-util: 4
|
|
131
|
-
ram-util: 40
|
|
132
|
-
energy-cpu: 2.68 # kwh/month
|
|
133
|
-
embodied-carbon: 763.33 #gCO2e
|
|
134
|
-
requests: 89000
|
|
135
|
-
monitoring:
|
|
136
|
-
pipeline:
|
|
137
|
-
- sci-e # sums e components
|
|
138
|
-
- sci-o # calculates carbon for this obervation (energy * grid-carbon-intensity) + embodied.
|
|
139
|
-
- sci # calculates sci by dividing carbon by `r`
|
|
140
|
-
- sci-accenture # multiplies sci value by 1.05 to account for the "app-gateway"
|
|
141
|
-
config:
|
|
142
|
-
sci-o:
|
|
143
|
-
grid-carbon-intensity: 350.861
|
|
144
|
-
sci:
|
|
145
|
-
functional-unit-duration: 1
|
|
146
|
-
functional-duration-time: ''
|
|
147
|
-
functional-unit: requests # factor to convert per time to per f.unit
|
|
148
|
-
inputs:
|
|
149
|
-
- timestamp: 2023-07-06T00:00
|
|
150
|
-
duration: 2419200 # seconds in a month (7 days * 4 weeks)
|
|
151
|
-
cpu-util: 4
|
|
152
|
-
ram-util: 40
|
|
153
|
-
energy-cpu: 4.62 # kwh/month
|
|
154
|
-
embodied-carbon: 763.33 #gCO2e
|
|
155
|
-
requests: 89000
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
name: nesting-demo
|
|
2
|
-
description:
|
|
3
|
-
aggregation:
|
|
4
|
-
aggregation-metrics: ['carbon', 'energy']
|
|
5
|
-
aggregation-method: 'sum' # should default to sum if no value given
|
|
6
|
-
tags:
|
|
7
|
-
kind: web
|
|
8
|
-
complexity: moderate
|
|
9
|
-
category: on-premise
|
|
10
|
-
initialize:
|
|
11
|
-
models:
|
|
12
|
-
- name: teads-curve
|
|
13
|
-
model: TeadsCurveModel
|
|
14
|
-
path: "@grnsft/if-unofficial-models"
|
|
15
|
-
- name: sci-e
|
|
16
|
-
model: SciEModel
|
|
17
|
-
path: "@grnsft/if-models"
|
|
18
|
-
- name: sci-m
|
|
19
|
-
path: "@grnsft/if-models"
|
|
20
|
-
model: SciMModel
|
|
21
|
-
- name: sci-o
|
|
22
|
-
model: SciOModel
|
|
23
|
-
path: "@grnsft/if-models"
|
|
24
|
-
- name: sci
|
|
25
|
-
model: SciModel
|
|
26
|
-
path: "@grnsft/if-models"
|
|
27
|
-
graph:
|
|
28
|
-
children:
|
|
29
|
-
child: # an advanced grouping node
|
|
30
|
-
pipeline:
|
|
31
|
-
- teads-curve
|
|
32
|
-
- sci-e
|
|
33
|
-
- sci-m
|
|
34
|
-
- sci-o
|
|
35
|
-
- sci
|
|
36
|
-
config:
|
|
37
|
-
teads-curve:
|
|
38
|
-
thermal-design-power: 65
|
|
39
|
-
sci-m:
|
|
40
|
-
total-embodied-emissions: 251000 # gCO2eq
|
|
41
|
-
time-reserved: 3600 # 1 hour in s
|
|
42
|
-
expected-lifespan: 126144000 # 4 years in seconds
|
|
43
|
-
resources-reserved: 1
|
|
44
|
-
total-resources: 1
|
|
45
|
-
sci-o:
|
|
46
|
-
grid-carbon-intensity: 457 # gCO2/kwh
|
|
47
|
-
sci:
|
|
48
|
-
functional-unit-duration: 1
|
|
49
|
-
functional-duration-time: ''
|
|
50
|
-
functional-unit: requests # factor to convert per time to per f.unit
|
|
51
|
-
children:
|
|
52
|
-
child-1:
|
|
53
|
-
inputs:
|
|
54
|
-
- timestamp: 2023-07-06T00:00
|
|
55
|
-
duration: 10
|
|
56
|
-
cpu-util: 50
|
|
57
|
-
e-net: 0.000811 #kwh
|
|
58
|
-
requests: 380
|
|
59
|
-
carbon: 10
|
|
60
|
-
energy: 20
|
|
61
|
-
- timestamp: 2023-07-06T00:00
|
|
62
|
-
duration: 10
|
|
63
|
-
cpu-util: 50
|
|
64
|
-
e-net: 0.000811 #kwh
|
|
65
|
-
requests: 380
|
|
66
|
-
carbon: 10
|
|
67
|
-
energy: 20
|
|
68
|
-
- timestamp: 2023-07-06T00:00
|
|
69
|
-
duration: 10
|
|
70
|
-
cpu-util: 50
|
|
71
|
-
e-net: 0.000811 #kwh
|
|
72
|
-
requests: 380
|
|
73
|
-
carbon: 10
|
|
74
|
-
energy: 20
|
|
75
|
-
child-2:
|
|
76
|
-
inputs:
|
|
77
|
-
- timestamp: 2023-07-06T00:00
|
|
78
|
-
duration: 10
|
|
79
|
-
cpu-util: 50
|
|
80
|
-
e-net: 0.000811 #kwh
|
|
81
|
-
requests: 380
|
|
82
|
-
carbon: 10
|
|
83
|
-
energy: 20
|
|
84
|
-
- timestamp: 2023-07-06T00:00
|
|
85
|
-
duration: 10
|
|
86
|
-
cpu-util: 50
|
|
87
|
-
e-net: 0.000811 #kwh
|
|
88
|
-
requests: 380
|
|
89
|
-
carbon: 10
|
|
90
|
-
energy: 20
|
|
91
|
-
- timestamp: 2023-07-06T00:00
|
|
92
|
-
duration: 10
|
|
93
|
-
cpu-util: 50
|
|
94
|
-
e-net: 0.000811 #kwh
|
|
95
|
-
requests: 380
|
|
96
|
-
carbon: 10
|
|
97
|
-
energy: 20
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
name: aveva
|
|
2
|
-
description: https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/AVEVA_case_study.md
|
|
3
|
-
tags:
|
|
4
|
-
kind: web
|
|
5
|
-
complexity: moderate
|
|
6
|
-
category: on-premise
|
|
7
|
-
initialize:
|
|
8
|
-
models:
|
|
9
|
-
- name: aveva # a model that takes in power inputs and returns e.
|
|
10
|
-
kind: builtin
|
|
11
|
-
- name: sci-o # a model that given e, i and m calculates a carbon value (e * i) + m
|
|
12
|
-
kind: builtin
|
|
13
|
-
- name: sci-e # a model that given e, i and m calculates a carbon value (e * i) + m
|
|
14
|
-
kind: builtin
|
|
15
|
-
- name: sci-m # a model that calculates m from te, tir, el, rr and rtor.
|
|
16
|
-
kind: builtin
|
|
17
|
-
- name: sci # sums SCI components and converts to f.unit
|
|
18
|
-
kind: builtin
|
|
19
|
-
graph:
|
|
20
|
-
children:
|
|
21
|
-
pc:
|
|
22
|
-
pipeline:
|
|
23
|
-
- aveva
|
|
24
|
-
- sci-e
|
|
25
|
-
- sci-m
|
|
26
|
-
- sci-o
|
|
27
|
-
config:
|
|
28
|
-
aveva:
|
|
29
|
-
sci-e:
|
|
30
|
-
sci-m:
|
|
31
|
-
total-embodied-emissions: 350000 # kgCO2eq
|
|
32
|
-
time-reserved: 1 # 1 year in seconds
|
|
33
|
-
expected-lifespan: 5 # 5 years in seconds
|
|
34
|
-
resources-reserved: 1
|
|
35
|
-
total-resources: 1
|
|
36
|
-
sci-o:
|
|
37
|
-
grid-carbon-intensity: 474.8 #gCo2/kWh
|
|
38
|
-
sci:
|
|
39
|
-
functional-unit-duration: 1
|
|
40
|
-
functional-duration-time: ''
|
|
41
|
-
functional-unit: requests # factor to convert per time to per f.unit
|
|
42
|
-
inputs:
|
|
43
|
-
- timestamp: 2023-07-06T00:00
|
|
44
|
-
pl: 16.009 # average over timespan
|
|
45
|
-
pb: 11.335 # average over timespan
|
|
46
|
-
time: 8322 # (hours in year * average uptime e.g. 95%)
|
|
47
|
-
|
|
48
|
-
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
name: azure-metrics
|
|
2
|
-
description: "https://github.com/yelghali/imapct-engine-framework/blob/main/src/lib/components/azure-vm.py"
|
|
3
|
-
tags:
|
|
4
|
-
initialize:
|
|
5
|
-
models:
|
|
6
|
-
- name: metrics-exporter # model that grabs Azure metrics and uses them to enrich confg and obs in impl
|
|
7
|
-
kind: plugin
|
|
8
|
-
verbose: false
|
|
9
|
-
path: /usr/local/bin
|
|
10
|
-
- name: teads-curve # a model that returns an embodied value given the sci embodied attribution equation.
|
|
11
|
-
kind: builtin
|
|
12
|
-
verbose: false
|
|
13
|
-
path: ''
|
|
14
|
-
- name: energy-memory # a model that calculates e for memory utilization (0.38 * mem-util)
|
|
15
|
-
kind: builtin
|
|
16
|
-
path: ''
|
|
17
|
-
- name: sci-e # sums e components (can be e-cpu, e-gpu, e-mem, e-network) - in this case energy-memory and e-cpu from teads
|
|
18
|
-
kind: builtin
|
|
19
|
-
path: ''
|
|
20
|
-
- name: sci-m # a model that calculates m from te, tir, el, rr and rtor
|
|
21
|
-
kind: builtin
|
|
22
|
-
verbose: false
|
|
23
|
-
path: ''
|
|
24
|
-
- name: sci-o # takes in total e and outputs operational emissions
|
|
25
|
-
kind: builtin
|
|
26
|
-
verbose: false
|
|
27
|
-
path: ''
|
|
28
|
-
- name: sci # a model that sums sci-o + sci-m and applies functional unit
|
|
29
|
-
kind: builtin
|
|
30
|
-
verbose: false
|
|
31
|
-
path: ''
|
|
32
|
-
# Single input
|
|
33
|
-
graph:
|
|
34
|
-
backend: # an advanced grouping node
|
|
35
|
-
pipeline:
|
|
36
|
-
- metrics-exporter - # grabs obs from azure-sdk and enriches impl
|
|
37
|
-
- teads-cpu # tdp & cpu -> energy
|
|
38
|
-
- energy-memory # calculates energy used by memory as component of sci-m
|
|
39
|
-
- sci-m # duration & config -> embodied
|
|
40
|
-
- sci-e # sums e components (can be e-cpu, e-gpu, e-mem, e-network) - in this case energy-memory and e-cpu from teads
|
|
41
|
-
- sci-o # takes in total e and outputs operational emissions
|
|
42
|
-
- sci # sum sci-m and sci-o and apply functional unit
|
|
43
|
-
config:
|
|
44
|
-
vendor: azure
|
|
45
|
-
region: east-us # lookup carbon intensity from region
|
|
46
|
-
energy-memory:
|
|
47
|
-
mem-allocation: 32 # GB
|
|
48
|
-
mem-energy: 0.38 # kwh/GB
|
|
49
|
-
sci-m:
|
|
50
|
-
total-embodied-emissions: 1200 # kgCO2eq
|
|
51
|
-
tr: 3600 # 1hr in s
|
|
52
|
-
expected-lifespan: 126144000 # 4 years in seconds
|
|
53
|
-
resources-reserved: 2
|
|
54
|
-
total-resources: 16
|
|
55
|
-
sci-e:
|
|
56
|
-
i: 100 # gCO2e/kWh
|
|
57
|
-
sci:
|
|
58
|
-
time: hour # signal to convert /s -> /hr
|
|
59
|
-
factotal-resources: 32000
|
|
60
|
-
inputs:
|
|
61
|
-
- timestamp: 2023-07-06T00:00
|
|
62
|
-
duration: 86400 # 1 day
|
|
63
|
-
subscription-id: c60d99da-0c45-4dfa-bc21-87e3c4cb4716
|
|
64
|
-
resource-group: my-application
|
|
65
|
-
name: batch-servers
|
|
66
|
-
input-window: 3600 # 1 min buckets
|
|
67
|
-
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
name: dow-msft
|
|
2
|
-
description: "https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/dow-msft-Graph-DB.md"
|
|
3
|
-
tags:
|
|
4
|
-
kind: db-api
|
|
5
|
-
complexity: simple
|
|
6
|
-
category: cloud
|
|
7
|
-
initialize:
|
|
8
|
-
models:
|
|
9
|
-
- name: teads-curve # a model that returns an embodied value given the sci embodied attribution equation.
|
|
10
|
-
kind: builtin
|
|
11
|
-
verbose: false
|
|
12
|
-
path: ''
|
|
13
|
-
- name: emem # a model that calculates e for memory utilization (0.38 * mem-util = e-mem in kwH)
|
|
14
|
-
kind: builtin
|
|
15
|
-
path: ''
|
|
16
|
-
- name: sci-e # sums e components (can be e-cpu, e-gpu, e-mem, e-network) - in this case emem and e-cpu from teads
|
|
17
|
-
kind: builtin
|
|
18
|
-
path: ''
|
|
19
|
-
- name: sci-m # a model that calculates m from te, tir, el, rr and rtor
|
|
20
|
-
kind: builtin
|
|
21
|
-
verbose: false
|
|
22
|
-
path: ''
|
|
23
|
-
- name: sci-o # takes in total e and outputs operational emissions
|
|
24
|
-
kind: builtin
|
|
25
|
-
verbose: false
|
|
26
|
-
path: ''
|
|
27
|
-
- name: sci # a model that sums sci-o + sci-m and applies functional unit
|
|
28
|
-
kind: builtin
|
|
29
|
-
verbose: false
|
|
30
|
-
path: ''
|
|
31
|
-
# Single input
|
|
32
|
-
graph:
|
|
33
|
-
children:
|
|
34
|
-
backend:
|
|
35
|
-
pipeline:
|
|
36
|
-
- teads-curve # tdp & cpu -> energy
|
|
37
|
-
- emem # calculates energy used by memory as component of sci-m
|
|
38
|
-
- sci-m # duration & config -> embodied
|
|
39
|
-
- sci-e # energy & grid-carbon-intensity & embodied -> carbon
|
|
40
|
-
- sci-o # takes in total e and outputs operational emissions
|
|
41
|
-
- sci # add cpu and memory components and convert to f.unit
|
|
42
|
-
config:
|
|
43
|
-
teads-curve: # use thermal-design-power to derive energy-cpu (kwh)
|
|
44
|
-
physical-processor: Intel-xeon-platinum-8380
|
|
45
|
-
thermal-design-power: 270
|
|
46
|
-
emem: # mem-util * mem-alloc * mem-energy = emem (kwh)
|
|
47
|
-
mem-alloc: 32 # GB
|
|
48
|
-
mem-energy: 0.38 # wh/GB
|
|
49
|
-
sci-m:
|
|
50
|
-
total-embodied-emissions: 1533.120 # gCO2eq
|
|
51
|
-
time-reserved: 1 # s per hour
|
|
52
|
-
expected-lifespan: 3 # 3 years in seconds
|
|
53
|
-
resources-reserved: 1
|
|
54
|
-
total-resources: 8
|
|
55
|
-
sci-o:
|
|
56
|
-
grid-carbon-intensity: 554 # gCO2e/kWh
|
|
57
|
-
sci:
|
|
58
|
-
functional-unit-duration: 1
|
|
59
|
-
functional-duration-time: ''
|
|
60
|
-
functional-unit: requests # factor to convert per time to per f.unit
|
|
61
|
-
children:
|
|
62
|
-
tiger-databasenergy-cpu:
|
|
63
|
-
config:
|
|
64
|
-
sci-m:
|
|
65
|
-
total-embodied-emissions: 1533.120 # gCO2eq
|
|
66
|
-
time-reserved: 1 # s per hour
|
|
67
|
-
expected-lifespan: 35040 # 3 years in seconds
|
|
68
|
-
resources-reserved: 2
|
|
69
|
-
total-resources: 64
|
|
70
|
-
inputs:
|
|
71
|
-
- timestamp: 2023-07-06T00:00
|
|
72
|
-
duration: 3600
|
|
73
|
-
cpu-util: 17
|
|
74
|
-
mem-util: 19 # % of available
|
|
75
|
-
requests: 32000
|
|
76
|
-
tiger-databasenergy-memory:
|
|
77
|
-
config:
|
|
78
|
-
sci-m:
|
|
79
|
-
total-embodied-emissions: 1216.620 # gCO2eq
|
|
80
|
-
time-reserved: 1 # s per hour
|
|
81
|
-
expected-lifespan: 35040 # 3 years in seconds
|
|
82
|
-
resources-reserved: 1
|
|
83
|
-
total-resources: 8
|
|
84
|
-
inputs:
|
|
85
|
-
- timestamp: 2023-07-06T00:00
|
|
86
|
-
duration: 1
|
|
87
|
-
cpu-util: 0
|
|
88
|
-
mem-util: 0 # % of available
|
|
89
|
-
requests: 32000
|
|
90
|
-
tiger-api-cpu: # a leaf component
|
|
91
|
-
config:
|
|
92
|
-
teads-curve:
|
|
93
|
-
physical-processor: Intel-xeon-platinum-8270
|
|
94
|
-
thermal-design-power: 205
|
|
95
|
-
emem:
|
|
96
|
-
mem-alloc: 1.75
|
|
97
|
-
sci-m:
|
|
98
|
-
total-embodied-emissions: 1216.620
|
|
99
|
-
inputs:
|
|
100
|
-
- timestamp: 2023-08-06T00:00
|
|
101
|
-
duration: 3600
|
|
102
|
-
cpu-util: 25
|
|
103
|
-
mem-util: 70 # % of total
|
|
104
|
-
requests: 32000
|
|
105
|
-
tiger-api-mem:
|
|
106
|
-
config:
|
|
107
|
-
sci-m:
|
|
108
|
-
total-embodied-emissions: 1216.620
|
|
109
|
-
inputs:
|
|
110
|
-
- timestamp: 2023-08-06T00:00
|
|
111
|
-
duration: 3600
|
|
112
|
-
cpu-util: 0
|
|
113
|
-
mem-util: 0 # % of total
|
|
114
|
-
requests: 32000
|
|
115
|
-
neo4j-databasenergy-cpu: # a leaf component
|
|
116
|
-
config:
|
|
117
|
-
sci-m:
|
|
118
|
-
total-embodied-emissions: 1216.620 # gCO2eq
|
|
119
|
-
time-reserved: 1 # s per hour
|
|
120
|
-
expected-lifespan: 35040 # 3 years in seconds
|
|
121
|
-
resources-reserved: 1
|
|
122
|
-
total-resources: 8
|
|
123
|
-
sci-o:
|
|
124
|
-
grid-carbon-intensity: 554 # gCO2e/kWh
|
|
125
|
-
inputs:
|
|
126
|
-
- timestamp: 2023-07-06T00:00
|
|
127
|
-
duration: 3600 # this data is using span, but the model expects duration
|
|
128
|
-
cpu-util: 28.05
|
|
129
|
-
mem-util: 19.375
|
|
130
|
-
requests: 32000
|
|
131
|
-
neo4j-databasenergy-memory: # a leaf component
|
|
132
|
-
config:
|
|
133
|
-
sci-m:
|
|
134
|
-
total-embodied-emissions: 1216.62 # gCO2eq
|
|
135
|
-
resources-reserved: 2
|
|
136
|
-
total-resources: 64
|
|
137
|
-
inputs:
|
|
138
|
-
- timestamp: 2023-07-06T00:00
|
|
139
|
-
duration: 1 # this data is using span, but the model expects duration
|
|
140
|
-
cpu-util: 0
|
|
141
|
-
mem-util: 0
|
|
142
|
-
requests: 32000
|
|
143
|
-
neo4j-api-cpu: # a leaf component
|
|
144
|
-
config:
|
|
145
|
-
teads-curve:
|
|
146
|
-
physical-processor: Intel-xeon-platinum-8270
|
|
147
|
-
thermal-design-power: 205
|
|
148
|
-
emem:
|
|
149
|
-
mem-alloc: 1.75 # GB
|
|
150
|
-
sci-m:
|
|
151
|
-
total-embodied-emissions: 1216.620 # gCO2eq
|
|
152
|
-
time-reserved: 1 # s per hour
|
|
153
|
-
expected-lifespan: 35040 # 3 years in seconds
|
|
154
|
-
resources-reserved: 2
|
|
155
|
-
total-resources: 64
|
|
156
|
-
inputs:
|
|
157
|
-
- timestamp: 2023-08-06T00:00
|
|
158
|
-
duration: 3600
|
|
159
|
-
cpu-util: 14
|
|
160
|
-
mem-util: 65
|
|
161
|
-
requests: 32000
|
|
162
|
-
neo4j-api-mem: # a leaf component
|
|
163
|
-
config:
|
|
164
|
-
sci-m:
|
|
165
|
-
total-embodied-emissions: 1216.620 # gCO2eq
|
|
166
|
-
resources-reserved: 1
|
|
167
|
-
total-resources: 8
|
|
168
|
-
inputs:
|
|
169
|
-
- timestamp: 2023-08-06T00:00
|
|
170
|
-
duration: 3600
|
|
171
|
-
cpu-util: 0
|
|
172
|
-
mem-util: 0
|
|
173
|
-
requests: 32000
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
name: farm-insights
|
|
2
|
-
description: https://github.com/Green-Software-Foundation/sci-guide/blob/dev/use-case-submissions/farm-insights-Raspberry-Pi.md
|
|
3
|
-
tags:
|
|
4
|
-
kind: iot
|
|
5
|
-
complexity: simple
|
|
6
|
-
category: device
|
|
7
|
-
initialize:
|
|
8
|
-
models:
|
|
9
|
-
- name: sci-o # takes in total e and outputs operational emissions
|
|
10
|
-
kind: plugin
|
|
11
|
-
model: SciOModel
|
|
12
|
-
path: if-models
|
|
13
|
-
verbose: false
|
|
14
|
-
- name: sci # a model that sums sci-o + sci-m and applies functional unit
|
|
15
|
-
kind: plugin
|
|
16
|
-
verbose: false
|
|
17
|
-
model: SciModel
|
|
18
|
-
path: if-models
|
|
19
|
-
graph:
|
|
20
|
-
children:
|
|
21
|
-
rasp-pi:
|
|
22
|
-
pipeline:
|
|
23
|
-
- sci-o # take e and return e * i (carbon)
|
|
24
|
-
- sci # take in carbon from sci-o and embodied carbon (m) and return sum in correct time unit (here /yr)
|
|
25
|
-
config:
|
|
26
|
-
sci:
|
|
27
|
-
functional-unit-duration: 1
|
|
28
|
-
functional-unit-time: 'minutes'
|
|
29
|
-
functional-unit: requests # factor to convert per time to per f.unit
|
|
30
|
-
inputs:
|
|
31
|
-
- energy: 3.47222222222e-07 # 0.03 kwh/day in kwh/s
|
|
32
|
-
timestamp: 2023-07-06T00:00
|
|
33
|
-
grid-carbon-intensity: 713 # g/kwh
|
|
34
|
-
embodied-carbon: 1.744038559107052e-03 # they give 55kg/year - here in g/second
|
|
35
|
-
duration: 3600
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
name: "Green Software Foundation Website"
|
|
2
|
-
description: "https://github.com/Green-Software-Foundation/ief/issues/58"
|
|
3
|
-
tags:
|
|
4
|
-
kind: website
|
|
5
|
-
complexity: moderate
|
|
6
|
-
category: cloud
|
|
7
|
-
initialize:
|
|
8
|
-
models:
|
|
9
|
-
- name: sci-coefficient # a model that receives a carbon value and normalizes to R.
|
|
10
|
-
kind: builtin
|
|
11
|
-
path: ''
|
|
12
|
-
- name: sci-serve # a model that calculates carbon from server data.
|
|
13
|
-
kind: builtin
|
|
14
|
-
path: ''
|
|
15
|
-
- name: sci # a model that receives a carbon value and normalizes to R.
|
|
16
|
-
kind: builtin
|
|
17
|
-
path: ''
|
|
18
|
-
- name: co2js # a model that receives a carbon value and normalizes to R.
|
|
19
|
-
kind: plugin
|
|
20
|
-
path: '...'
|
|
21
|
-
graph:
|
|
22
|
-
build:
|
|
23
|
-
netlify:
|
|
24
|
-
pipeline:
|
|
25
|
-
- sci-coefficient
|
|
26
|
-
config:
|
|
27
|
-
sci-coefficient:
|
|
28
|
-
time: month
|
|
29
|
-
factotal-resources: 67 # n builds per month
|
|
30
|
-
inputs:
|
|
31
|
-
- timestamp: 2023-07-06T00:00
|
|
32
|
-
c: 9.92063492063492e-07 # 2.4 g/month in g/s
|
|
33
|
-
gh-pages:
|
|
34
|
-
pipeline:
|
|
35
|
-
- sci-coefficient
|
|
36
|
-
config:
|
|
37
|
-
sci-coefficient:
|
|
38
|
-
time: month
|
|
39
|
-
factotal-resources: 67 # n builds per month
|
|
40
|
-
inputs:
|
|
41
|
-
- timestamp: 2023-07-06T00:00
|
|
42
|
-
c: 9.92063492063492e-07 # 2.4 g/month in g/s
|
|
43
|
-
serving:
|
|
44
|
-
netlify:
|
|
45
|
-
pipeline:
|
|
46
|
-
- sci-serve
|
|
47
|
-
config:
|
|
48
|
-
sci-serve:
|
|
49
|
-
time: month
|
|
50
|
-
inputs:
|
|
51
|
-
- timestamp: 2023-07-06T00:00
|
|
52
|
-
c: 9.92063492063492e-07 # 2.4 g/month in g/s
|
|
53
|
-
views-per-user: 2.1
|
|
54
|
-
users: 2000 # unique users in most recent month
|
|
55
|
-
gh-pages:
|
|
56
|
-
pipeline:
|
|
57
|
-
- sci-serve
|
|
58
|
-
config:
|
|
59
|
-
sci-serve:
|
|
60
|
-
time: month
|
|
61
|
-
inputs:
|
|
62
|
-
- timestamp: 2023-07-06T00:00
|
|
63
|
-
c: 9.92063492063492e-07 # 2.4 g/month in g/s
|
|
64
|
-
views-per-user: 2.1
|
|
65
|
-
users: 0.0008267195767195768 # 2000 unique users in most recent month, converted to users/s
|
|
66
|
-
traffic:
|
|
67
|
-
pipeline:
|
|
68
|
-
- co2js
|
|
69
|
-
- sci
|
|
70
|
-
config:
|
|
71
|
-
co2js:
|
|
72
|
-
kind: 1byte # https://developers.thegreenwebfoundation.org/co2js/models/
|
|
73
|
-
green-hosting: true
|
|
74
|
-
sci:
|
|
75
|
-
time: month
|
|
76
|
-
inputs:
|
|
77
|
-
- timestamp: 2023-07-06T00:00
|
|
78
|
-
data: 8.267195767195768e-06 # 20 GB data transferred in most recent month, converted to GB/s
|
|
79
|
-
users: 0.0008267195767195768 # 2000 unique users in most recent month, converted to users/s
|
|
80
|
-
browser:
|
|
81
|
-
pipeline:
|
|
82
|
-
- co2js
|
|
83
|
-
- sci
|
|
84
|
-
config:
|
|
85
|
-
co2js:
|
|
86
|
-
kind: 1byte # https://developers.thegreenwebfoundation.org/co2js/models/
|
|
87
|
-
green-hosting: true
|
|
88
|
-
sci:
|
|
89
|
-
time: month
|
|
90
|
-
inputs:
|
|
91
|
-
- timestamp: 2023-07-06T00:00
|
|
92
|
-
data: 8.267195767195768e-06 # 20 GB data transferred in most recent month, converted to GB/s
|
|
93
|
-
users: 2000 0.0008267195767195768 # 2000 unique users in most recent month, converted to users/s
|