@grnsft/if 0.3.1 → 0.3.3-beta.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 (115) hide show
  1. package/.commitlintrc.js +3 -0
  2. package/.release-it.json +18 -0
  3. package/CONTRIBUTING.md +82 -1
  4. package/README.md +34 -23
  5. package/build/builtins/export-csv-raw.js +5 -5
  6. package/build/builtins/export-csv.js +17 -7
  7. package/build/builtins/export-log.js +26 -2
  8. package/build/builtins/export-yaml.js +3 -3
  9. package/build/builtins/group-by.js +20 -5
  10. package/build/builtins/time-sync.js +2 -1
  11. package/build/config/config.d.ts +3 -3
  12. package/build/config/config.js +23 -27
  13. package/build/config/strings.d.ts +1 -0
  14. package/build/config/strings.js +9 -5
  15. package/build/index.js +24 -15
  16. package/build/lib/compute.js +8 -8
  17. package/build/lib/environment.d.ts +5 -0
  18. package/build/lib/environment.js +69 -0
  19. package/build/lib/exhaust.d.ts +2 -1
  20. package/build/lib/exhaust.js +11 -9
  21. package/build/lib/initialize.d.ts +2 -2
  22. package/build/lib/initialize.js +5 -5
  23. package/build/lib/load.d.ts +1 -29
  24. package/build/lib/load.js +6 -7
  25. package/build/lib/parameterize.d.ts +2 -1
  26. package/build/lib/parameterize.js +4 -4
  27. package/build/types/compute.d.ts +2 -2
  28. package/build/types/compute.js +1 -1
  29. package/build/types/environment.d.ts +18 -0
  30. package/build/types/environment.js +3 -0
  31. package/build/types/manifest.d.ts +1 -0
  32. package/build/types/manifest.js +1 -1
  33. package/build/types/process-args.d.ts +13 -1
  34. package/build/types/process-args.js +1 -1
  35. package/build/util/aggregation-helper.js +4 -4
  36. package/build/util/args.d.ts +3 -5
  37. package/build/util/args.js +14 -10
  38. package/build/util/errors.d.ts +1 -1
  39. package/build/util/errors.js +4 -5
  40. package/build/util/helpers.d.ts +8 -2
  41. package/build/util/helpers.js +19 -15
  42. package/build/util/os-checker.d.ts +7 -0
  43. package/build/util/os-checker.js +97 -0
  44. package/build/util/validations.d.ts +90 -4
  45. package/build/util/validations.js +14 -2
  46. package/github-processes.md +168 -0
  47. package/{examples/manifests/pipeline-demo-2.yml → manifests/bugs/aggregation-error-wrong-metric.yml} +18 -39
  48. package/manifests/bugs/azure-importer-ignoring-defaults.yml +61 -0
  49. package/manifests/bugs/azure-importer-incorrect-calculation.yml +56 -0
  50. package/manifests/bugs/initialize-error-no-config.yml +27 -0
  51. package/manifests/bugs/initialize-error-no-path.yml +28 -0
  52. package/manifests/bugs/initialize-error-no-plugins.yml +23 -0
  53. package/manifests/bugs/input-error-missing-duration.yml +21 -0
  54. package/manifests/bugs/pipeline-error-naming-mismatch.yml +28 -0
  55. package/manifests/bugs/pipeline-error-uninitialized-plugin.yml +29 -0
  56. package/{examples/manifests/pipeline-teads-sci.yml → manifests/bugs/pipeline-ordering-error.yml} +15 -15
  57. package/{examples/manifests → manifests/examples}/basic.yml +3 -2
  58. package/{examples/manifests → manifests/examples}/generics.yml +16 -16
  59. package/{examples/manifests/asim-demo.yml → manifests/examples/mock-cpu-util-to-carbon.yml} +3 -7
  60. package/{examples/manifests → manifests/examples}/nesting.yml +19 -18
  61. package/{examples/manifests/pipeline-demo-1.yml → manifests/examples/pipeline-teads-sci.yml} +10 -13
  62. package/{examples/manifests/pipeline-demo.yml → manifests/examples/pipeline-with-aggregate.yml} +12 -12
  63. package/{examples/manifests → manifests/examples}/pipeline-with-mocks.yml +26 -25
  64. package/manifests/features/aggregate-horizontal.yml +44 -0
  65. package/manifests/features/aggregate-vertical.yml +44 -0
  66. package/manifests/features/aggregate.yml +44 -0
  67. package/manifests/integrations/mock-obs-groupby.yml +39 -0
  68. package/manifests/integrations/mock-obs-time-sync.yml +65 -0
  69. package/manifests/plugins/cloud-metadata/failure-invalid-vendor.yaml +21 -0
  70. package/{examples/manifests/cim.yml → manifests/plugins/cloud-metadata/success.yml} +3 -2
  71. package/manifests/plugins/coefficient/failure-invalid-config-input-param.yml +24 -0
  72. package/{examples/manifests/coefficient.yml → manifests/plugins/coefficient/success.yml} +2 -1
  73. package/manifests/plugins/divide/failure-invalid-config-denominator.yml +39 -0
  74. package/manifests/plugins/divide/success.yml +39 -0
  75. package/manifests/plugins/groupby/failure-invalid-config-group.yml +47 -0
  76. package/{examples/manifests/group-by.yml → manifests/plugins/groupby/success.yml} +24 -23
  77. package/manifests/plugins/mock-observations/failure-invalid-config-cpu-range.yml +34 -0
  78. package/{examples/manifests/mock-observation.yml → manifests/plugins/mock-observations/success.yml} +2 -1
  79. package/manifests/plugins/multiply/failure-input-parameter-is-missing.yml +24 -0
  80. package/{examples/manifests/multiply.yml → manifests/plugins/multiply/success.yml} +3 -2
  81. package/manifests/plugins/regex/failure-missing-input-param.yml +24 -0
  82. package/{examples/manifests/regex.yml → manifests/plugins/regex/success.yml} +3 -2
  83. package/manifests/plugins/sci/failure-invalid-config-value.yml +28 -0
  84. package/{examples/manifests/sci.yml → manifests/plugins/sci/success.yml} +3 -2
  85. package/manifests/plugins/sci-m/failure-invalid-default-emission-value.yml +24 -0
  86. package/{examples/manifests/sci-m.yml → manifests/plugins/sci-m/success.yml} +2 -1
  87. package/manifests/plugins/shell/failure-invalid-command.yml +21 -0
  88. package/{examples/manifests/shell.yml → manifests/plugins/shell/success.yml} +3 -2
  89. package/manifests/plugins/sum/failure-missing-input-param.yml +24 -0
  90. package/{examples/manifests/sum.yml → manifests/plugins/sum/success.yml} +3 -2
  91. package/manifests/plugins/tdp-finder/failure-missing-input-param.yml +18 -0
  92. package/{examples/manifests/tdp-finder.yml → manifests/plugins/tdp-finder/success.yml} +2 -1
  93. package/manifests/plugins/time-sync/failure-config-start-later-end.yml +34 -0
  94. package/{examples/manifests/time-sync.yml → manifests/plugins/time-sync/success.yml} +4 -2
  95. package/package.json +4 -2
  96. package/src/builtins/README.md +40 -44
  97. package/examples/manifests/azure-importer.yml +0 -24
  98. package/examples/manifests/basic-demo.yml +0 -70
  99. package/examples/manifests/boavizta-cloud.yml +0 -20
  100. package/examples/manifests/boavizta-pipeline.yml +0 -85
  101. package/examples/manifests/boavizta.yml +0 -26
  102. package/examples/manifests/ccf.yml +0 -20
  103. package/examples/manifests/cloud-metadata.yml +0 -41
  104. package/examples/manifests/co2js.yml +0 -30
  105. package/examples/manifests/csv-export.yml +0 -34
  106. package/examples/manifests/e-mem.yml +0 -21
  107. package/examples/manifests/e-net.yml +0 -22
  108. package/examples/manifests/nesting-demo.yml +0 -89
  109. package/examples/manifests/pipeline-with-generics.yml +0 -147
  110. package/examples/manifests/sci-e.yml +0 -19
  111. package/examples/manifests/sci-o.yml +0 -26
  112. package/examples/manifests/teads-aws.yml +0 -22
  113. package/examples/manifests/teads-curve.yml +0 -20
  114. package/examples/manifests/watt-time.yml +0 -42
  115. /package/{examples/manifests/divide.yml → manifests/integrations/cloud-metadata-divide-boavizta.yml} +0 -0
