@grnsft/if 0.1.8 → 0.1.9
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/build/config/config.d.ts +0 -2
- package/build/config/config.js +6 -3
- 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 +5 -0
- package/build/config/strings.js +6 -1
- package/build/index.js +48 -18
- package/build/lib/aggregator.d.ts +7 -0
- package/build/lib/aggregator.js +46 -0
- package/build/lib/models-universe.d.ts +5 -1
- package/build/lib/models-universe.js +37 -5
- package/build/lib/supercomputer.d.ts +14 -12
- package/build/lib/supercomputer.js +55 -87
- package/build/models/time-sync.d.ts +8 -5
- package/build/models/time-sync.js +35 -12
- package/build/types/aggregator.d.ts +3 -0
- package/build/types/aggregator.js +5 -0
- package/build/types/impl.d.ts +65 -18
- package/build/types/impl.js +17 -3
- package/build/types/model-interface.d.ts +1 -2
- package/build/types/model-interface.js +1 -1
- package/build/types/models-universe.d.ts +2 -5
- package/build/types/models-universe.js +1 -1
- package/build/types/parameters.d.ts +16 -0
- package/build/types/parameters.js +5 -0
- package/build/types/process-args.d.ts +1 -0
- package/build/types/process-args.js +1 -1
- package/build/types/time-sync.d.ts +1 -0
- package/build/types/time-sync.js +1 -1
- package/build/util/args.d.ts +1 -0
- package/build/util/args.js +27 -3
- package/build/util/param-selectors.d.ts +5 -0
- package/build/util/param-selectors.js +14 -0
- package/build/util/validations.d.ts +11 -5
- package/build/util/validations.js +17 -25
- package/build/util/yaml.js +27 -4
- package/examples/impls/test/aggregation-test.yml +19 -19
- package/examples/impls/test/aggregation-test2.yml +52 -0
- package/examples/impls/test/{azure.yml → azure-importer.yml} +8 -10
- package/examples/impls/test/boavizta.yml +27 -0
- package/examples/impls/test/cim.yml +19 -0
- package/examples/impls/test/e-mem.yml +19 -0
- package/examples/impls/test/if-demo.yml +0 -2
- package/examples/impls/test/large-impl.yml +30031 -30031
- package/examples/impls/test/new-params-test.yml +35 -0
- package/examples/impls/test/sci.yml +2 -2
- package/examples/impls/test/teads-cpu.yml +18 -0
- package/examples/impls/test/time-sync-avoid-padding.yml +50 -0
- package/examples/impls/test/time-sync.yml +14 -13
- package/examples/ompls/aggregation-test2.yml +83 -0
- package/examples/ompls/{azure.yml → azure-importer.yml} +40 -40
- package/examples/ompls/boavizta.yml +32 -0
- package/examples/ompls/cim.yml +29 -0
- package/examples/ompls/e-mem.yml +26 -0
- package/examples/ompls/sci.yml +5 -5
- package/examples/ompls/teads-cpu.yml +24 -0
- package/package.json +1 -1
- package/src/models/README.md +3 -1
- package/build/config/units.yaml +0 -112
- package/build/lib/planet-aggregator.d.ts +0 -6
- package/build/lib/planet-aggregator.js +0 -35
- package/build/types/helpers.d.ts +0 -1
- package/build/types/helpers.js +0 -3
- package/build/types/planet-aggregator.d.ts +0 -6
- package/build/types/planet-aggregator.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/src/config/units.yaml +0 -112
- package/tsconfig.build.tsbuildinfo +0 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: nesting-demo
|
|
2
|
+
description: null
|
|
3
|
+
tags:
|
|
4
|
+
kind: web
|
|
5
|
+
complexity: moderate
|
|
6
|
+
category: on-premise
|
|
7
|
+
params:
|
|
8
|
+
- name: carbonSpecial
|
|
9
|
+
description: dummy
|
|
10
|
+
aggregation: sum
|
|
11
|
+
unit: MT
|
|
12
|
+
- name: carbonExtraSpecial
|
|
13
|
+
description: dummy
|
|
14
|
+
aggregation: sum
|
|
15
|
+
unit: MT
|
|
16
|
+
aggregation:
|
|
17
|
+
type: both
|
|
18
|
+
metrics:
|
|
19
|
+
- 'cpu-util'
|
|
20
|
+
- 'energy'
|
|
21
|
+
initialize:
|
|
22
|
+
models:
|
|
23
|
+
- name: sci-e
|
|
24
|
+
path: '@grnsft/if-models'
|
|
25
|
+
model: SciEModel
|
|
26
|
+
graph:
|
|
27
|
+
children:
|
|
28
|
+
child-0:
|
|
29
|
+
pipeline:
|
|
30
|
+
- sci-e
|
|
31
|
+
inputs:
|
|
32
|
+
- timestamp: 2023-07-06T00:00
|
|
33
|
+
duration: 10
|
|
34
|
+
cpu-util: 50
|
|
35
|
+
energy-network: 1
|
|
@@ -14,8 +14,8 @@ graph:
|
|
|
14
14
|
- sci
|
|
15
15
|
config:
|
|
16
16
|
sci:
|
|
17
|
-
functional-unit-
|
|
18
|
-
functional-
|
|
17
|
+
functional-unit-time: 1 minute
|
|
18
|
+
functional-duration-time: ""
|
|
19
19
|
functional-unit: requests # factor to convert per time to per f.unit
|
|
20
20
|
inputs:
|
|
21
21
|
- timestamp: 2023-07-06T00:00
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
name: teads-cpu
|
|
2
|
+
description: simple demo invoking teads-cpu
|
|
3
|
+
tags:
|
|
4
|
+
initialize:
|
|
5
|
+
models:
|
|
6
|
+
- name: teads-cpu
|
|
7
|
+
model: TeadsCurveModel
|
|
8
|
+
path: "@grnsft/if-unofficial-models"
|
|
9
|
+
graph:
|
|
10
|
+
children:
|
|
11
|
+
child:
|
|
12
|
+
pipeline:
|
|
13
|
+
- teads-cpu
|
|
14
|
+
inputs:
|
|
15
|
+
- timestamp: 2023-07-06T00:00
|
|
16
|
+
duration: 3600
|
|
17
|
+
cpu-util: 50
|
|
18
|
+
thermal-design-power: 300
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
name: nesting-demo
|
|
2
|
+
description: impl with 2 levels of nesting with non-uniform timing of observations, with flag to avoid padding by erroring out
|
|
3
|
+
tags:
|
|
4
|
+
initialize:
|
|
5
|
+
models:
|
|
6
|
+
- name: time-synchronization
|
|
7
|
+
model: TimeSyncModel
|
|
8
|
+
path: builtin
|
|
9
|
+
config:
|
|
10
|
+
start-time: 2023-12-12T00:00:00.000Z # ISO timestamp
|
|
11
|
+
end-time: 2023-12-12T00:01:00.000Z # ISO timestamp
|
|
12
|
+
interval: 5 # seconds
|
|
13
|
+
allow-padding: true
|
|
14
|
+
graph:
|
|
15
|
+
children:
|
|
16
|
+
child: # an advanced grouping node
|
|
17
|
+
pipeline:
|
|
18
|
+
- time-synchronization
|
|
19
|
+
config:
|
|
20
|
+
children:
|
|
21
|
+
child-1:
|
|
22
|
+
inputs:
|
|
23
|
+
- timestamp: 2023-12-12T00:00:00.000Z
|
|
24
|
+
duration: 10
|
|
25
|
+
cpu-util: 10
|
|
26
|
+
carbon: 100
|
|
27
|
+
energy: 100
|
|
28
|
+
requests: 300
|
|
29
|
+
- timestamp: 2023-12-12T00:00:15.000Z
|
|
30
|
+
duration: 10
|
|
31
|
+
cpu-util: 20
|
|
32
|
+
requests: 300
|
|
33
|
+
- timestamp: 2023-12-12T00:00:35.000Z
|
|
34
|
+
duration: 15
|
|
35
|
+
cpu-util: 20
|
|
36
|
+
requests: 400
|
|
37
|
+
child-2:
|
|
38
|
+
inputs:
|
|
39
|
+
- timestamp: 2023-12-12T00:00:00.000Z
|
|
40
|
+
duration: 10
|
|
41
|
+
cpu-util: 10
|
|
42
|
+
requests: 300
|
|
43
|
+
- timestamp: 2023-12-12T00:00:10.000Z
|
|
44
|
+
duration: 30
|
|
45
|
+
cpu-util: 20
|
|
46
|
+
requests: 380
|
|
47
|
+
- timestamp: 2023-12-12T00:00:50.000Z
|
|
48
|
+
duration: 20
|
|
49
|
+
cpu-util: 20
|
|
50
|
+
requests: 380
|
|
@@ -18,10 +18,11 @@ initialize:
|
|
|
18
18
|
- name: time-synchronization
|
|
19
19
|
model: TimeSyncModel
|
|
20
20
|
path: builtin
|
|
21
|
-
config:
|
|
21
|
+
config:
|
|
22
22
|
start-time: 2023-12-12T00:00:00.000Z # ISO timestamp
|
|
23
23
|
end-time: 2023-12-12T00:01:00.000Z # ISO timestamp
|
|
24
24
|
interval: 5 # seconds
|
|
25
|
+
allow-padding: true
|
|
25
26
|
graph:
|
|
26
27
|
children:
|
|
27
28
|
child: # an advanced grouping node
|
|
@@ -37,9 +38,9 @@ graph:
|
|
|
37
38
|
sci-m:
|
|
38
39
|
total-embodied-emissions: 251000 # gCO2eq
|
|
39
40
|
time-reserved: 3600 # 1 hour in s
|
|
40
|
-
expected-lifespan: 126144000 # 4 years in seconds
|
|
41
|
-
resources-reserved: 1
|
|
42
|
-
total-resources: 1
|
|
41
|
+
expected-lifespan: 126144000 # 4 years in seconds
|
|
42
|
+
resources-reserved: 1
|
|
43
|
+
total-resources: 1
|
|
43
44
|
sci-o:
|
|
44
45
|
grid-carbon-intensity: 457 # gCO2/kwh
|
|
45
46
|
children:
|
|
@@ -48,28 +49,28 @@ graph:
|
|
|
48
49
|
- timestamp: 2023-12-12T00:00:00.000Z
|
|
49
50
|
duration: 10
|
|
50
51
|
cpu-util: 10
|
|
51
|
-
carbon: 100
|
|
52
|
-
energy: 100
|
|
52
|
+
carbon: 100
|
|
53
|
+
energy: 100
|
|
53
54
|
requests: 300
|
|
54
55
|
- timestamp: 2023-12-12T00:00:15.000Z
|
|
55
56
|
duration: 10
|
|
56
|
-
cpu-util: 20
|
|
57
|
+
cpu-util: 20
|
|
57
58
|
requests: 300
|
|
58
59
|
- timestamp: 2023-12-12T00:00:35.000Z
|
|
59
60
|
duration: 15
|
|
60
|
-
cpu-util: 20
|
|
61
|
+
cpu-util: 20
|
|
61
62
|
requests: 400
|
|
62
63
|
child-2:
|
|
63
|
-
inputs:
|
|
64
|
+
inputs:
|
|
64
65
|
- timestamp: 2023-12-12T00:00:00.000Z
|
|
65
66
|
duration: 10
|
|
66
|
-
cpu-util: 10
|
|
67
|
+
cpu-util: 10
|
|
67
68
|
requests: 300
|
|
68
69
|
- timestamp: 2023-12-12T00:00:10.000Z
|
|
69
70
|
duration: 30
|
|
70
|
-
cpu-util: 20
|
|
71
|
+
cpu-util: 20
|
|
71
72
|
requests: 380
|
|
72
73
|
- timestamp: 2023-12-12T00:00:50.000Z
|
|
73
74
|
duration: 20
|
|
74
|
-
cpu-util: 20
|
|
75
|
-
requests: 380
|
|
75
|
+
cpu-util: 20
|
|
76
|
+
requests: 380
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
name: nesting-demo
|
|
2
|
+
description: null
|
|
3
|
+
tags:
|
|
4
|
+
kind: web
|
|
5
|
+
complexity: moderate
|
|
6
|
+
category: on-premise
|
|
7
|
+
params:
|
|
8
|
+
- name: carbon
|
|
9
|
+
description: dummy
|
|
10
|
+
aggregation: sum
|
|
11
|
+
unit: MT
|
|
12
|
+
aggregation:
|
|
13
|
+
type: both
|
|
14
|
+
metrics:
|
|
15
|
+
- cpu-util
|
|
16
|
+
- energy
|
|
17
|
+
initialize:
|
|
18
|
+
models:
|
|
19
|
+
- name: sci-e
|
|
20
|
+
path: '@grnsft/if-models'
|
|
21
|
+
model: SciEModel
|
|
22
|
+
graph:
|
|
23
|
+
children:
|
|
24
|
+
child-0:
|
|
25
|
+
pipeline:
|
|
26
|
+
- sci-e
|
|
27
|
+
children:
|
|
28
|
+
child-0-1:
|
|
29
|
+
pipeline:
|
|
30
|
+
- sci-e
|
|
31
|
+
config: null
|
|
32
|
+
inputs:
|
|
33
|
+
- timestamp: 2023-07-06T00:00
|
|
34
|
+
duration: 10
|
|
35
|
+
cpu-util: 50
|
|
36
|
+
energy-network: 1
|
|
37
|
+
outputs:
|
|
38
|
+
- timestamp: 2023-07-06T00:00
|
|
39
|
+
duration: 10
|
|
40
|
+
cpu-util: 50
|
|
41
|
+
energy-network: 1
|
|
42
|
+
energy: 1
|
|
43
|
+
aggregated-outputs:
|
|
44
|
+
aggregated-cpu-util: 50
|
|
45
|
+
aggregated-energy: 1
|
|
46
|
+
child:0-2:
|
|
47
|
+
children:
|
|
48
|
+
child-0-2-1:
|
|
49
|
+
pipeline:
|
|
50
|
+
- sci-e
|
|
51
|
+
config: null
|
|
52
|
+
inputs:
|
|
53
|
+
- timestamp: 2023-07-06T00:00
|
|
54
|
+
duration: 10
|
|
55
|
+
cpu-util: 50
|
|
56
|
+
energy-network: 1
|
|
57
|
+
outputs:
|
|
58
|
+
- timestamp: 2023-07-06T00:00
|
|
59
|
+
duration: 10
|
|
60
|
+
cpu-util: 50
|
|
61
|
+
energy-network: 1
|
|
62
|
+
energy: 1
|
|
63
|
+
aggregated-outputs:
|
|
64
|
+
aggregated-cpu-util: 50
|
|
65
|
+
aggregated-energy: 1
|
|
66
|
+
child-0-2-2:
|
|
67
|
+
pipeline:
|
|
68
|
+
- sci-e
|
|
69
|
+
config: null
|
|
70
|
+
inputs:
|
|
71
|
+
- timestamp: 2023-07-06T00:00
|
|
72
|
+
duration: 10
|
|
73
|
+
cpu-util: 50
|
|
74
|
+
energy-network: 1
|
|
75
|
+
outputs:
|
|
76
|
+
- timestamp: 2023-07-06T00:00
|
|
77
|
+
duration: 10
|
|
78
|
+
cpu-util: 50
|
|
79
|
+
energy-network: 1
|
|
80
|
+
energy: 1
|
|
81
|
+
aggregated-outputs:
|
|
82
|
+
aggregated-cpu-util: 50
|
|
83
|
+
aggregated-energy: 1
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
name:
|
|
2
|
-
description: example impl invoking
|
|
1
|
+
name: azure-importer
|
|
2
|
+
description: example impl invoking Azure Importer model
|
|
3
3
|
tags: null
|
|
4
4
|
initialize:
|
|
5
5
|
models:
|
|
6
6
|
- name: azure-importer
|
|
7
|
-
path: if-models
|
|
7
|
+
path: "@grnsft/if-unofficial-models"
|
|
8
8
|
model: AzureImporterModel
|
|
9
9
|
kind: plugin
|
|
10
10
|
graph:
|
|
@@ -15,7 +15,7 @@ graph:
|
|
|
15
15
|
config:
|
|
16
16
|
azure-importer: null
|
|
17
17
|
inputs:
|
|
18
|
-
- timestamp:
|
|
18
|
+
- timestamp: "2023-11-02T10:35:31.820Z"
|
|
19
19
|
duration: 3600
|
|
20
20
|
azure-observation-window: 5 min
|
|
21
21
|
azure-observation-aggregation: average
|
|
@@ -23,123 +23,123 @@ graph:
|
|
|
23
23
|
azure-resource-group: vm1_group
|
|
24
24
|
azure-vm-name: vm1
|
|
25
25
|
outputs:
|
|
26
|
-
- timestamp:
|
|
26
|
+
- timestamp: "2023-11-02T10:35:00.000Z"
|
|
27
27
|
duration: 300
|
|
28
28
|
cloud-vendor: azure
|
|
29
|
-
cpu-util:
|
|
29
|
+
cpu-util: "0.314"
|
|
30
30
|
mem-availableGB: 0.488636416
|
|
31
31
|
mem-usedGB: 0.5113635839999999
|
|
32
|
-
total-memoryGB:
|
|
32
|
+
total-memoryGB: "1"
|
|
33
33
|
mem-util: 51.13635839999999
|
|
34
34
|
location: uksouth
|
|
35
35
|
cloud-instance-type: Standard_B1s
|
|
36
|
-
- timestamp:
|
|
36
|
+
- timestamp: "2023-11-02T10:40:00.000Z"
|
|
37
37
|
duration: 300
|
|
38
38
|
cloud-vendor: azure
|
|
39
|
-
cpu-util:
|
|
39
|
+
cpu-util: "0.314"
|
|
40
40
|
mem-availableGB: 0.48978984960000005
|
|
41
41
|
mem-usedGB: 0.5102101504
|
|
42
|
-
total-memoryGB:
|
|
42
|
+
total-memoryGB: "1"
|
|
43
43
|
mem-util: 51.021015039999995
|
|
44
44
|
location: uksouth
|
|
45
45
|
cloud-instance-type: Standard_B1s
|
|
46
|
-
- timestamp:
|
|
46
|
+
- timestamp: "2023-11-02T10:45:00.000Z"
|
|
47
47
|
duration: 300
|
|
48
48
|
cloud-vendor: azure
|
|
49
|
-
cpu-util:
|
|
49
|
+
cpu-util: "0.301"
|
|
50
50
|
mem-availableGB: 0.490733568
|
|
51
51
|
mem-usedGB: 0.509266432
|
|
52
|
-
total-memoryGB:
|
|
52
|
+
total-memoryGB: "1"
|
|
53
53
|
mem-util: 50.9266432
|
|
54
54
|
location: uksouth
|
|
55
55
|
cloud-instance-type: Standard_B1s
|
|
56
|
-
- timestamp:
|
|
56
|
+
- timestamp: "2023-11-02T10:50:00.000Z"
|
|
57
57
|
duration: 300
|
|
58
58
|
cloud-vendor: azure
|
|
59
|
-
cpu-util:
|
|
59
|
+
cpu-util: "0.298"
|
|
60
60
|
mem-availableGB: 0.490733568
|
|
61
61
|
mem-usedGB: 0.509266432
|
|
62
|
-
total-memoryGB:
|
|
62
|
+
total-memoryGB: "1"
|
|
63
63
|
mem-util: 50.9266432
|
|
64
64
|
location: uksouth
|
|
65
65
|
cloud-instance-type: Standard_B1s
|
|
66
|
-
- timestamp:
|
|
66
|
+
- timestamp: "2023-11-02T10:55:00.000Z"
|
|
67
67
|
duration: 300
|
|
68
68
|
cloud-vendor: azure
|
|
69
|
-
cpu-util:
|
|
69
|
+
cpu-util: "0.301"
|
|
70
70
|
mem-availableGB: 0.49178214400000003
|
|
71
71
|
mem-usedGB: 0.5082178559999999
|
|
72
|
-
total-memoryGB:
|
|
72
|
+
total-memoryGB: "1"
|
|
73
73
|
mem-util: 50.82178559999999
|
|
74
74
|
location: uksouth
|
|
75
75
|
cloud-instance-type: Standard_B1s
|
|
76
|
-
- timestamp:
|
|
76
|
+
- timestamp: "2023-11-02T11:00:00.000Z"
|
|
77
77
|
duration: 300
|
|
78
78
|
cloud-vendor: azure
|
|
79
|
-
cpu-util:
|
|
79
|
+
cpu-util: "0.298"
|
|
80
80
|
mem-availableGB: 0.49178214400000003
|
|
81
81
|
mem-usedGB: 0.5082178559999999
|
|
82
|
-
total-memoryGB:
|
|
82
|
+
total-memoryGB: "1"
|
|
83
83
|
mem-util: 50.82178559999999
|
|
84
84
|
location: uksouth
|
|
85
85
|
cloud-instance-type: Standard_B1s
|
|
86
|
-
- timestamp:
|
|
86
|
+
- timestamp: "2023-11-02T11:05:00.000Z"
|
|
87
87
|
duration: 300
|
|
88
88
|
cloud-vendor: azure
|
|
89
|
-
cpu-util:
|
|
89
|
+
cpu-util: "0.304"
|
|
90
90
|
mem-availableGB: 0.492306432
|
|
91
91
|
mem-usedGB: 0.507693568
|
|
92
|
-
total-memoryGB:
|
|
92
|
+
total-memoryGB: "1"
|
|
93
93
|
mem-util: 50.7693568
|
|
94
94
|
location: uksouth
|
|
95
95
|
cloud-instance-type: Standard_B1s
|
|
96
|
-
- timestamp:
|
|
96
|
+
- timestamp: "2023-11-02T11:10:00.000Z"
|
|
97
97
|
duration: 300
|
|
98
98
|
cloud-vendor: azure
|
|
99
|
-
cpu-util:
|
|
99
|
+
cpu-util: "0.3"
|
|
100
100
|
mem-availableGB: 0.49283072000000006
|
|
101
101
|
mem-usedGB: 0.50716928
|
|
102
|
-
total-memoryGB:
|
|
102
|
+
total-memoryGB: "1"
|
|
103
103
|
mem-util: 50.716927999999996
|
|
104
104
|
location: uksouth
|
|
105
105
|
cloud-instance-type: Standard_B1s
|
|
106
|
-
- timestamp:
|
|
106
|
+
- timestamp: "2023-11-02T11:15:00.000Z"
|
|
107
107
|
duration: 300
|
|
108
108
|
cloud-vendor: azure
|
|
109
|
-
cpu-util:
|
|
109
|
+
cpu-util: "0.636"
|
|
110
110
|
mem-availableGB: 0.5062524928000001
|
|
111
111
|
mem-usedGB: 0.49374750719999994
|
|
112
|
-
total-memoryGB:
|
|
112
|
+
total-memoryGB: "1"
|
|
113
113
|
mem-util: 49.374750719999994
|
|
114
114
|
location: uksouth
|
|
115
115
|
cloud-instance-type: Standard_B1s
|
|
116
|
-
- timestamp:
|
|
116
|
+
- timestamp: "2023-11-02T11:20:00.000Z"
|
|
117
117
|
duration: 300
|
|
118
118
|
cloud-vendor: azure
|
|
119
|
-
cpu-util:
|
|
119
|
+
cpu-util: "0.29500000000000004"
|
|
120
120
|
mem-availableGB: 0.509607936
|
|
121
121
|
mem-usedGB: 0.490392064
|
|
122
|
-
total-memoryGB:
|
|
122
|
+
total-memoryGB: "1"
|
|
123
123
|
mem-util: 49.039206400000005
|
|
124
124
|
location: uksouth
|
|
125
125
|
cloud-instance-type: Standard_B1s
|
|
126
|
-
- timestamp:
|
|
126
|
+
- timestamp: "2023-11-02T11:25:00.000Z"
|
|
127
127
|
duration: 300
|
|
128
128
|
cloud-vendor: azure
|
|
129
|
-
cpu-util:
|
|
129
|
+
cpu-util: "0.309"
|
|
130
130
|
mem-availableGB: 0.5106565120000001
|
|
131
131
|
mem-usedGB: 0.48934348799999994
|
|
132
|
-
total-memoryGB:
|
|
132
|
+
total-memoryGB: "1"
|
|
133
133
|
mem-util: 48.934348799999995
|
|
134
134
|
location: uksouth
|
|
135
135
|
cloud-instance-type: Standard_B1s
|
|
136
|
-
- timestamp:
|
|
136
|
+
- timestamp: "2023-11-02T11:30:00.000Z"
|
|
137
137
|
duration: 300
|
|
138
138
|
cloud-vendor: azure
|
|
139
|
-
cpu-util:
|
|
139
|
+
cpu-util: "0.484"
|
|
140
140
|
mem-availableGB: 0.5106565120000001
|
|
141
141
|
mem-usedGB: 0.48934348799999994
|
|
142
|
-
total-memoryGB:
|
|
142
|
+
total-memoryGB: "1"
|
|
143
143
|
mem-util: 48.934348799999995
|
|
144
144
|
location: uksouth
|
|
145
145
|
cloud-instance-type: Standard_B1s
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: boavizta
|
|
2
|
+
description: calls boavizta api
|
|
3
|
+
tags: null
|
|
4
|
+
initialize:
|
|
5
|
+
models:
|
|
6
|
+
- name: boavizta-cpu
|
|
7
|
+
path: '@grnsft/if-unofficial-models'
|
|
8
|
+
model: BoaviztaCpuOutputModel
|
|
9
|
+
config:
|
|
10
|
+
allocation: LINEAR
|
|
11
|
+
verbose: true
|
|
12
|
+
graph:
|
|
13
|
+
children:
|
|
14
|
+
child:
|
|
15
|
+
pipeline:
|
|
16
|
+
- boavizta-cpu
|
|
17
|
+
config:
|
|
18
|
+
boavizta-cpu:
|
|
19
|
+
core-units: 24
|
|
20
|
+
physical-processor: Intel® Core™ i7-1185G7
|
|
21
|
+
inputs:
|
|
22
|
+
- timestamp: 2023-07-06T00:00
|
|
23
|
+
duration: 3600
|
|
24
|
+
cpu-util: 18.392
|
|
25
|
+
- timestamp: 2023-08-06T00:00
|
|
26
|
+
duration: 3600
|
|
27
|
+
cpu-util: 16
|
|
28
|
+
outputs:
|
|
29
|
+
- energy-cpu: 0.2777777777777778
|
|
30
|
+
embodied-carbon: 0.8
|
|
31
|
+
- energy-cpu: 0.2777777777777778
|
|
32
|
+
embodied-carbon: 0.8
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
name: cloud-instance-metadata
|
|
2
|
+
description: example impl invoking Cloud Instance Metadata model
|
|
3
|
+
tags: null
|
|
4
|
+
initialize:
|
|
5
|
+
models:
|
|
6
|
+
- name: cloud-instance-metadata
|
|
7
|
+
path: "@grnsft/if-models"
|
|
8
|
+
model: CloudInstanceMetadataModel
|
|
9
|
+
graph:
|
|
10
|
+
children:
|
|
11
|
+
child:
|
|
12
|
+
pipeline:
|
|
13
|
+
- cloud-instance-metadata
|
|
14
|
+
config: null
|
|
15
|
+
inputs:
|
|
16
|
+
- timestamp: '2021-01-01T00:00:00Z'
|
|
17
|
+
duration: 5
|
|
18
|
+
cloud-instance-type: m5n.large
|
|
19
|
+
cloud-vendor: aws
|
|
20
|
+
outputs:
|
|
21
|
+
- timestamp: '2021-01-01T00:00:00Z'
|
|
22
|
+
duration: 5
|
|
23
|
+
cloud-instance-type: m5n.large
|
|
24
|
+
cloud-vendor: aws
|
|
25
|
+
vcpus-allocated: 2
|
|
26
|
+
vcpus-total: 96
|
|
27
|
+
memory-available: 8
|
|
28
|
+
physical-processor: Intel® Xeon® Platinum 8259CL
|
|
29
|
+
thermal-design-power: 210
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: e-mem
|
|
2
|
+
description: null
|
|
3
|
+
tags: null
|
|
4
|
+
initialize:
|
|
5
|
+
models:
|
|
6
|
+
- name: e-mem
|
|
7
|
+
path: "@grnsft/if-models"
|
|
8
|
+
model: EMemModel
|
|
9
|
+
graph:
|
|
10
|
+
children:
|
|
11
|
+
child:
|
|
12
|
+
pipeline:
|
|
13
|
+
- e-mem
|
|
14
|
+
config: null
|
|
15
|
+
inputs:
|
|
16
|
+
- timestamp: 2023-08-06T00:00
|
|
17
|
+
duration: 3600
|
|
18
|
+
mem-util: 40
|
|
19
|
+
total-memoryGB: 1
|
|
20
|
+
outputs:
|
|
21
|
+
- timestamp: 2023-08-06T00:00
|
|
22
|
+
duration: 3600
|
|
23
|
+
mem-util: 40
|
|
24
|
+
total-memoryGB: 1
|
|
25
|
+
coefficient: 0.38
|
|
26
|
+
energy-memory: 0.15200000000000002
|
package/examples/ompls/sci.yml
CHANGED
|
@@ -4,8 +4,9 @@ tags: null
|
|
|
4
4
|
initialize:
|
|
5
5
|
models:
|
|
6
6
|
- name: sci
|
|
7
|
-
kind:
|
|
8
|
-
path: ""
|
|
7
|
+
kind: plugin
|
|
8
|
+
path: "@grnsft/if-models"
|
|
9
|
+
model: SciModel
|
|
9
10
|
graph:
|
|
10
11
|
children:
|
|
11
12
|
child:
|
|
@@ -13,8 +14,7 @@ graph:
|
|
|
13
14
|
- sci
|
|
14
15
|
config:
|
|
15
16
|
sci:
|
|
16
|
-
functional-unit-
|
|
17
|
-
functional-unit-time: "1 minute"
|
|
17
|
+
functional-unit-time: 1 minute
|
|
18
18
|
functional-unit: requests
|
|
19
19
|
inputs:
|
|
20
20
|
- timestamp: 2023-07-06T00:00
|
|
@@ -31,7 +31,7 @@ graph:
|
|
|
31
31
|
embodied-carbon: 0.02
|
|
32
32
|
requests: 100
|
|
33
33
|
functional-unit-duration: 1
|
|
34
|
-
functional-unit-time:
|
|
34
|
+
functional-unit-time: 1 minute
|
|
35
35
|
functional-unit: requests
|
|
36
36
|
carbon: 0.0013944444444444442
|
|
37
37
|
sci: 0.0008366666666666665
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: teads-cpu
|
|
2
|
+
description: simple demo invoking teads-cpu
|
|
3
|
+
tags: null
|
|
4
|
+
initialize:
|
|
5
|
+
models:
|
|
6
|
+
- name: teads-cpu
|
|
7
|
+
path: '@grnsft/if-unofficial-models'
|
|
8
|
+
model: TeadsCurveModel
|
|
9
|
+
graph:
|
|
10
|
+
children:
|
|
11
|
+
child:
|
|
12
|
+
pipeline:
|
|
13
|
+
- teads-cpu
|
|
14
|
+
inputs:
|
|
15
|
+
- timestamp: 2023-07-06T00:00
|
|
16
|
+
duration: 3600
|
|
17
|
+
cpu-util: 50
|
|
18
|
+
thermal-design-power: 300
|
|
19
|
+
outputs:
|
|
20
|
+
- timestamp: 2023-07-06T00:00
|
|
21
|
+
duration: 3600
|
|
22
|
+
cpu-util: 50
|
|
23
|
+
thermal-design-power: 300
|
|
24
|
+
energy-cpu: 0.225
|
package/package.json
CHANGED
package/src/models/README.md
CHANGED
|
@@ -10,6 +10,7 @@ The following should be defined in the model initialization:
|
|
|
10
10
|
- `start-time`: global start time as ISO 8061 string
|
|
11
11
|
- `stop`: global end time as ISO 8061 string
|
|
12
12
|
- `interval`: temporal resolution in seconds
|
|
13
|
+
- `error-on-padding`: avoid zero/'zeroish' padding (if needed) and error out instead. `False` by defult.
|
|
13
14
|
|
|
14
15
|
### Inputs:
|
|
15
16
|
|
|
@@ -114,6 +115,7 @@ The end result of this gap-filling is that we have continuous 1 second resolutio
|
|
|
114
115
|
{timestamp: 2023-12-12T00:00:09.000Z, duration: 1, cpu-util: 12, carbon: 2.5, energy: 5, grid-carbon-intensity: 471}
|
|
115
116
|
]
|
|
116
117
|
```
|
|
118
|
+
Note that when `error-on-padding` is `true` no gap-filling is performed and the model will error out instead.
|
|
117
119
|
|
|
118
120
|
#### Trimming and padding
|
|
119
121
|
|
|
@@ -149,7 +151,7 @@ For example, for `startTime = 2023-12-12T00:00:00.000Z` and `endTime = 2023-12-1
|
|
|
149
151
|
|
|
150
152
|
]
|
|
151
153
|
```
|
|
152
|
-
|
|
154
|
+
Note that when `error-on-padding` is `true` no padding is performed and the model will error out instead.
|
|
153
155
|
|
|
154
156
|
#### Resampling rules
|
|
155
157
|
|