@grnsft/if 0.1.9 → 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.
Files changed (176) hide show
  1. package/.commitlintrc.js +45 -0
  2. package/.husky/commit-msg +4 -0
  3. package/.husky/pre-commit +6 -0
  4. package/CONTRIBUTING.md +81 -98
  5. package/README.md +16 -12
  6. package/build/config/config.d.ts +4 -3
  7. package/build/config/config.js +11 -10
  8. package/build/config/params.js +17 -17
  9. package/build/config/strings.d.ts +9 -8
  10. package/build/config/strings.js +13 -12
  11. package/build/index.js +19 -69
  12. package/build/lib/aggregate.d.ts +6 -0
  13. package/build/lib/aggregate.js +72 -0
  14. package/build/lib/compute.d.ts +5 -0
  15. package/build/lib/compute.js +84 -0
  16. package/build/lib/exhaust.d.ts +6 -0
  17. package/build/lib/exhaust.js +47 -0
  18. package/build/lib/initialize.d.ts +6 -0
  19. package/build/lib/initialize.js +98 -0
  20. package/build/lib/load.d.ts +6 -0
  21. package/build/lib/load.js +24 -0
  22. package/build/lib/parameterize.d.ts +5 -0
  23. package/build/lib/parameterize.js +49 -0
  24. package/build/models/export-csv.d.ts +2 -0
  25. package/build/models/export-csv.js +129 -0
  26. package/build/models/export-log.d.ts +4 -0
  27. package/build/models/export-log.js +18 -0
  28. package/build/models/export-yaml.d.ts +4 -0
  29. package/build/models/export-yaml.js +24 -0
  30. package/build/models/group-by.d.ts +11 -0
  31. package/build/models/group-by.js +56 -0
  32. package/build/models/index.d.ts +2 -1
  33. package/build/models/index.js +5 -3
  34. package/build/models/time-sync.d.ts +2 -57
  35. package/build/models/time-sync.js +204 -158
  36. package/build/types/aggregation.js +5 -0
  37. package/build/types/compute.d.ts +25 -0
  38. package/build/types/compute.js +3 -0
  39. package/build/types/exhaust-plugin-interface.d.ts +7 -0
  40. package/build/types/exhaust-plugin-interface.js +3 -0
  41. package/build/types/group-by.d.ts +3 -0
  42. package/build/types/group-by.js +3 -0
  43. package/build/types/initialize.d.ts +4 -0
  44. package/build/types/initialize.js +3 -0
  45. package/build/types/interface.d.ts +8 -0
  46. package/build/types/interface.js +3 -0
  47. package/build/types/load.d.ts +7 -0
  48. package/build/types/load.js +3 -0
  49. package/build/types/manifest.d.ts +40 -0
  50. package/build/types/manifest.js +3 -0
  51. package/build/types/parameters.d.ts +4 -5
  52. package/build/types/parameters.js +1 -1
  53. package/build/types/process-args.d.ts +3 -5
  54. package/build/types/process-args.js +1 -1
  55. package/build/types/time-sync.d.ts +9 -2
  56. package/build/types/time-sync.js +1 -1
  57. package/build/util/aggregation-helper.d.ts +6 -0
  58. package/build/util/aggregation-helper.js +56 -0
  59. package/build/util/args.d.ts +6 -3
  60. package/build/util/args.js +21 -17
  61. package/build/util/errors.d.ts +1 -1
  62. package/build/util/errors.js +8 -4
  63. package/build/util/helpers.d.ts +4 -0
  64. package/build/util/helpers.js +23 -4
  65. package/build/util/json.d.ts +4 -0
  66. package/build/util/json.js +16 -0
  67. package/build/util/logger.d.ts +5 -0
  68. package/build/util/logger.js +40 -0
  69. package/build/util/validations.d.ts +22 -19
  70. package/build/util/validations.js +41 -34
  71. package/examples/{impls/test → manifests}/azure-importer.yml +8 -8
  72. package/examples/manifests/basic-demo.yml +75 -0
  73. package/examples/manifests/basic.yml +27 -0
  74. package/examples/manifests/boavizta-pipeline.yml +85 -0
  75. package/examples/{impls/test → manifests}/boavizta.yml +11 -12
  76. package/examples/{impls/test → manifests}/ccf.yml +9 -10
  77. package/examples/manifests/cim.yml +20 -0
  78. package/examples/manifests/cloud-metadata.yml +41 -0
  79. package/examples/manifests/co2js.yml +30 -0
  80. package/examples/manifests/coefficient.yml +23 -0
  81. package/examples/manifests/csv-export.yml +34 -0
  82. package/examples/manifests/e-mem.yml +21 -0
  83. package/examples/{impls/test → manifests}/e-net.yml +9 -8
  84. package/examples/manifests/generics.yml +71 -0
  85. package/examples/manifests/group-by.yml +48 -0
  86. package/examples/manifests/mock-observation.yml +33 -0
  87. package/examples/manifests/multiply.yml +23 -0
  88. package/examples/manifests/nesting-demo.yml +89 -0
  89. package/examples/manifests/nesting.yml +215 -0
  90. package/examples/manifests/pipeline-demo-1.yml +85 -0
  91. package/examples/manifests/pipeline-demo-2.yml +149 -0
  92. package/examples/manifests/pipeline-demo.yml +128 -0
  93. package/examples/manifests/pipeline-teads-sci.yml +82 -0
  94. package/examples/manifests/pipeline-with-generics.yml +147 -0
  95. package/examples/manifests/pipeline-with-mocks.yml +146 -0
  96. package/examples/{impls/test → manifests}/sci-e.yml +6 -8
  97. package/examples/manifests/sci-m.yml +23 -0
  98. package/examples/{impls/test → manifests}/sci-o.yml +10 -10
  99. package/examples/{impls/test → manifests}/sci.yml +10 -9
  100. package/examples/manifests/shell.yml +20 -0
  101. package/examples/manifests/sum.yml +23 -0
  102. package/examples/{impls/test → manifests}/tdp-finder.yml +6 -7
  103. package/examples/manifests/teads-aws.yml +22 -0
  104. package/examples/manifests/teads-curve.yml +20 -0
  105. package/examples/manifests/time-sync.yml +32 -0
  106. package/examples/manifests/watt-time.yml +42 -0
  107. package/jest.config.js +6 -1
  108. package/package.json +13 -8
  109. package/src/__tests__/integration/templates/integration.yaml +16 -0
  110. package/src/models/README.md +6 -6
  111. package/tsconfig.test.json +1 -1
  112. package/Makefile +0 -16
  113. package/build/lib/aggregator.d.ts +0 -7
  114. package/build/lib/aggregator.js +0 -46
  115. package/build/lib/models-universe.d.ts +0 -40
  116. package/build/lib/models-universe.js +0 -145
  117. package/build/lib/observatory.d.ts +0 -20
  118. package/build/lib/observatory.js +0 -31
  119. package/build/lib/supercomputer.d.ts +0 -39
  120. package/build/lib/supercomputer.js +0 -116
  121. package/build/types/aggregator.js +0 -5
  122. package/build/types/impl.d.ts +0 -92
  123. package/build/types/impl.js +0 -19
  124. package/build/types/model-interface.d.ts +0 -13
  125. package/build/types/model-interface.js +0 -3
  126. package/build/types/models-universe.d.ts +0 -20
  127. package/build/types/models-universe.js +0 -3
  128. package/build/types/supercomputer.d.ts +0 -4
  129. package/build/types/supercomputer.js +0 -3
  130. package/build/util/param-selectors.d.ts +0 -5
  131. package/build/util/param-selectors.js +0 -14
  132. package/examples/impls/case-studies/accenture.yml +0 -155
  133. package/examples/impls/case-studies/aggregation.yml +0 -97
  134. package/examples/impls/case-studies/aveva.yaml +0 -48
  135. package/examples/impls/case-studies/azure-yassine.yaml +0 -67
  136. package/examples/impls/case-studies/boavizta.yml +0 -26
  137. package/examples/impls/case-studies/dow_msft.yml +0 -173
  138. package/examples/impls/case-studies/farm-insights.yaml +0 -35
  139. package/examples/impls/case-studies/gsf-website.yaml +0 -93
  140. package/examples/impls/case-studies/msft-eshoppen.yaml +0 -162
  141. package/examples/impls/case-studies/msft-green-ai.yaml +0 -58
  142. package/examples/impls/case-studies/ntt-data-on-premise.yaml +0 -201
  143. package/examples/impls/test/aggregation-test.yml +0 -109
  144. package/examples/impls/test/aggregation-test2.yml +0 -52
  145. package/examples/impls/test/cim.yml +0 -19
  146. package/examples/impls/test/e-mem.yml +0 -19
  147. package/examples/impls/test/if-demo.yml +0 -59
  148. package/examples/impls/test/large-impl.yml +0 -257303
  149. package/examples/impls/test/metadata.yml +0 -21
  150. package/examples/impls/test/nesting.yml +0 -113
  151. package/examples/impls/test/new-params-test.yml +0 -35
  152. package/examples/impls/test/sci-m.yml +0 -24
  153. package/examples/impls/test/shell.yml +0 -19
  154. package/examples/impls/test/teads-cpu.yml +0 -18
  155. package/examples/impls/test/time-sync-avoid-padding.yml +0 -50
  156. package/examples/impls/test/time-sync.yml +0 -76
  157. package/examples/ompls/aggregation-test.yml +0 -340
  158. package/examples/ompls/aggregation-test2.yml +0 -83
  159. package/examples/ompls/azure-importer.yml +0 -145
  160. package/examples/ompls/boavizta.yml +0 -32
  161. package/examples/ompls/ccf.yml +0 -29
  162. package/examples/ompls/cim.yml +0 -29
  163. package/examples/ompls/complex-pipeline.yml +0 -105
  164. package/examples/ompls/e-mem.yml +0 -26
  165. package/examples/ompls/full-sci.yml +0 -64
  166. package/examples/ompls/if-demo.yml +0 -517
  167. package/examples/ompls/metadata.yml +0 -29
  168. package/examples/ompls/nesting.yml +0 -113
  169. package/examples/ompls/sci-e.yml +0 -23
  170. package/examples/ompls/sci-m.yml +0 -33
  171. package/examples/ompls/sci-o.yml +0 -29
  172. package/examples/ompls/sci.yml +0 -37
  173. package/examples/ompls/shell.yml +0 -23
  174. package/examples/ompls/teads-cpu.yml +0 -24
  175. package/examples/ompls/time-sync.yml +0 -212
  176. /package/build/types/{aggregator.d.ts → aggregation.d.ts} +0 -0