@@ -279,7 +279,6 @@ tree:
279
279
  carbon: 200
280
280
  energy: 200
281
281
  requests: 380
282
-
283
282
  ```
284
283
 
285
284
 
@@ -673,44 +672,43 @@ graph:
673
672
  - teads-curve
674
673
  config:
675
674
  group-by:
676
- - cloud-region
675
+ - cloud/region
677
676
  - instance-type
678
677
  inputs:
679
678
  - timestamp: 2023-07-06T00:00
680
- duration: 300
681
- instance-type: A1
682
- region: uk-west
679
+ duration: 300
680
+ instance-type: A1
681
+ cloud/region: uk-west
683
682
  cpu-util: 99
684
- - timestamp: 2023-07-06T05:00
685
- duration: 300
686
- instance-type: A1
687
- region: uk-west
688
- cpu-util: 23
683
+ - timestamp: 2023-07-06T05:00
684
+ duration: 300
685
+ instance-type: A1
686
+ cloud/region: uk-west
687
+ cpu-util: 23
689
688
  - timestamp: 2023-07-06T10:00
690
689
  duration: 300
691
- instance-type: A1
692
- region: uk-west
690
+ instance-type: A1
691
+ cloud/region: uk-west
693
692
  cpu-util: 12
694
693
  - timestamp: 2023-07-06T00:00 # note this time restarts at the start timstamp
695
694
  duration: 300
696
695
  instance-type: B1
697
- region: uk-west
696
+ cloud/region: uk-west
698
697
  cpu-util: 11
699
- - timestamp: 2023-07-06T05:00
700
- duration: 300
698
+ - timestamp: 2023-07-06T05:00
699
+ duration: 300
701
700
  instance-type: B1
702
- region: uk-west
701
+ cloud/region: uk-west
703
702
  cpu-util: 67
704
703
  - timestamp: 2023-07-06T10:00
705
704
  duration: 300
706
705
  instance-type: B1
707
- region: uk-west
708
- cpu-util: 1
706
+ cloud/region: uk-west
707
+ cpu-util: 1
709
708
  ```
