@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.
Files changed (104) hide show
  1. package/build/config/config.d.ts +0 -2
  2. package/build/config/config.js +6 -3
  3. package/build/config/index.d.ts +1 -0
  4. package/build/config/index.js +4 -2
  5. package/build/config/params.d.ts +2 -0
  6. package/build/config/params.js +146 -0
  7. package/build/config/strings.d.ts +5 -0
  8. package/build/config/strings.js +6 -1
  9. package/build/index.js +48 -18
  10. package/build/lib/aggregator.d.ts +7 -0
  11. package/build/lib/aggregator.js +46 -0
  12. package/build/lib/models-universe.d.ts +5 -1
  13. package/build/lib/models-universe.js +37 -5
  14. package/build/lib/supercomputer.d.ts +14 -12
  15. package/build/lib/supercomputer.js +55 -87
  16. package/build/models/time-sync.d.ts +8 -5
  17. package/build/models/time-sync.js +35 -12
  18. package/build/types/aggregator.d.ts +3 -0
  19. package/build/types/aggregator.js +5 -0
  20. package/build/types/impl.d.ts +65 -18
  21. package/build/types/impl.js +17 -3
  22. package/build/types/model-interface.d.ts +1 -2
  23. package/build/types/model-interface.js +1 -1
  24. package/build/types/models-universe.d.ts +2 -5
  25. package/build/types/models-universe.js +1 -1
  26. package/build/types/parameters.d.ts +16 -0
  27. package/build/types/parameters.js +5 -0
  28. package/build/types/process-args.d.ts +1 -0
  29. package/build/types/process-args.js +1 -1
  30. package/build/types/time-sync.d.ts +1 -0
  31. package/build/types/time-sync.js +1 -1
  32. package/build/util/args.d.ts +1 -0
  33. package/build/util/args.js +27 -3
  34. package/build/util/param-selectors.d.ts +5 -0
  35. package/build/util/param-selectors.js +14 -0
  36. package/build/util/validations.d.ts +11 -5
  37. package/build/util/validations.js +17 -25
  38. package/build/util/yaml.js +27 -4
  39. package/examples/impls/test/aggregation-test.yml +19 -19
  40. package/examples/impls/test/aggregation-test2.yml +52 -0
  41. package/examples/impls/test/{azure.yml → azure-importer.yml} +8 -10
  42. package/examples/impls/test/boavizta.yml +27 -0
  43. package/examples/impls/test/cim.yml +19 -0
  44. package/examples/impls/test/e-mem.yml +19 -0
  45. package/examples/impls/test/if-demo.yml +0 -2
  46. package/examples/impls/test/large-impl.yml +30031 -30031
  47. package/examples/impls/test/new-params-test.yml +35 -0
  48. package/examples/impls/test/sci.yml +2 -2
  49. package/examples/impls/test/teads-cpu.yml +18 -0
  50. package/examples/impls/test/time-sync-avoid-padding.yml +50 -0
  51. package/examples/impls/test/time-sync.yml +14 -13
  52. package/examples/ompls/aggregation-test2.yml +83 -0
  53. package/examples/ompls/{azure.yml → azure-importer.yml} +40 -40
  54. package/examples/ompls/boavizta.yml +32 -0
  55. package/examples/ompls/cim.yml +29 -0
  56. package/examples/ompls/e-mem.yml +26 -0
  57. package/examples/ompls/sci.yml +5 -5
  58. package/examples/ompls/teads-cpu.yml +24 -0
  59. package/package.json +1 -1
  60. package/src/models/README.md +3 -1
  61. package/build/config/units.yaml +0 -112
  62. package/build/lib/planet-aggregator.d.ts +0 -6
  63. package/build/lib/planet-aggregator.js +0 -35
  64. package/build/types/helpers.d.ts +0 -1
  65. package/build/types/helpers.js +0 -3
  66. package/build/types/planet-aggregator.d.ts +0 -6
  67. package/build/types/planet-aggregator.js +0 -3
  68. package/build/types/units-dealer.d.ts +0 -3
  69. package/build/types/units-dealer.js +0 -3
  70. package/build/types/units.d.ts +0 -11
  71. package/build/types/units.js +0 -37
  72. package/build/util/units-dealer.d.ts +0 -10
  73. package/build/util/units-dealer.js +0 -32
  74. package/coverage/clover.xml +0 -379
  75. package/coverage/coverage-final.json +0 -14
  76. package/coverage/lcov-report/base.css +0 -224
  77. package/coverage/lcov-report/block-navigation.js +0 -87
  78. package/coverage/lcov-report/config/config.ts.html +0 -250
  79. package/coverage/lcov-report/config/index.html +0 -146
  80. package/coverage/lcov-report/config/index.ts.html +0 -91
  81. package/coverage/lcov-report/config/strings.ts.html +0 -208
  82. package/coverage/lcov-report/favicon.png +0 -0
  83. package/coverage/lcov-report/index.html +0 -161
  84. package/coverage/lcov-report/lib/index.html +0 -161
  85. package/coverage/lcov-report/lib/models-universe.ts.html +0 -517
  86. package/coverage/lcov-report/lib/observatory.ts.html +0 -187
  87. package/coverage/lcov-report/lib/planet-aggregator.ts.html +0 -274
  88. package/coverage/lcov-report/lib/supercomputer.ts.html +0 -472
  89. package/coverage/lcov-report/models/index.html +0 -131
  90. package/coverage/lcov-report/models/index.ts.html +0 -88
  91. package/coverage/lcov-report/models/planet-aggregator.ts.html +0 -271
  92. package/coverage/lcov-report/models/time-sync.ts.html +0 -1165
  93. package/coverage/lcov-report/prettify.css +0 -1
  94. package/coverage/lcov-report/prettify.js +0 -2
  95. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  96. package/coverage/lcov-report/sorter.js +0 -196
  97. package/coverage/lcov-report/util/args.ts.html +0 -289
  98. package/coverage/lcov-report/util/errors.ts.html +0 -166
  99. package/coverage/lcov-report/util/index.html +0 -161
  100. package/coverage/lcov-report/util/units-dealer.ts.html +0 -199
  101. package/coverage/lcov-report/util/yaml.ts.html +0 -193
  102. package/coverage/lcov.info +0 -637
  103. package/src/config/units.yaml +0 -112
  104. 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-duration: 1