@@ -0,0 +1,71 @@
1
+ name: generic-arithmetic-demo
2
+ description:
3
+ tags:
4
+ initialize:
5
+ plugins:
6
+ teads-curve:
7
+ path: '@grnsft/if-unofficial-plugins'
8
+ method: TeadsCurve
9
+ global-config:
10
+ interpolation: spline
11
+ "sum":
12
+ path: "@grnsft/if-plugins"
13
+ method: Sum
14
+ global-config:
15
+ input-parameters:
16
+ - cpu/energy
17
+ - network/energy
18
+ output-parameter: energy-sum
19
+ "coefficient":
20
+ path: "@grnsft/if-plugins"
21
+ method: Coefficient
22
+ global-config:
23
+ input-parameter: energy
24
+ coefficient: 2
25
+ output-parameter: energy-doubled
26
+ "multiply":
27
+ path: '@grnsft/if-plugins'
28
+ method: Multiply
29
+ global-config:
30
+ input-parameters: ['cpu/utilization', 'duration']
31
+ output-parameter: 'cpu-times-duration'
32
+ tree:
33
+ children:
34
+ child-1:
35
+ pipeline:
36
+ - teads-curve
37
+ - sum
38
+ - coefficient
39
+ - multiply
40
+ config:
41
+ defaults:
42
+ cpu/thermal-design-power: 100
43
+ inputs:
44
+ - timestamp: "2023-12-12T00:00:00.000Z"
45
+ instance-type: A1
46
+ region: uk-west
47
+ duration: 1
48
+ cpu/utilization: 50
49
+ network/energy: 10
50
+ energy: 5
51
+ - timestamp: "2023-12-12T00:00:01.000Z"
52
+ duration: 5
53
+ cpu/utilization: 20
54
+ instance-type: A1
55
+ region: uk-west
56
+ network/energy: 10
57
+ energy: 5
58
+ - timestamp: "2023-12-12T00:00:06.000Z"
59
+ duration: 7
60
+ cpu/utilization: 15
61
+ instance-type: A1
62
+ region: uk-west
63
+ network/energy: 10
64
+ energy: 5
65
+ - timestamp: "2023-12-12T00:00:13.000Z"
66
+ duration: 30
67
+ instance-type: A1
68
+ region: uk-west
69
+ cpu/utilization: 15
70
+ network/energy: 10
71
+ energy: 5
@@ -0,0 +1,48 @@
1
+ name: groupby-demo
2
+ description: demo pipeline
3
+ initialize:
4
+ plugins:
5
+ group-by:
6
+ path: 'builtin'
7
+ method: GroupBy
8
+ tree:
9
+ children:
10
+ my-app:
11
+ pipeline:
12
+ - group-by
13
+ config:
14
+ group-by:
15
+ group:
16
+ - region
17
+ - instance-type
18
+ inputs:
19
+ - timestamp: 2023-07-06T00:00
20
+ duration: 300
21
+ instance-type: A1
22
+ region: uk-west
23
+ cpu-util: 99
24
+ - timestamp: 2023-07-06T05:00
25
+ duration: 300
26
+ instance-type: A1
27
+ region: uk-west
28
+ cpu-util: 23
29
+ - timestamp: 2023-07-06T10:00
30
+ duration: 300
31
+ instance-type: A1
32
+ region: uk-west
33
+ cpu-util: 12
34
+ - timestamp: 2023-07-06T00:00 # note this time restarts at the start timstamp
35
+ duration: 300
36
+ instance-type: B1
37
+ region: uk-west
38
+ cpu-util: 11
39
+ - timestamp: 2023-07-06T05:00
40
+ duration: 300
41
+ instance-type: B1
42
+ region: uk-west
43
+ cpu-util: 67
44
+ - timestamp: 2023-07-06T10:00
45
+ duration: 300
46
+ instance-type: B1
47
+ region: uk-west
48
+ cpu-util: 1
@@ -0,0 +1,33 @@
1
+ name: mock-observation-demo
2
+ description: example invoking mock-observation plugin
3
+ tags:
4
+ initialize:
5
+ plugins:
6
+ mock-observations:
7
+ kind: plugin
8
+ method: MockObservations
9
+ path: "@grnsft/if-plugins"
10
+ global-config:
11
+ timestamp-from: 2023-07-06T00:00
12
+ timestamp-to: 2023-07-06T00:10
13
+ duration: 60
14
+ components:
15
+ - instance-type: A1
16
+ - instance-type: B1
17
+ generators:
18
+ common:
19
+ region: uk-west
20
+ common-key: common-val
21
+ randint:
22
+ cpu/utilization:
23
+ min: 1
24
+ max: 99
25
+ memory/utilization:
26
+ min: 1
27
+ max: 99
28
+ tree:
29
+ children:
30
+ child:
31
+ pipeline:
32
+ - mock-observations
33
+ inputs:
@@ -0,0 +1,23 @@
1
+ name: multiply-demo
2
+ description:
3
+ tags:
4
+ initialize:
5
+ plugins:
6
+ multiply:
7
+ method: Multiply
8
+ path: "@grnsft/if-plugins"
9
+ global-config:
10
+ input-parameters: ["cpu/energy", "network/energy"]
11
+ output-parameter: "energy-product"
12
+ tree:
13
+ children:
14
+ child:
15
+ pipeline:
16
+ - multiply
17
+ config:
18
+ sum:
19
+ inputs:
20
+ - timestamp: 2023-08-06T00:00
21
+ duration: 3600
22
+ cpu/energy: 0.001
23
+ network/energy: 0.002
@@ -0,0 +1,89 @@
1
+ name: nesting-demo
2
+ description: null
3
+ tags:
4
+ kind: web
5
+ complexity: moderate
6
+ category: on-premise
7
+ params:
8
+ aggregation:
9
+ type: vertical
10
+ metrics:
11
+ - "energy"
12
+ initialize:
13
+ plugins:
14
+ teads-curve:
15
+ path: "@grnsft/if-unofficial-plugins"
16
+ method: TeadsCurve
17
+ global-config:
18
+ interpolation: spline
19
+ sci-e:
20
+ path: "@grnsft/if-plugins"
21
+ method: SciE
22
+ sci-m:
23
+ path: "@grnsft/if-plugins"
24
+ method: SciM
25
+ sci-o:
26
+ path: "@grnsft/if-plugins"
27
+ method: SciO
28
+ "time-sync":
29
+ method: TimeSync
30
+ path: "builtin"
31
+ global-config:
32
+ start-time: "2023-12-12T00:00:00.000Z"
33
+ end-time: "2023-12-12T00:01:00.000Z"
34
+ interval: 5
35
+ allow-padding: true
36
+ sci:
37
+ path: "@grnsft/if-plugins"
38
+ method: Sci
39
+ global-config:
40
+ functional-unit: "requests"
41
+ functional-unit-time: "1 minute"
42
+ tree:
43
+ children:
44
+ child-0:
45
+ defaults:
46
+ cpu/thermal-design-power: 100
47
+ grid/carbon-intensity: 800
48
+ device/emissions-embodied: 1533.120 # gCO2eq
49
+ time-reserved: 3600 # 1hr in seconds
50
+ device/expected-lifespan: 94608000 # 3 years in seconds
51
+ resources-reserved: 1
52
+ resources-total: 8
53
+ functional-unit-time: "1 min"
54
+ pipeline:
55
+ - teads-curve
56
+ - sci-e
57
+ - sci-m
58
+ - sci-o
59
+ - time-sync
60
+ - sci
61
+ inputs:
62
+ - timestamp: 2023-12-12T00:00
63
+ duration: 10
64
+ cpu/utilization: 50
65
+ network/energy: 1
66
+ energy: 1
67
+ child-1:
68
+ defaults:
69
+ cpu/thermal-design-power: 100
70
+ grid/carbon-intensity: 800
71
+ device/emissions-embodied: 1533.120 # gCO2eq
72
+ time-reserved: 3600 # 1hr in seconds
73
+ device/expected-lifespan: 94608000 # 3 years in seconds
74
+ resources-reserved: 1
75
+ resources-total: 8
76
+ functional-unit-time: "1 min"
77
+ pipeline:
78
+ - teads-curve
79
+ - sci-e
80
+ - sci-m
81
+ - sci-o
82
+ - time-sync
83
+ - sci
84
+ inputs:
85
+ - timestamp: 2023-12-12T00:00
86
+ duration: 10
87
+ cpu/utilization: 30
88
+ network/energy: 1
89
+ energy: 1
@@ -0,0 +1,215 @@
1
+ name: nesting-demo
2
+ description: null
3
+ tags:
4
+ kind: web
5
+ complexity: moderate
6
+ category: on-premise
7
+ aggregation:
8
+ metrics:
9
+ - "carbon"
10
+ - "energy"
11
+ type: "both"
12
+ params:
13
+ initialize:
14
+ plugins:
15
+ teads-curve:
16
+ path: "@grnsft/if-unofficial-plugins"
17
+ method: TeadsCurve
18
+ global-config:
19
+ interpolation: spline
20
+ sum:
21
+ path: "@grnsft/if-plugins"
22
+ method: Sum
23
+ global-config:
24
+ input-parameters:
25
+ - cpu/energy
26
+ - network/energy
27
+ output-parameter: energy
28
+ sci-m:
29
+ path: "@grnsft/if-plugins"
30
+ method: SciM
31
+ sci-o:
32
+ path: "@grnsft/if-plugins"
33
+ method: SciO
34
+ sci:
35
+ path: "@grnsft/if-plugins"
36
+ method: Sci
37
+ global-config:
38
+ functional-unit: "requests"
39
+ functional-unit-time: "1 minute"
40
+ time-sync:
41
+ method: TimeSync
42
+ path: "builtin"
43
+ global-config:
44
+ start-time: "2023-12-12T00:00:00.000Z"
45
+ end-time: "2023-12-12T00:01:00.000Z"
46
+ interval: 5
47
+ allow-padding: true
48
+ tree:
49
+ children:
50
+ child-0:
51
+ defaults:
52
+ cpu/thermal-design-power: 100
53
+ grid/carbon-intensity: 800
54
+ device/emissions-embodied: 1533.120 # gCO2eq
55
+ time-reserved: 3600 # 1hr in seconds
56
+ device/expected-lifespan: 94608000 # 3 years in seconds
57
+ resources-reserved: 1
58
+ resources-total: 8
59
+ pipeline:
60
+ - teads-curve
61
+ - sum
62
+ - sci-m
63
+ - sci-o
64
+ - time-sync
65
+ - sci
66
+ inputs:
67
+ - timestamp: "2023-12-12T00:00:00.000Z"
68
+ instance-type: A1
69
+ region: uk-west
70
+ duration: 1
71
+ cpu/utilization: 50
72
+ network/energy: 0.000001
73
+ - timestamp: "2023-12-12T00:00:01.000Z"
74
+ duration: 5
75
+ cpu/utilization: 20
76
+ instance-type: A1
77
+ region: uk-west
78
+ network/energy: 0.000001
79
+ - timestamp: "2023-12-12T00:00:06.000Z"
80
+ duration: 7
81
+ cpu/utilization: 15
82
+ instance-type: A1
83
+ region: uk-west
84
+ network/energy: 0.000001
85
+ - timestamp: "2023-12-12T00:00:13.000Z"
86
+ duration: 30
87
+ instance-type: A1
88
+ region: uk-west
89
+ cpu/utilization: 15
90
+ network/energy: 0.000001
91
+ child-1:
92
+ defaults:
93
+ cpu/thermal-design-power: 100
94
+ grid/carbon-intensity: 800
95
+ device/emissions-embodied: 1533.120 # gCO2eq
96
+ time-reserved: 3600 # 1hr in seconds
97
+ device/expected-lifespan: 94608000 # 3 years in seconds
98
+ resources-reserved: 1
99
+ resources-total: 8
100
+ pipeline:
101
+ - teads-curve
102
+ - sum
103
+ - sci-m
104
+ - sci-o
105
+ - time-sync
106
+ - sci
107
+ inputs:
108
+ - timestamp: "2023-12-12T00:00:00.000Z"
109
+ instance-type: A1
110
+ region: uk-west
111
+ duration: 1
112
+ cpu/utilization: 50
113
+ network/energy: 0.000001
114
+ - timestamp: "2023-12-12T00:00:01.000Z"
115
+ duration: 5
116
+ cpu/utilization: 20
117
+ instance-type: A1
118
+ region: uk-west
119
+ network/energy: 0.000001
120
+ - timestamp: "2023-12-12T00:00:06.000Z"
121
+ duration: 7
122
+ cpu/utilization: 15
123
+ instance-type: A1
124
+ region: uk-west
125
+ network/energy: 0.000001
126
+ - timestamp: "2023-12-12T00:00:13.000Z"
127
+ duration: 30
128
+ instance-type: A1
129
+ region: uk-west
130
+ cpu/utilization: 15
131
+ network/energy: 0.000001
132
+ child-2:
133
+ children:
134
+ child-2-0:
135
+ defaults:
136
+ cpu/thermal-design-power: 100
137
+ grid/carbon-intensity: 800
138
+ device/emissions-embodied: 1533.120 # gCO2eq
139
+ time-reserved: 3600 # 1hr in seconds
140
+ device/expected-lifespan: 94608000 # 3 years in seconds
141
+ resources-reserved: 1
142
+ resources-total: 8
143
+ pipeline:
144
+ - teads-curve
145
+ - sum
146
+ - sci-m
147
+ - sci-o
148
+ - time-sync
149
+ - sci
150
+ inputs:
151
+ - timestamp: "2023-12-12T00:00:00.000Z"
152
+ instance-type: A1
153
+ region: uk-west
154
+ duration: 1
155
+ cpu/utilization: 50
156
+ network/energy: 0.000001
157
+ - timestamp: "2023-12-12T00:00:01.000Z"
158
+ duration: 5
159
+ cpu/utilization: 20
160
+ instance-type: A1
161
+ region: uk-west
162
+ network/energy: 0.000001
163
+ - timestamp: "2023-12-12T00:00:06.000Z"
164
+ duration: 7
165
+ cpu/utilization: 15
166
+ instance-type: A1
167
+ region: uk-west
168
+ network/energy: 0.000001
169
+ - timestamp: "2023-12-12T00:00:13.000Z"
170
+ duration: 30
171
+ instance-type: A1
172
+ region: uk-west
173
+ cpu/utilization: 15
174
+ network/energy: 0.000001
175
+ child-2-1:
176
+ defaults:
177
+ cpu/thermal-design-power: 100
178
+ grid/carbon-intensity: 800
179
+ device/emissions-embodied: 1533.120 # gCO2eq
180
+ time-reserved: 3600 # 1hr in seconds
181
+ device/expected-lifespan: 94608000 # 3 years in seconds
182
+ resources-reserved: 1
183
+ resources-total: 8
184
+ pipeline:
185
+ - teads-curve
186
+ - sum
187
+ - sci-m
188
+ - sci-o
189
+ - time-sync
190
+ - sci
191
+ inputs:
192
+ - timestamp: "2023-12-12T00:00:00.000Z"
193
+ instance-type: A1
194
+ region: uk-west
195
+ duration: 1
196
+ cpu/utilization: 50
197
+ network/energy: 0.000001
198
+ - timestamp: "2023-12-12T00:00:01.000Z"
199
+ duration: 5
200
+ cpu/utilization: 20
201
+ instance-type: A1
202
+ region: uk-west
203
+ network/energy: 0.000001
204
+ - timestamp: "2023-12-12T00:00:06.000Z"
205
+ duration: 7
206
+ cpu/utilization: 15
207
+ instance-type: A1
208
+ region: uk-west
209
+ network/energy: 0.000001
210
+ - timestamp: "2023-12-12T00:00:13.000Z"
211
+ duration: 30
212
+ instance-type: A1
213
+ region: uk-west
214
+ cpu/utilization: 15
215
+ network/energy: 0.000001
@@ -0,0 +1,85 @@
1
+ name: pipeline-demo
2
+ description:
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
+ "sum":
13
+ path: "@grnsft/if-plugins"
14
+ method: Sum
15
+ global-config:
16
+ input-parameters:
17
+ - cpu/energy
18
+ - network/energy
19
+ output-parameter: energy
20
+ "sci-m":
21
+ path: "@grnsft/if-plugins"
22
+ method: SciM
23
+ "sci-o":
24
+ path: "@grnsft/if-plugins"
25
+ method: SciO
26
+ "sci":
27
+ path: "@grnsft/if-plugins"
28
+ method: Sci
29
+ global-config:
30
+ functional-unit: ""
31
+ functional-unit-time: "1-day"
32
+ "time-sync":
33
+ method: TimeSync
34
+ path: "builtin"
35
+ global-config:
36
+ start-time: "2023-12-12T00:00:00.000Z"
37
+ end-time: "2023-12-12T00:01:00.000Z"
38
+ interval: 5
39
+ allow-padding: true
40
+ tree:
41
+ children:
42
+ child-1:
43
+ pipeline:
44
+ - boavizta-cpu
45
+ - sum
46
+ - sci-m
47
+ - sci-o
48
+ - time-sync
49
+ - sci
50
+ config:
51
+ defaults:
52
+ cpu/thermal-design-power: 100
53
+ grid/carbon-intensity: 800
54
+ device/emissions-embodied: 1533.120 # gCO2eq
55
+ time-reserved: 3600 # 1hr in seconds
56
+ device/expected-lifespan: 94608000 # 3 years in seconds
57
+ resources-reserved: 1
58
+ resources-total: 8
59
+ cpu/number-cores: 24
60
+ cpu/name: Intel® Core™ i7-1185G7
61
+ inputs:
62
+ - timestamp: "2023-12-12T00:00:00.000Z"
63
+ instance-type: A1
64
+ region: uk-west
65
+ duration: 1
66
+ cpu/utilization: 50
67
+ network/energy: 0.000001
68
+ - timestamp: "2023-12-12T00:00:01.000Z"
69
+ duration: 5
70
+ cpu/utilization: 20
71
+ instance-type: A1
72
+ region: uk-west
73
+ network/energy: 0.000001
74
+ - timestamp: "2023-12-12T00:00:06.000Z"
75
+ duration: 7
76
+ cpu/utilization: 15
77
+ instance-type: A1
78
+ region: uk-west
79
+ network/energy: 0.000001
80
+ - timestamp: "2023-12-12T00:00:13.000Z"
81
+ duration: 30
82
+ instance-type: A1
83
+ region: uk-west
84
+ cpu/utilization: 15
85
+ network/energy: 0.000001