710
709
 
711
710
  However, each observation contains an `instance-type` field that varies between observations. There are two instance types being represented in this array of observations. This means there are duplicate entries for the same timestamp in this array. This is the problem that `group-by` solves. You provide `instance-type` as a key to the `group-by` plugin and it extracts the data belonging to the different instances and separates them into independent arrays. The above example would be restructured so that instance types `A1` and `B1` have their own data, as follows:
712
711
 
713
-
714
712
  ```yaml
715
713
  graph:
716
714
  children:
@@ -721,7 +719,7 @@ graph:
721
719
  config:
722
720
  group-by:
723
721
  groups:
724
- - cloud-region
722
+ - cloud/region
725
723
  - instance-type
726
724
  children:
727
725
  A1:
@@ -729,35 +727,35 @@ graph:
729
727
  - timestamp: 2023-07-06T00:00
730
728
  duration: 300
731
729
  instance-type: A1
732
- region: uk-west
730
+ cloud/region: uk-west
733
731
  cpu-util: 99
734
732
  - timestamp: 2023-07-06T05:00
735
733
  duration: 300
736
734
  instance-type: A1
737
- region: uk-west
735
+ cloud/region: uk-west
738
736
  cpu-util: 23
739
737
  - timestamp: 2023-07-06T10:00
740
738
  duration: 300
741
739
  instance-type: A1
742
- region: uk-west
740
+ cloud/region: uk-west
743
741
  cpu-util: 12
744
742
  B1:
745
743
  inputs:
746
744
  - timestamp: 2023-07-06T00:00
747
745
  duration: 300
748
746
  instance-type: B1
749
- region: uk-east
747
+ cloud/region: uk-east
750
748
  cpu-util: 11
751
749
  - timestamp: 2023-07-06T05:00
752
750
  duration: 300
753
751
  instance-type: B1
754
- region: uk-east
752
+ cloud/region: uk-east
755
753
  cpu-util: 67
756
754
  - timestamp: 2023-07-06T10:00
757
755
  duration: 300
758
756
  instance-type: B1
759
- region: uk-east
760
- cpu-util: 1
757
+ cloud/region: uk-east
758
+ cpu-util: 1
761
759
  ```
762
760
 
763
761
  ### Using `group-by`