18
- functional-unit-time: "1 minute"
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: ccf-demo
2
- description: example impl invoking CCF model
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: '2023-11-02T10:35:31.820Z'
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: '2023-11-02T10:35:00.000Z'
26
+ - timestamp: "2023-11-02T10:35:00.000Z"
27
27
  duration: 300
28
28
  cloud-vendor: azure
29
- cpu-util: '0.314'
29
+ cpu-util: "0.314"
30
30
  mem-availableGB: 0.488636416
31
31
  mem-usedGB: 0.5113635839999999
32
- total-memoryGB: '1'
32
+ total-memoryGB: "1"
33
33
  mem-util: 51.13635839999999
34
34
  location: uksouth
35
35
  cloud-instance-type: Standard_B1s
36
- - timestamp: '2023-11-02T10:40:00.000Z'
36
+ - timestamp: "2023-11-02T10:40:00.000Z"
37
37
  duration: 300
38
38
  cloud-vendor: azure
39
- cpu-util: '0.314'
39
+ cpu-util: "0.314"
40
40
  mem-availableGB: 0.48978984960000005
41
41
  mem-usedGB: 0.5102101504
42
- total-memoryGB: '1'
42
+ total-memoryGB: "1"
43
43
  mem-util: 51.021015039999995
44
44
  location: uksouth
45
45
  cloud-instance-type: Standard_B1s
46
- - timestamp: '2023-11-02T10:45:00.000Z'
46
+ - timestamp: "2023-11-02T10:45:00.000Z"
47
47
  duration: 300
48
48
  cloud-vendor: azure
49
- cpu-util: '0.301'
49
+ cpu-util: "0.301"
50
50
  mem-availableGB: 0.490733568
51
51
  mem-usedGB: 0.509266432
52
- total-memoryGB: '1'
52
+ total-memoryGB: "1"
53
53
  mem-util: 50.9266432
54
54
  location: uksouth
55
55
  cloud-instance-type: Standard_B1s
56
- - timestamp: '2023-11-02T10:50:00.000Z'
56
+ - timestamp: "2023-11-02T10:50:00.000Z"
57
57
  duration: 300
58
58
  cloud-vendor: azure
59
- cpu-util: '0.298'
59
+ cpu-util: "0.298"
60
60
  mem-availableGB: 0.490733568
61
61
  mem-usedGB: 0.509266432
62
- total-memoryGB: '1'
62
+ total-memoryGB: "1"
63
63
  mem-util: 50.9266432
64
64
  location: uksouth
65
65
  cloud-instance-type: Standard_B1s
66
- - timestamp: '2023-11-02T10:55:00.000Z'
66
+ - timestamp: "2023-11-02T10:55:00.000Z"
67
67
  duration: 300
68
68
  cloud-vendor: azure
69
- cpu-util: '0.301'
69
+ cpu-util: "0.301"
70
70
  mem-availableGB: 0.49178214400000003
71
71
  mem-usedGB: 0.5082178559999999
72
- total-memoryGB: '1'
72
+ total-memoryGB: "1"
73
73
  mem-util: 50.82178559999999
