@grnsft/if 0.1.1 → 0.1.3-beta

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 (90) hide show
  1. package/.github/ISSUE_TEMPLATE/agenda.md +4 -3
  2. package/.github/ISSUE_TEMPLATE/bug-report.md +32 -0
  3. package/.github/ISSUE_TEMPLATE/dev-ticket.md +44 -0
  4. package/.github/ISSUE_TEMPLATE/sprint-planning.md +39 -0
  5. package/.github/ISSUE_TEMPLATE/sprint-retro.md +41 -0
  6. package/CONTRIBUTING.md +13 -17
  7. package/README.md +36 -18
  8. package/build/config/config.d.ts +12 -0
  9. package/build/config/config.js +54 -0
  10. package/build/config/strings.d.ts +8 -3
  11. package/build/config/strings.js +10 -6
  12. package/build/index.js +15 -8
  13. package/build/lib/models-universe.d.ts +10 -2
  14. package/build/lib/models-universe.js +52 -34
  15. package/build/lib/observatory.d.ts +20 -0
  16. package/build/lib/observatory.js +31 -0
  17. package/build/lib/planet-aggregator.d.ts +6 -0
  18. package/build/lib/planet-aggregator.js +35 -0
  19. package/build/lib/supercomputer.d.ts +7 -0
  20. package/build/lib/supercomputer.js +45 -6
  21. package/build/models/index.d.ts +1 -0
  22. package/build/models/index.js +6 -0
  23. package/build/models/time-sync.d.ts +55 -0
  24. package/build/models/time-sync.js +235 -0
  25. package/build/types/helpers.d.ts +1 -0
  26. package/build/types/helpers.js +3 -0
  27. package/build/types/impl.d.ts +14 -9
  28. package/build/types/impl.js +3 -1
  29. package/build/types/model-interface.d.ts +14 -0
  30. package/build/types/model-interface.js +3 -0
  31. package/build/types/models-universe.d.ts +5 -6
  32. package/build/types/models-universe.js +1 -1
  33. package/build/types/planet-aggregator.d.ts +6 -0
  34. package/build/types/planet-aggregator.js +3 -0
  35. package/build/types/process-args.d.ts +7 -0
  36. package/build/types/process-args.js +3 -0
  37. package/build/types/supercomputer.d.ts +4 -0
  38. package/build/types/supercomputer.js +3 -0
  39. package/build/types/time-sync.d.ts +9 -0
  40. package/build/types/time-sync.js +3 -0
  41. package/build/types/units-dealer.d.ts +3 -0
  42. package/build/types/units-dealer.js +3 -0
  43. package/build/types/units.d.ts +11 -0
  44. package/build/types/units.js +37 -0
  45. package/build/util/args.js +58 -0
  46. package/build/util/errors.d.ts +6 -0
  47. package/build/util/errors.js +25 -0
  48. package/build/util/helpers.js +18 -0
  49. package/build/util/units-dealer.d.ts +10 -0
  50. package/build/util/units-dealer.js +32 -0
  51. package/build/util/validations.d.ts +4 -0
  52. package/build/util/validations.js +29 -1
  53. package/build/util/yaml.d.ts +1 -2
  54. package/build/util/yaml.js +1 -1
  55. package/coverage/clover.xml +165 -114
  56. package/coverage/coverage-final.json +10 -9
  57. package/coverage/lcov-report/config/config.ts.html +12 -3
  58. package/coverage/lcov-report/config/index.html +17 -17
  59. package/coverage/lcov-report/config/index.ts.html +3 -3
  60. package/coverage/lcov-report/config/strings.ts.html +26 -20
  61. package/coverage/lcov-report/index.html +33 -33
  62. package/coverage/lcov-report/lib/index.html +41 -26
  63. package/coverage/lcov-report/lib/models-universe.ts.html +82 -40
  64. package/coverage/lcov-report/lib/observatory.ts.html +7 -7
  65. package/coverage/lcov-report/lib/planet-aggregator.ts.html +253 -0
  66. package/coverage/lcov-report/lib/supercomputer.ts.html +217 -58
  67. package/coverage/lcov-report/util/args.ts.html +11 -11
  68. package/coverage/lcov-report/util/errors.ts.html +10 -7
  69. package/coverage/lcov-report/util/index.html +11 -11
  70. package/coverage/lcov-report/util/yaml.ts.html +6 -6
  71. package/coverage/lcov.info +273 -185
  72. package/examples/impls/case-studies/aggregation.yml +97 -0
  73. package/examples/impls/test/aggregation-test.yml +109 -0
  74. package/examples/impls/test/large-impl.yml +257303 -0
  75. package/examples/impls/test/sci.yml +13 -37
  76. package/examples/impls/test/time-sync.yml +75 -0
  77. package/examples/ompls/aggregation-test.yml +340 -0
  78. package/examples/ompls/test/time-sync.yml +255 -0
  79. package/examples/ompls/time-sync.yml +212 -0
  80. package/hack-banner.png +0 -0
  81. package/package.json +3 -1
  82. package/src/config/units.yaml +11 -24
  83. package/src/models/README.md +266 -0
  84. package/tsconfig.build.tsbuildinfo +1 -1
  85. package/build/types/azure-importer.d.ts +0 -29
  86. package/build/types/azure-importer.js +0 -3
  87. package/build/types/boavizta.d.ts +0 -7
  88. package/build/types/boavizta.js +0 -3
  89. package/build/types/common.d.ts +0 -7
  90. package/build/types/common.js +0 -9
@@ -0,0 +1,97 @@
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
@@ -0,0 +1,109 @@
1
+ name: nesting-demo
2
+ description:
3
+ aggregation:
4
+ aggregation-metrics: ['carbon', 'energy']
5
+ aggregation-method: 'sum'
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: 10
57
+ e-net: 0.000811 #kwh
58
+ requests: 380
59
+ - timestamp: 2023-07-06T00:10
60
+ duration: 10
61
+ cpu-util: 10
62
+ e-net: 0.000811 #kwh
63
+ requests: 380
64
+ - timestamp: 2023-07-06T00:20
65
+ duration: 10
66
+ cpu-util: 10
67
+ e-net: 0.000811 #kwh
68
+ requests: 380
69
+ - timestamp: 2023-07-06T00:30
70
+ duration: 10
71
+ cpu-util: 10
72
+ e-net: 0.000811 #kwh
73
+ requests: 380
74
+ child-2:
75
+ inputs:
76
+ - timestamp: 2023-07-06T00:00
77
+ duration: 10
78
+ cpu-util: 20
79
+ e-net: 0.000811 #kwh
80
+ requests: 380
81
+ - timestamp: 2023-07-06T00:10
82
+ duration: 10
83
+ cpu-util: 30
84
+ e-net: 0.000811 #kwh
85
+ requests: 380
86
+ - timestamp: 2023-07-06T00:20
87
+ duration: 10
88
+ cpu-util: 40
89
+ e-net: 0.000811 #kwh
90
+ requests: 380
91
+ - timestamp: 2023-07-06T00:30
92
+ duration: 10
93
+ cpu-util: 50
94
+ e-net: 0.000811 #kwh
95
+ requests: 380
96
+ child-3:
97
+ inputs:
98
+ - timestamp: 2023-07-06T00:00
99
+ duration: 10
100
+ cpu-util: 10
101
+ e-net: 0.000811 #kwh
102
+ requests: 380
103
+ child-4:
104
+ inputs:
105
+ - timestamp: 2023-07-06T00:00
106
+ duration: 10
107
+ cpu-util: 10
108
+ e-net: 0.000811 #kwh
109
+ requests: 380