@@ -769,9 +767,9 @@ The initialization looks as follows:
769
767
  ```yaml
770
768
  initialize:
771
769
  plugins:
772
- group-by:
773
- path: 'builtin'
774
- method: GroupBy
770
+ group-by:
771
+ path: 'builtin'
772
+ method: GroupBy
775
773
  ```
776
774
 
777
775
  You then have to provide config defining which keys to group by in each component. This is done at the component level (i.e. not global config).
@@ -782,19 +780,18 @@ For example:
782
780
  tree:
783
781
  children:
784
782
  my-app:
785
- pipeline:
783
+ pipeline:
786
784
  - group-by
787
785
  config:
788
786
  group-by:
789
787
  group:
790
- - region
788
+ - cloud/region
791
789
  - instance-type
792
790
  ```
793
791
 
794
- In the example above, the plugin would regroup the input data for the specific component by `region` and by `instance-type`.
795
-
796
- Assuming the values `A1` and `B1` are found for `instance-type` and the values `uk-east` and `uk-west` are found for `region`, the result of `group-by` would look similar to the following:
792
+ In the example above, the plugin would regroup the input data for the specific component by `cloud/region` and by `instance-type`.
797
793
 
794
+ Assuming the values `A1` and `B1` are found for `instance-type` and the values `uk-east` and `uk-west` are found for `cloud/region`, the result of `group-by` would look similar to the following:
798
795
 
799
796
  ```yaml
800
797
  tree:
@@ -805,7 +802,7 @@ tree:
805
802
  config:
806
803
  group-by:
807
804
  groups:
808
- - region
805
+ - cloud/region
809
806
  - instance-type
810
807
  children:
811
808
  uk-west:
@@ -815,17 +812,17 @@ tree:
815
812
  - timestamp: 2023-07-06T00:00
816
813
  duration: 300
817
814
  instance-type: A1
818
- region: uk-west
815
+ cloud/region: uk-west
819
816
  cpu-util: 99
820
817
  - timestamp: 2023-07-06T05:00
821
818
  duration: 300
822
819
  instance-type: A1
823
- region: uk-west
820
+ cloud/region: uk-west
824
821
  cpu-util: 23
825
822
  - timestamp: 2023-07-06T10:00
826
823
  duration: 300
827
824
  instance-type: A1
828
- region: uk-west
825
+ cloud/region: uk-west
829
826
  cpu-util: 12
830
827
  uk-east:
831
828
  children:
@@ -834,19 +831,18 @@ tree:
834
831
  - timestamp: 2023-07-06T00:00
835
832
  duration: 300
836
833
  instance-type: B1
837
- region: uk-east
834
+ cloud/region: uk-east
838
835
  cpu-util: 11
839
836
  - timestamp: 2023-07-06T05:00
840
837
  duration: 300
841
838
  instance-type: B1
842
- region: uk-east
839
+ cloud/region: uk-east
843
840
  cpu-util: 67
844
841
  - timestamp: 2023-07-06T10:00
845
842
  duration: 300
846
843
  instance-type: B1