74
74
  location: uksouth
75
75
  cloud-instance-type: Standard_B1s
76
- - timestamp: '2023-11-02T11:00:00.000Z'
76
+ - timestamp: "2023-11-02T11:00:00.000Z"
77
77
  duration: 300
78
78
  cloud-vendor: azure
79
- cpu-util: '0.298'
79
+ cpu-util: "0.298"
80
80
  mem-availableGB: 0.49178214400000003
81
81
  mem-usedGB: 0.5082178559999999
82
- total-memoryGB: '1'
82
+ total-memoryGB: "1"
83
83
  mem-util: 50.82178559999999
84
84
  location: uksouth
85
85
  cloud-instance-type: Standard_B1s
86
- - timestamp: '2023-11-02T11:05:00.000Z'
86
+ - timestamp: "2023-11-02T11:05:00.000Z"
87
87
  duration: 300
88
88
  cloud-vendor: azure
89
- cpu-util: '0.304'
89
+ cpu-util: "0.304"
90
90
  mem-availableGB: 0.492306432
91
91
  mem-usedGB: 0.507693568
92
- total-memoryGB: '1'
92
+ total-memoryGB: "1"
93
93
  mem-util: 50.7693568
94
94
  location: uksouth
95
95
  cloud-instance-type: Standard_B1s
96
- - timestamp: '2023-11-02T11:10:00.000Z'
96
+ - timestamp: "2023-11-02T11:10:00.000Z"
97
97
  duration: 300
98
98
  cloud-vendor: azure
99
- cpu-util: '0.3'
99
+ cpu-util: "0.3"
100
100
  mem-availableGB: 0.49283072000000006
101
101
  mem-usedGB: 0.50716928
102
- total-memoryGB: '1'
102
+ total-memoryGB: "1"
103
103
  mem-util: 50.716927999999996
104
104
  location: uksouth
105
105
  cloud-instance-type: Standard_B1s
106
- - timestamp: '2023-11-02T11:15:00.000Z'
106
+ - timestamp: "2023-11-02T11:15:00.000Z"
107
107
  duration: 300
108
108
  cloud-vendor: azure
109
- cpu-util: '0.636'
109
+ cpu-util: "0.636"
110
110
  mem-availableGB: 0.5062524928000001
111
111
  mem-usedGB: 0.49374750719999994
112
- total-memoryGB: '1'
112
+ total-memoryGB: "1"
113
113
  mem-util: 49.374750719999994
114
114
  location: uksouth
115
115
  cloud-instance-type: Standard_B1s
116
- - timestamp: '2023-11-02T11:20:00.000Z'
116
+ - timestamp: "2023-11-02T11:20:00.000Z"
117
117
  duration: 300
118
118
  cloud-vendor: azure
119
- cpu-util: '0.29500000000000004'
119
+ cpu-util: "0.29500000000000004"
120
120
  mem-availableGB: 0.509607936
121
121
  mem-usedGB: 0.490392064
122
- total-memoryGB: '1'
122
+ total-memoryGB: "1"
123
123
  mem-util: 49.039206400000005
124
124
  location: uksouth
125
125
  cloud-instance-type: Standard_B1s
126
- - timestamp: '2023-11-02T11:25:00.000Z'
126
+ - timestamp: "2023-11-02T11:25:00.000Z"
127
127
  duration: 300
128
128
  cloud-vendor: azure
129
- cpu-util: '0.309'
129
+ cpu-util: "0.309"
130
130
  mem-availableGB: 0.5106565120000001
131
131
  mem-usedGB: 0.48934348799999994
132
- total-memoryGB: '1'
132
+ total-memoryGB: "1"
133
133
  mem-util: 48.934348799999995
134
134
  location: uksouth
135
135
  cloud-instance-type: Standard_B1s
136
- - timestamp: '2023-11-02T11:30:00.000Z'
136
+ - timestamp: "2023-11-02T11:30:00.000Z"
137
137
  duration: 300
138
138
  cloud-vendor: azure
139
- cpu-util: '0.484'
139
+ cpu-util: "0.484"
140
140
  mem-availableGB: 0.5106565120000001
141
141
  mem-usedGB: 0.48934348799999994
142
- total-memoryGB: '1'
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
@@ -4,8 +4,9 @@ tags: null
4
4
  initialize:
5
5
  models:
6
6
  - name: sci
7
- kind: builtin
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-duration: 1
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: "1 minute"
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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@grnsft/if",
3
3
  "description": "Impact Framework",
4
- "version": "v0.1.8",
4
+ "version": "v0.1.9",
5
5
  "author": {
6
6
  "name": "Green Software Foundation",
7
7
  "email": "info@gsf.com"
@@ -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