847
- region: uk-east
848
- cpu-util: 1
844
+ cloud/region: uk-east
845
+ cpu-util: 1
849
846
  ```
850
847
 
851
848
  This reorganized data can then be used to feed the rest of a computation pipeline.
852
-
@@ -1,24 +0,0 @@
1
- name: azure-importer
2
- description: example impl invoking Azure Importer model
3
- tags:
4
- initialize:
5
- plugins:
6
- azure-importer:
7
- path: "@grnsft/if-unofficial-plugins"
8
- method: AzureImporter
9
- kind: plugin
10
- tree:
11
- children:
12
- child:
13
- pipeline:
14
- - azure-importer
15
- config:
16
- azure-importer:
17
- azure-observation-window: 5 min # value and unit must be space separated
18
- azure-observation-aggregation: "average"
19
- azure-subscription-id: 42a3c589-87ce-4478-8ed6-9adc11b81965
20
- azure-resource-group: Group1
21
- azure-vm-name: VM1
22
- inputs:
23
- - timestamp: "2023-11-02T10:35:31.820Z"
24
- duration: 3600
@@ -1,70 +0,0 @@
1
- name: basic-demo
2
- description: null
3
- tags: null
4
- initialize:
5
- plugins:
6
- mock-observations:
7
- path: "@grnsft/if-plugins"
8
- method: MockObservations
9
- global-config:
10
- timestamp-from: 2024-02-26T00:00
11
- timestamp-to: 2024-02-26T00:10
12
- duration: 60
13
- components:
14
- - cloud/instance-type: Standard_A1_v2
15
- - cloud/instance-type: Standard_A2_v2
16
- generators:
17
- common:
18
- cloud/vendor: azure
19
- cloud/region: uk-west
20
- geolocation: 37.7749,-122.4194
21
- randint:
22
- cpu/utilization:
23
- min: 1
24
- max: 99
25
- teads-curve:
26
- path: "@grnsft/if-unofficial-plugins"
27
- method: TeadsCurve
28
- global-config:
29
- interpolation: spline
30
- group-by:
31
- path: "builtin"
32
- method: GroupBy
33
- cloud-metadata:
34
- method: CloudMetadata
35
- path: "@grnsft/if-plugins"
36
- operational-carbon:
37
- path: "@grnsft/if-plugins"
38
- method: Multiply
39
- global-config:
40
- input-parameters: ["cpu/energy", "grid/carbon-intensity"]
41
- output-parameter: "cpu/carbon"
42
- watttime:
43
- path: "@grnsft/if-unofficial-plugins"
44
- method: WattTimeGridEmissions
45
- tree:
46
- children:
47
- application:
48
- pipeline:
49
- - mock-observations
50
- # - group-by
51
- - cloud-metadata
52
- - teads-curve
53
- - watttime
54
- - operational-carbon
55
- defaults:
56
- grid/carbon-intensity: 250
57
- geolocation: 48.8567,2.3522
58
- # config:
59
- # group-by:
60
- # group:
61
- # - cloud/region
62
- # - cloud/instance-type
63
- inputs:
64
- - timestamp: "2024-02-26 00:00:00"
65
- duration: 60
66
- cloud/instance-type: Standard_A1_v2
67
- cloud/vendor: azure
68
- cloud/region: francesouth
69
- geolocation: 48.8567,2.3522
70
- cpu/utilization: 15
@@ -1,20 +0,0 @@
1
- name: boavizta cloud demo
2
- description: calls boavizta api
3
- tags:
4
- initialize:
5
- plugins:
6
- "boavizta-cloud":
7
- method: BoaviztaCloudOutput
8
- path: "@grnsft/if-unofficial-plugins"
9
- tree:
10
- children:
11
- child:
12
- pipeline:
13
- - boavizta-cloud
14
- defaults:
15
- instance-type: r6g.medium
16
- provider: aws
17
- inputs:
18
- - timestamp: "2021-01-01T00:00:00Z"
19
- duration: 15 # Secs
20
- cpu/utilization: 34
@@ -1,85 +0,0 @@
1
- name: boavizta-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
- cloud/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
- cloud/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
- cloud/instance-type: A1
78
- region: uk-west
79
- network/energy: 0.000001
80
- - timestamp: "2023-12-12T00:00:13.000Z"
81
- duration: 30
82
- cloud/instance-type: A1
83
- region: uk-west
84
- cpu/utilization: 15
85
- network/energy: 0.000001
@@ -1,26 +0,0 @@
1
- name: boavizta
2
- description: calls boavizta api
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
- tree:
13
- children:
14
- child:
15
- pipeline:
16
- - boavizta-cpu
17
- defaults:
18
- cpu/number-cores: 24
19
- cpu/name: Intel® Core™ i7-1185G7
20
- inputs:
21
- - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred
22
- duration: 3600 # Secs
23
- cpu/utilization: 18.392
24
- - timestamp: 2023-08-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred
25
- duration: 3600 # Secs
26
- cpu/utilization: 16
@@ -1,20 +0,0 @@
1
- name: ccf-demo
2
- description: example impl invoking CCF model
3
- tags:
4
- initialize:
5
- plugins:
6
- ccf:
7
- method: CloudCarbonFootprint
8
- path: "@grnsft/if-unofficial-plugins"
9
- tree:
10
- children:
11
- child:
12
- pipeline:
13
- - ccf
14
- defaults:
15
- cloud/vendor: "aws"
16
- cloud/instance-type: "m5n.large"
17
- inputs:
18
- - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred
19
- duration: 1
20
- cpu/utilization: 10
@@ -1,41 +0,0 @@
1
- name: coud-instanmce-metadata-demo
2
- description: null
3
- tags: null
4
- initialize:
5
- plugins:
6
- teads-curve:
7
- path: '@grnsft/if-unofficial-plugins'
8
- method: TeadsCurve
9
- global-config:
10
- interpolation: spline
11
- cloud-instance-metadata:
12
- method: CloudInstanceMetadata
13
- path: "@grnsft/if-plugins"
14
- tree:
15
- children:
16
- child-0:
17
- defaults:
18
- cpu/thermal-design-power: 100
19
- cloud/vendor: aws
20
- cloud/instance-type: m5n.large
21
- pipeline:
22
- - teads-curve
23
- - cloud-instance-metadata
24
- inputs:
25
- - timestamp: 2023-07-06T00:00
26
- duration: 10
27
- cpu/utilization: 80
28
- - timestamp: 2023-07-06T00:01
29
- duration: 10
30
- cpu/utilization: 80
31
- outputs:
32
- - timestamp: 2023-07-06T00:00
33
- duration: 10
34
- cpu/utilization: 80
35
- cpu/thermal-design-power: 100
36
- cpu/energy: 0.00025568089430894314
37
- - timestamp: 2023-07-06T00:01
38
- duration: 10
39
- cpu/utilization: 80
40
- cpu/thermal-design-power: 100
41
- cpu/energy: 0.00025568089430894314
@@ -1,30 +0,0 @@
1
- name: co2js-demo
2
- description: example impl invoking CO2.JS model
3
- tags:
4
- initialize:
5
- plugins:
6
- co2js:
7
- method: Co2js
8
- path: "@grnsft/if-unofficial-plugins"
9
- global-config:
10
- options:
11
- dataReloadRatio: 0.6
12
- firstVisitPercentage: 0.9
13
- returnVisitPercentage: 0.1
14
- gridIntensity:
15
- device: 560.98
16
- dataCenter:
17
- country: "TWN"
18
- tree:
19
- children:
20
- child:
21
- pipeline:
22
- - co2js
23
- config:
24
- co2js:
25
- type: swd
26
- green-web-host: true
27
- inputs:
28
- - timestamp: 2023-07-06T00:00
29
- duration: 1
30
- network/data/bytes: 1000000
@@ -1,34 +0,0 @@
1
- name: csv-export-demo
2
- description: example exporting output to a csv file
3
- tags:
4
- initialize:
5
- plugins:
6
- csv-exporter:
7
- method: CsvExport
8
- path: "@grnsft/if-plugins"
9
- tree:
10
- children:
11
- child:
12
- pipeline:
13
- - csv-exporter
14
- config:
15
- csv-exporter:
16
- output-path: ./examples/outputs/csv-test.csv
17
- headers:
18
- - timestamp
19
- - duration
20
- - carbon
21
- - energy
22
- inputs:
23
- - timestamp: 2023-07-06T00:00
24
- duration: 1
25
- operational-carbon: 0.02
26
- embodied-carbon: 5
27
- energy: 3.5
28
- carbon: 5.02
29
- - timestamp: 2023-07-06T00:10
30
- duration: 1
31
- operational-carbon: 0.03
32
- embodied-carbon: 4
33
- energy: 2.9
34
- carbon: 4.03
@@ -1,21 +0,0 @@
1
- name: e-mem
2
- description:
3
- tags:
4
- initialize:
5
- plugins:
6
- e-mem:
7
- method: EMem
8
- path: "@grnsft/if-plugins"
9
- global-config:
10
- energy-per-gb: 0.002
11
- tree:
12
- children:
13
- child:
14
- pipeline:
15
- - e-mem
16
- config:
17
- inputs:
18
- - timestamp: 2023-08-06T00:00
19
- duration: 3600
20
- memory/utilization: 40
21
- memory/capacity: 1
@@ -1,22 +0,0 @@
1
- name: sci-e-demo
2
- description:
3
- tags:
4
- initialize:
5
- plugins:
6
- e-net:
7
- method: ENet
8
- path: "@grnsft/if-plugins"
9
- global-config:
10
- energy-per-gb: 0.02
11
- tree:
12
- children:
13
- child:
14
- pipeline:
15
- - e-net
16
- config:
17
- e-net:
18
- inputs:
19
- - timestamp: 2023-08-06T00:00
20
- duration: 3600
21
- network/data-in: 1
22
- network/data-out: 2