diff --git a/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml b/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml index 17deabf22..5d2fa16b2 100644 --- a/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +++ b/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml @@ -10,8 +10,8 @@ initialize: filepath: >- https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-aws-instances.csv query: - instance-class: cloud/instance-type - output: ["cpu-cores-utilized", "vcpus-allocated"] + instance-class: cloud/vendor + output: ["cpu-cores-utilized", "cloud/instance-type"] tree: children: child: diff --git a/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml b/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml index aece37d5f..4d9b4c2df 100644 --- a/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml +++ b/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml @@ -10,7 +10,7 @@ initialize: filepath: >- https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-aws-instances.csv query: - instance-class: cloud/instance-type + instance-class: cloud/vendor output: ["cpu-cores-utilized", "vcpus-allocated"] tree: children: diff --git a/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-output.yml b/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-output.yml index 501bde3ce..2a3d363b3 100644 --- a/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-output.yml +++ b/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-output.yml @@ -11,7 +11,7 @@ initialize: query: cloud-provider: "cloud/provider" cloud-region: "cloud/region" - output: "*" + output: tree: children: child: diff --git a/manifests/examples/builtins/divide/failure-denominator-equal-zero.yml b/manifests/examples/builtins/divide/failure-denominator-equal-zero.yml deleted file mode 100644 index 9635af671..000000000 --- a/manifests/examples/builtins/divide/failure-denominator-equal-zero.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: divide -description: denominator is invalid, denominator is -tags: -initialize: - plugins: - cloud-metadata: - path: builtin - method: CSVLookup - config: - filepath: >- - https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-aws-instances.csv - query: - instance-class: cloud/instance-type - output: ["cpu-cores-utilized", "vcpus-allocated"] - divide: - method: Divide - path: "builtin" - config: - numerator: vcpus-allocated - denominator: 0 - output: cpu/number-cores -tree: - children: - child: - pipeline: - compute: - - cloud-metadata - - divide - defaults: - cloud/vendor: aws - cloud/instance-type: m5n.large - cpu/name: Intel® Core™ i7-1185G7 - inputs: - - timestamp: 2023-08-06T00:00 - duration: 3600 - cpu/utilization: 80 diff --git a/manifests/examples/builtins/regex/failure-not-matching-with-regex.yml b/manifests/examples/builtins/regex/failure-not-matching-with-regex.yml index bad022d72..f79303efb 100644 --- a/manifests/examples/builtins/regex/failure-not-matching-with-regex.yml +++ b/manifests/examples/builtins/regex/failure-not-matching-with-regex.yml @@ -8,7 +8,7 @@ initialize: path: "builtin" config: parameter: physical-processor - match: ^ + match: ^$ output: cpu/name tree: children: diff --git a/manifests/examples/builtins/time-sync/failure-config-start-later-end.yml b/manifests/examples/builtins/time-sync/failure-config-start-later-end.yml index c1ab78855..6a268a2d2 100644 --- a/manifests/examples/builtins/time-sync/failure-config-start-later-end.yml +++ b/manifests/examples/builtins/time-sync/failure-config-start-later-end.yml @@ -2,8 +2,6 @@ name: time-sync description: failure with `config.start-time` being later than `config.end-time` tags: initialize: - output: - - yaml plugins: "time-sync": method: TimeSync diff --git a/manifests/examples/features/regroup/failure-missing-cloud-instance-type.yml b/manifests/examples/features/regroup/failure-missing-cloud-instance-type.yml index 8b8b44faf..708250e27 100644 --- a/manifests/examples/features/regroup/failure-missing-cloud-instance-type.yml +++ b/manifests/examples/features/regroup/failure-missing-cloud-instance-type.yml @@ -1,7 +1,7 @@ name: regroup description: initialize: - plugins: + plugins: {} tree: children: my-app: diff --git a/manifests/examples/pipelines/nesting.yml b/manifests/examples/pipelines/nesting.yml index de1c5e70f..f62105c87 100644 --- a/manifests/examples/pipelines/nesting.yml +++ b/manifests/examples/pipelines/nesting.yml @@ -24,12 +24,16 @@ initialize: cpu/utilization: unit: percentage description: refers to CPU utilization. - aggregation-method: avg + aggregation-method: + time: avg + component: sum outputs: cpu-factor: unit: kWh description: result of interpolate - aggregation-method: avg + aggregation-method: + time: avg + component: avg "cpu-factor-to-wattage": method: Multiply path: builtin @@ -41,16 +45,22 @@ initialize: cpu-factor: unit: kWh description: result of interpolate - aggregation-method: avg + aggregation-method: + time: avg + component: avg cpu/thermal-design-power: unit: kWh description: thermal design power for a processor - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: cpu-wattage: unit: kWh description: the energy used by the CPU - aggregation-method: sum + aggregation-method: + time: sum + component: sum "wattage-times-duration": method: Multiply path: builtin @@ -69,12 +79,16 @@ initialize: cpu-wattage-times-duration: unit: kWh description: CPU wattage multiplied by duration - aggregation-method: sum + aggregation-method: + time: sum + component: sum outputs: cpu-energy-raw: unit: kWh description: Raw energy used by CPU in kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum "calculate-vcpu-ratio": method: Divide path: "builtin" @@ -87,7 +101,9 @@ initialize: vcpu-ratio: unit: none description: Ratio of vCPUs - aggregation-method: none + aggregation-method: + time: copy + component: copy "correct-cpu-energy-for-vcpu-ratio": method: Divide path: "builtin" @@ -109,16 +125,22 @@ initialize: cpu-energy-kwh: unit: kWh description: Corrected CPU energy in kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum grid/carbon-intensity: unit: gCO2eq/kWh description: Carbon intensity for the grid - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: carbon-operational: unit: gCO2eq description: Operational carbon footprint - aggregation-method: sum + aggregation-method: + time: sum + component: sum sci: path: "builtin" method: Sci @@ -129,7 +151,9 @@ initialize: requests: unit: none description: expressed the final SCI value - aggregation-method: sum + aggregation-method: + time: sum + component: sum "sum-carbon": path: "builtin" method: Sum @@ -143,16 +167,22 @@ initialize: carbon-operational: description: Operational carbon footprint unit: gCO2eq - aggregation-method: sum + aggregation-method: + time: sum + component: sum embodied-carbon: description: Embodied carbon footprint unit: gCO2eq - aggregation-method: sum + aggregation-method: + time: sum + component: sum outputs: carbon: description: Total carbon footprint unit: gCO2eq - aggregation-method: sum + aggregation-method: + time: sum + component: sum time-sync: method: TimeSync path: "builtin" @@ -166,27 +196,39 @@ initialize: timestamp: unit: RFC3339 description: refers to the time of occurrence of the input - aggregation-method: none + aggregation-method: + time: none + component: none duration: unit: seconds description: refers to the duration of the input - aggregation-method: sum + aggregation-method: + time: sum + component: sum cloud/instance-type: unit: none description: type of Cloud Instance name used in the cloud provider APIs - aggregation-method: none + aggregation-method: + time: copy + component: copy cloud/region: unit: none description: region cloud instance - aggregation-method: none + aggregation-method: + time: copy + component: copy time-reserved: unit: seconds description: time reserved for a component - aggregation-method: avg + aggregation-method: + time: avg + component: avg network/energy: description: "Energy consumed by the Network of the component" unit: "kWh" - aggregation-method: "sum" + aggregation-method: + time: sum + component: sum tree: children: child-0: diff --git a/manifests/examples/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml b/manifests/examples/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml index 7512e15fb..6a96cbfc8 100644 --- a/manifests/examples/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml +++ b/manifests/examples/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml @@ -29,12 +29,16 @@ initialize: cpu/utilization: unit: percentage description: refers to CPU utilization. - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: cpu-factor: unit: kWh description: result of interpolate - aggregation-method: avg + aggregation-method: + time: avg + component: avg cpu-factor-to-wattage: path: builtin method: Multiply @@ -48,16 +52,22 @@ initialize: cpu-factor: unit: kWh description: result of interpolate - aggregation-method: avg + aggregation-method: + time: avg + component: avg cpu/thermal-design-power: unit: kWh description: thermal design power for a processor - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: cpu-wattage: unit: kWh description: the energy used by the CPU - aggregation-method: sum + aggregation-method: + time: sum + component: sum wattage-times-duration: path: builtin method: Multiply @@ -78,12 +88,16 @@ initialize: cpu-wattage-times-duration: unit: kWh description: CPU wattage multiplied by duration - aggregation-method: sum + aggregation-method: + time: sum + component: sum outputs: cpu-energy-raw: unit: kWh description: Raw energy used by CPU in kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum calculate-vcpu-ratio: path: builtin method: Divide @@ -96,16 +110,22 @@ initialize: vcpus-total: unit: count description: total number of vcpus available on a particular resource - aggregation-method: none + aggregation-method: + time: none + component: none vcpus-allocated: unit: count description: number of vcpus allocated to particular resource - aggregation-method: none + aggregation-method: + time: none + component: none outputs: vcpu-ratio: unit: none description: Ratio of vCPUs - aggregation-method: none + aggregation-method: + time: none + component: none correct-cpu-energy-for-vcpu-ratio: path: builtin method: Divide @@ -129,16 +149,22 @@ initialize: cpu-energy-kwh: unit: kWh description: Corrected CPU energy in kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum grid/carbon-intensity: unit: gCO2eq/kWh description: Carbon intensity for the grid - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: carbon-operational: unit: gCO2eq description: Operational carbon footprint - aggregation-method: sum + aggregation-method: + time: sum + component: sum sci: path: builtin method: Sci @@ -149,7 +175,9 @@ initialize: requests: unit: none description: expressed the final SCI value - aggregation-method: sum + aggregation-method: + time: sum + component: sum sum-carbon: path: builtin method: Sum @@ -163,16 +191,22 @@ initialize: carbon-operational: description: Operational carbon footprint unit: gCO2eq - aggregation-method: sum + aggregation-method: + time: sum + component: sum embodied-carbon: description: Embodied carbon footprint unit: gCO2eq - aggregation-method: sum + aggregation-method: + time: sum + component: sum outputs: carbon: description: Total carbon footprint unit: gCO2eq - aggregation-method: sum + aggregation-method: + time: sum + component: sum time-sync: path: builtin method: TimeSync @@ -186,23 +220,33 @@ initialize: timestamp: unit: RFC3339 description: refers to the time of occurrence of the input - aggregation-method: none + aggregation-method: + time: none + component: none duration: unit: seconds description: refers to the duration of the input - aggregation-method: sum + aggregation-method: + time: sum + component: sum cloud/instance-type: unit: none description: type of Cloud Instance name used in the cloud provider APIs - aggregation-method: none + aggregation-method: + time: none + component: none cloud/region: unit: none description: region cloud instance - aggregation-method: none + aggregation-method: + time: none + component: none time-reserved: unit: seconds description: time reserved for a component - aggregation-method: avg + aggregation-method: + time: avg + component: avg execution: command: >- /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node diff --git a/manifests/examples/pipelines/outputs-if-diff/pipeline-with-mocks.yaml b/manifests/examples/pipelines/outputs-if-diff/pipeline-with-mocks.yaml index 6c820ea44..3a744410c 100644 --- a/manifests/examples/pipelines/outputs-if-diff/pipeline-with-mocks.yaml +++ b/manifests/examples/pipelines/outputs-if-diff/pipeline-with-mocks.yaml @@ -28,19 +28,27 @@ initialize: timestamp: unit: RFC3339 description: refers to the time of occurrence of the input - aggregation-method: none + aggregation-method: + time: none + component: none duration: unit: seconds description: refers to the duration of the input - aggregation-method: sum + aggregation-method: + time: sum + component: sum cloud/instance-type: unit: none description: type of Cloud Instance name used in the cloud provider APIs - aggregation-method: none + aggregation-method: + time: none + component: none cloud/region: unit: none description: region cloud instance - aggregation-method: none + aggregation-method: + time: none + component: none interpolate: path: builtin method: Interpolation @@ -63,12 +71,16 @@ initialize: cpu/utilization: unit: percentage description: refers to CPU utilization. - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: cpu-factor: unit: kWh description: result of interpolate - aggregation-method: avg + aggregation-method: + time: avg + component: avg cpu-factor-to-wattage: path: builtin method: Multiply @@ -82,16 +94,22 @@ initialize: cpu-factor: unit: kWh description: result of interpolate - aggregation-method: avg + aggregation-method: + time: avg + component: avg cpu/thermal-design-power: unit: kWh description: thermal design power for a processor - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: cpu-wattage: unit: kWh description: the energy used by the CPU - aggregation-method: sum + aggregation-method: + time: sum + component: sum wattage-times-duration: path: builtin method: Multiply @@ -105,16 +123,22 @@ initialize: cpu-wattage: unit: kWh description: Energy used by the CPU - aggregation-method: sum + aggregation-method: + time: sum + component: sum duration: unit: seconds description: Duration of the observation - aggregation-method: sum + aggregation-method: + time: sum + component: sum outputs: cpu-wattage-times-duration: unit: kWh description: CPU wattage multiplied by duration - aggregation-method: sum + aggregation-method: + time: sum + component: sum wattage-to-energy-kwh: path: builtin method: Divide @@ -127,12 +151,16 @@ initialize: cpu-wattage-times-duration: unit: kWh description: CPU wattage multiplied by duration - aggregation-method: sum + aggregation-method: + time: sum + component: sum outputs: cpu-energy-raw: unit: kWh description: Raw energy used by CPU in kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum calculate-vcpu-ratio: path: builtin method: Divide @@ -145,16 +173,22 @@ initialize: vcpus-total: unit: count description: total number of vcpus available on a particular resource - aggregation-method: none + aggregation-method: + time: none + component: none vcpus-allocated: unit: count description: number of vcpus allocated to particular resource - aggregation-method: none + aggregation-method: + time: none + component: none outputs: vcpu-ratio: unit: none description: Ratio of vCPUs - aggregation-method: none + aggregation-method: + time: none + component: none correct-cpu-energy-for-vcpu-ratio: path: builtin method: Divide @@ -167,16 +201,22 @@ initialize: cpu-energy-raw: unit: kWh description: Raw energy used by CPU in kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum vcpu-ratio: unit: none description: Ratio of vCPUs - aggregation-method: none + aggregation-method: + time: none + component: none outputs: cpu-energy-kwh: unit: kWh description: Corrected CPU energy in kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum sci-embodied: path: builtin method: SciEmbodied @@ -193,16 +233,22 @@ initialize: cpu-energy-kwh: unit: kWh description: Corrected CPU energy in kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum grid/carbon-intensity: unit: gCO2eq/kWh description: Carbon intensity for the grid - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: carbon-operational: unit: gCO2eq description: Operational carbon footprint - aggregation-method: sum + aggregation-method: + time: sum + component: sum sum-carbon: path: builtin method: Sum @@ -216,16 +262,22 @@ initialize: carbon-operational: unit: gCO2eq description: Operational carbon footprint - aggregation-method: sum + aggregation-method: + time: sum + component: sum embodied-carbon: unit: gCO2eq description: Embodied carbon footprint - aggregation-method: sum + aggregation-method: + time: sum + component: sum outputs: carbon: unit: gCO2eq description: Total carbon footprint - aggregation-method: sum + aggregation-method: + time: sum + component: sum sci: path: builtin method: Sci @@ -236,12 +288,16 @@ initialize: requests: unit: none description: expressed the final SCI value - aggregation-method: sum + aggregation-method: + time: sum + component: sum outputs: sci: unit: none description: Scientific Carbon Intensity - aggregation-method: none + aggregation-method: + time: none + component: none time-sync: path: builtin method: TimeSync @@ -255,12 +311,16 @@ initialize: time-reserved: unit: seconds description: time reserved for a component - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: synced-time: unit: none description: Synced time - aggregation-method: none + aggregation-method: + time: none + component: none execution: command: >- /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node diff --git a/manifests/examples/pipelines/pipeline-with-aggregate.yml b/manifests/examples/pipelines/pipeline-with-aggregate.yml index 1f436d0fa..c95047f49 100644 --- a/manifests/examples/pipelines/pipeline-with-aggregate.yml +++ b/manifests/examples/pipelines/pipeline-with-aggregate.yml @@ -21,12 +21,16 @@ initialize: cpu/utilization: unit: percentage description: refers to CPU utilization. - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: cpu-factor: unit: kWh description: result of interpolate - aggregation-method: avg + aggregation-method: + time: avg + component: avg "cpu-factor-to-wattage": method: Multiply path: builtin @@ -38,16 +42,22 @@ initialize: cpu-factor: unit: kWh description: result of interpolate - aggregation-method: avg + aggregation-method: + time: avg + component: avg cpu/thermal-design-power: unit: kWh description: thermal design power for a processor - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: cpu-wattage: unit: kWh description: the energy used by the CPU - aggregation-method: sum + aggregation-method: + time: sum + component: sum "wattage-times-duration": method: Multiply path: builtin @@ -66,12 +76,16 @@ initialize: cpu-wattage-times-duration: unit: kWh description: CPU wattage multiplied by duration - aggregation-method: sum + aggregation-method: + time: sum + component: sum outputs: cpu-energy-raw: unit: kWh description: Raw energy used by CPU in kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum "calculate-vcpu-ratio": method: Divide path: "builtin" @@ -84,16 +98,22 @@ initialize: vcpus-total: unit: count description: total number of vcpus available on a particular resource - aggregation-method: none + aggregation-method: + time: copy + component: copy vcpus-allocated: unit: count description: number of vcpus allocated to particular resource - aggregation-method: none + aggregation-method: + time: copy + component: copy outputs: vcpu-ratio: unit: none description: Ratio of vCPUs - aggregation-method: none + aggregation-method: + time: copy + component: copy "correct-cpu-energy-for-vcpu-ratio": method: Divide path: "builtin" @@ -115,16 +135,22 @@ initialize: cpu-energy-kwh: unit: kWh description: Corrected CPU energy in kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum grid/carbon-intensity: unit: gCO2eq/kWh description: Carbon intensity for the grid - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: carbon-operational: unit: gCO2eq description: Operational carbon footprint - aggregation-method: sum + aggregation-method: + time: sum + component: sum "sci": path: "builtin" method: Sci @@ -135,7 +161,9 @@ initialize: requests: unit: none description: expressed the final SCI value - aggregation-method: sum + aggregation-method: + time: sum + component: sum "sum-carbon": path: "builtin" method: Sum @@ -149,7 +177,9 @@ initialize: carbon: unit: gCO2eq description: product of carbon - aggregation-method: sum + aggregation-method: + time: sum + component: sum "time-sync": method: TimeSync path: "builtin" diff --git a/manifests/examples/pipelines/pipeline-with-mocks.yml b/manifests/examples/pipelines/pipeline-with-mocks.yml index 804e3cdfe..0358525c2 100644 --- a/manifests/examples/pipelines/pipeline-with-mocks.yml +++ b/manifests/examples/pipelines/pipeline-with-mocks.yml @@ -29,19 +29,27 @@ initialize: timestamp: description: refers to the time of occurrence of the input unit: RFC3339 - aggregation-method: none + aggregation-method: + time: none + component: none duration: description: refers to the duration of the input unit: seconds - aggregation-method: sum + aggregation-method: + time: sum + component: sum cloud/instance-type: description: type of Cloud Instance name used in the cloud provider APIs unit: none - aggregation-method: none + aggregation-method: + time: none + component: none cloud/region: description: region cloud instance unit: none - aggregation-method: none + aggregation-method: + time: none + component: none interpolate: method: Interpolation path: "builtin" @@ -56,12 +64,16 @@ initialize: cpu/utilization: description: refers to CPU utilization. unit: percentage - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: cpu-factor: description: result of interpolate unit: kWh - aggregation-method: avg + aggregation-method: + time: avg + component: avg cpu-factor-to-wattage: method: Multiply path: builtin @@ -73,16 +85,22 @@ initialize: cpu-factor: description: result of interpolate unit: kWh - aggregation-method: avg + aggregation-method: + time: avg + component: avg cpu/thermal-design-power: description: thermal design power for a processor unit: kWh - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: cpu-wattage: description: the energy used by the CPU unit: kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum wattage-times-duration: method: Multiply path: builtin @@ -94,16 +112,22 @@ initialize: cpu-wattage: description: Energy used by the CPU unit: kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum duration: description: Duration of the observation unit: seconds - aggregation-method: sum + aggregation-method: + time: sum + component: sum outputs: cpu-wattage-times-duration: description: CPU wattage multiplied by duration unit: kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum wattage-to-energy-kwh: method: Divide path: "builtin" @@ -116,12 +140,16 @@ initialize: cpu-wattage-times-duration: description: CPU wattage multiplied by duration unit: kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum outputs: cpu-energy-raw: description: Raw energy used by CPU in kWh unit: kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum calculate-vcpu-ratio: method: Divide path: "builtin" @@ -134,16 +162,22 @@ initialize: vcpus-total: description: total number of vcpus available on a particular resource unit: count - aggregation-method: none + aggregation-method: + time: none + component: none vcpus-allocated: description: number of vcpus allocated to particular resource unit: count - aggregation-method: none + aggregation-method: + time: none + component: none outputs: vcpu-ratio: description: Ratio of vCPUs unit: none - aggregation-method: none + aggregation-method: + time: none + component: none correct-cpu-energy-for-vcpu-ratio: method: Divide path: "builtin" @@ -156,16 +190,22 @@ initialize: cpu-energy-raw: description: Raw energy used by CPU in kWh unit: kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum vcpu-ratio: description: Ratio of vCPUs unit: none - aggregation-method: none + aggregation-method: + time: none + component: none outputs: cpu-energy-kwh: description: Corrected CPU energy in kWh unit: kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum sci-embodied: path: "builtin" method: SciEmbodied @@ -180,16 +220,22 @@ initialize: cpu-energy-kwh: description: Corrected CPU energy in kWh unit: kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum grid/carbon-intensity: description: Carbon intensity for the grid unit: gCO2eq/kWh - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: carbon-operational: description: Operational carbon footprint unit: gCO2eq - aggregation-method: sum + aggregation-method: + time: sum + component: sum sum-carbon: path: "builtin" method: Sum @@ -203,16 +249,22 @@ initialize: carbon-operational: description: Operational carbon footprint unit: gCO2eq - aggregation-method: sum + aggregation-method: + time: sum + component: sum embodied-carbon: description: Embodied carbon footprint unit: gCO2eq - aggregation-method: sum + aggregation-method: + time: sum + component: sum outputs: carbon: description: Total carbon footprint unit: gCO2eq - aggregation-method: sum + aggregation-method: + time: sum + component: sum sci: path: "builtin" method: Sci @@ -223,12 +275,16 @@ initialize: requests: description: expressed the final SCI value unit: none - aggregation-method: sum + aggregation-method: + time: sum + component: sum outputs: sci: description: Scientific Carbon Intensity unit: none - aggregation-method: none + aggregation-method: + time: none + component: none time-sync: method: TimeSync path: "builtin" diff --git a/manifests/examples/pipelines/scenario-1.yml b/manifests/examples/pipelines/scenario-1.yml deleted file mode 100644 index 0c474fe67..000000000 --- a/manifests/examples/pipelines/scenario-1.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: demo -description: demo for observe feat -tags: -initialize: - plugins: - mock-observations: - kind: plugin - method: MockObservations - path: "builtin" - config: - timestamp-from: 2023-07-06T00:00 - timestamp-to: 2023-07-06T00:01 - duration: 60 - components: - - cloud/instance-type: A1 - - cloud/instance-type: B1 - generators: - common: - region: uk-west - common-key: common-val - randint: - cpu/utilization: - min: 1 - max: 99 - memory/utilization: - min: 1 - max: 99 -tree: - children: - child: - pipeline: - observe: - - mock-observations - inputs: null diff --git a/manifests/examples/pipelines/scenario-2.yml b/manifests/examples/pipelines/scenario-2.yml deleted file mode 100644 index 6f32afde6..000000000 --- a/manifests/examples/pipelines/scenario-2.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: regroup demo -description: -initialize: - plugins: - interpolate: - method: Interpolation - path: "builtin" - config: - method: linear - x: [0, 10, 50, 100] - y: [0.12, 0.32, 0.75, 1.02] - input-parameter: "cpu/utilization" - output-parameter: "cpu-factor" -tree: - children: - child: - pipeline: - observe: - regroup: - - cloud/region - - cloud/instance-type - inputs: - - timestamp: 2023-07-06T00:00 - duration: 300 - cloud/instance-type: A1 - cloud/region: uk-west - cpu/utilization: 99 - - timestamp: 2023-07-06T05:00 - duration: 300 - cloud/instance-type: A1 - cloud/region: uk-west - cpu/utilization: 23 - - timestamp: 2023-07-06T10:00 - duration: 300 - cloud/instance-type: A1 - cloud/region: uk-west - cpu/utilization: 12 - - timestamp: 2023-07-06T00:00 # note this time restarts at the start timstamp - duration: 300 - cloud/instance-type: B1 - cloud/region: uk-west - cpu/utilization: 11 - - timestamp: 2023-07-06T05:00 - duration: 300 - cloud/instance-type: B1 - cloud/region: uk-west - cpu/utilization: 67 - - timestamp: 2023-07-06T10:00 - duration: 300 - cloud/instance-type: B1 - cloud/region: uk-west - cpu/utilization: 1 diff --git a/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml b/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml new file mode 100644 index 000000000..aa83f102b --- /dev/null +++ b/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml @@ -0,0 +1,76 @@ +name: cloud-metadata +description: failure with invalid `inputs.cloud/vendor` +tags: null +initialize: + plugins: + cloud-metadata: + path: builtin + method: CSVLookup + config: + filepath: >- + https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-aws-instances.csv + query: + instance-class: cloud/vendor + output: + - cpu-cores-utilized + - cloud/instance-type +execution: + status: fail + command: >- + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml + -o + manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml + environment: + if-version: 0.6.0 + os: macOS + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T07:42:52.156Z (UTC) + dependencies: + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' + - axios-mock-adapter@1.22.0 + - axios@1.7.2 + - cross-env@7.0.3 + - csv-parse@5.5.6 + - csv-stringify@6.4.6 + - fixpack@4.0.0 + - gts@5.2.0 + - husky@8.0.3 + - jest@29.7.0 + - js-yaml@4.1.0 + - lint-staged@15.2.2 + - luxon@3.4.4 + - release-it@16.3.0 + - rimraf@5.0.5 + - ts-command-line-args@2.5.1 + - ts-jest@29.1.1 + - typescript-cubic-spline@1.0.1 + - typescript@5.2.2 + - winston@3.11.0 + - zod@3.23.8 + error: >- + QueryDataNotFoundError: One or more of the given query parameters are not + found in the target CSV file column headers. +tree: + children: + child: + pipeline: + compute: + - cloud-metadata + inputs: + - timestamp: 2023-07-06T00:00 + cloud/vendor: gcp + cloud/instance-type: m5n.large + duration: 100 + cpu/utilization: 10 diff --git a/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml b/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml index 09539ee9a..0cbfb31db 100644 --- a/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml +++ b/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml @@ -10,35 +10,35 @@ initialize: filepath: >- https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-aws-instances.csv query: - instance-class: cloud/instance-type + instance-class: cloud/vendor output: - cpu-cores-utilized - vcpus-allocated execution: status: fail command: >- - /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node - /Users/mariamkhalatova/Projects/UK/if/src/index.ts -m - manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml -o - manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor1 + manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml environment: - if-version: 0.4.0 + if-version: 0.6.0 os: macOS - os-version: "13.2" - node-version: 18.14.2 - date-time: 2024-07-05T09:07:35.386Z (UTC) + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T08:24:01.971Z (UTC) dependencies: - - "@babel/core@7.22.10" - - "@babel/preset-typescript@7.23.3" - - "@commitlint/cli@18.6.0" - - "@commitlint/config-conventional@18.6.0" - - "@grnsft/if-core@0.0.10" - - "@jest/globals@29.7.0" - - "@types/jest@29.5.8" - - "@types/js-yaml@4.0.9" - - "@types/luxon@3.4.2" - - "@types/node@20.9.0" + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' - axios-mock-adapter@1.22.0 - axios@1.7.2 - cross-env@7.0.3 @@ -58,7 +58,7 @@ execution: - typescript-cubic-spline@1.0.1 - typescript@5.2.2 - winston@3.11.0 - - zod@3.22.4 + - zod@3.23.8 error: >- QueryDataNotFoundError: One or more of the given query parameters are not found in the target CSV file column headers. @@ -70,5 +70,6 @@ tree: - cloud-metadata inputs: - timestamp: 2023-07-06T00:00 + cloud/instance-type: m5n.large duration: 100 cpu/utilization: 10 diff --git a/manifests/outputs/builtins/csv-lookup/region-metadata/failure-missing-output.yaml b/manifests/outputs/builtins/csv-lookup/region-metadata/failure-missing-output.yaml index 341a17aca..92c9b4c79 100644 --- a/manifests/outputs/builtins/csv-lookup/region-metadata/failure-missing-output.yaml +++ b/manifests/outputs/builtins/csv-lookup/region-metadata/failure-missing-output.yaml @@ -12,31 +12,32 @@ initialize: query: cloud-provider: cloud/provider cloud-region: cloud/region + output: null execution: status: fail command: >- - /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node - /Users/mariamkhalatova/Projects/UK/if/src/index.ts -m - manifests/outputs/plugins/csv-lookup/region-metadata/failure-missing-output.yml + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-output.yml -o - manifests/outputs/plugins/csv-lookup/region-metadata/failure-missing-output + manifests/outputs/builtins/csv-lookup/region-metadata/failure-missing-output.yaml environment: - if-version: 0.4.0 + if-version: 0.6.0 os: macOS - os-version: "13.2" - node-version: 18.14.2 - date-time: 2024-07-02T21:26:09.874Z (UTC) + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T08:47:18.608Z (UTC) dependencies: - - "@babel/core@7.22.10" - - "@babel/preset-typescript@7.23.3" - - "@commitlint/cli@18.6.0" - - "@commitlint/config-conventional@18.6.0" - - "@grnsft/if-core@0.0.10" - - "@jest/globals@29.7.0" - - "@types/jest@29.5.8" - - "@types/js-yaml@4.0.9" - - "@types/luxon@3.4.2" - - "@types/node@20.9.0" + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' - axios-mock-adapter@1.22.0 - axios@1.7.2 - cross-env@7.0.3 @@ -56,7 +57,7 @@ execution: - typescript-cubic-spline@1.0.1 - typescript@5.2.2 - winston@3.11.0 - - zod@3.22.4 + - zod@3.23.8 error: >- InputValidationError: "output" parameter is invalid input. Error code: invalid_union. diff --git a/manifests/outputs/builtins/divide/failure-invalid-config-denominator.yaml b/manifests/outputs/builtins/divide/failure-invalid-config-denominator.yaml index fd0c50cce..3709451e3 100644 --- a/manifests/outputs/builtins/divide/failure-invalid-config-denominator.yaml +++ b/manifests/outputs/builtins/divide/failure-invalid-config-denominator.yaml @@ -3,37 +3,48 @@ description: failure when `config.denominator` is string tags: null initialize: plugins: + cloud-metadata: + path: builtin + method: CSVLookup + config: + filepath: >- + https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-aws-instances.csv + query: + instance-class: cloud/instance-type + output: + - cpu-cores-utilized + - vcpus-allocated divide: method: Divide path: builtin config: - numerator: cpu/utilization - denominator: test - output: cpu/divided-two + numerator: vcpus-allocated + denominator: vcpus + output: cpu/number-cores execution: status: fail command: >- - /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node - /Users/mariamkhalatova/Projects/UK/if/src/index.ts -m - manifests/outputs/plugins/divide/failure-invalid-config-denominator.yml -o - manifests/outputs/plugins/divide/failure-invalid-config-denominator.yml + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/builtins/divide/failure-invalid-config-denominator.yml -o + manifests/outputs/builtins/divide/failure-invalid-config-denominator.yml environment: - if-version: 0.4.0 + if-version: 0.6.0 os: macOS - os-version: "13.2" - node-version: 18.14.2 - date-time: 2024-07-02T06:02:25.409Z (UTC) + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:15:13.478Z (UTC) dependencies: - - "@babel/core@7.22.10" - - "@babel/preset-typescript@7.23.3" - - "@commitlint/cli@18.6.0" - - "@commitlint/config-conventional@18.6.0" - - "@grnsft/if-core@0.0.10" - - "@jest/globals@29.7.0" - - "@types/jest@29.5.8" - - "@types/js-yaml@4.0.9" - - "@types/luxon@3.4.2" - - "@types/node@20.9.0" + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' - axios-mock-adapter@1.22.0 - axios@1.7.2 - cross-env@7.0.3 @@ -53,16 +64,21 @@ execution: - typescript-cubic-spline@1.0.1 - typescript@5.2.2 - winston@3.11.0 - - zod@3.22.4 + - zod@3.23.8 error: >- - MissingInputDataError: test is missing from the input array, or has nullish + MissingInputDataError: vcpus is missing from the input array, or has nullish value. tree: children: child: pipeline: compute: + - cloud-metadata - divide + defaults: + cloud/vendor: aws + cloud/instance-type: m5n.large + cpu/name: Intel® Core™ i7-1185G7 inputs: - timestamp: 2023-08-06T00:00 duration: 3600 diff --git a/manifests/outputs/builtins/divide/failure-missing-numerator.yaml b/manifests/outputs/builtins/divide/failure-missing-numerator.yaml index a59e2f962..2a34a9513 100644 --- a/manifests/outputs/builtins/divide/failure-missing-numerator.yaml +++ b/manifests/outputs/builtins/divide/failure-missing-numerator.yaml @@ -3,6 +3,17 @@ description: success path tags: null initialize: plugins: + cloud-metadata: + path: builtin + method: CSVLookup + config: + filepath: >- + https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-aws-instances.csv + query: + instance-class: cloud/instance-type + output: + - cpu-cores-utilized + - vcpus-allocated divide: method: Divide path: builtin @@ -12,27 +23,27 @@ initialize: execution: status: fail command: >- - /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node - /Users/mariamkhalatova/Projects/UK/if/src/index.ts -m - manifests/outputs/plugins/divide/failure-missing-numerator.yml -o - manifests/outputs/plugins/divide/failure-missing-numerator + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/builtins/divide/failure-missing-numerator.yml -o + manifests/outputs/builtins/divide/failure-missing-numerator.yml environment: - if-version: 0.4.0 + if-version: 0.6.0 os: macOS - os-version: "13.2" - node-version: 18.14.2 - date-time: 2024-07-02T05:49:51.802Z (UTC) + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:15:22.702Z (UTC) dependencies: - - "@babel/core@7.22.10" - - "@babel/preset-typescript@7.23.3" - - "@commitlint/cli@18.6.0" - - "@commitlint/config-conventional@18.6.0" - - "@grnsft/if-core@0.0.10" - - "@jest/globals@29.7.0" - - "@types/jest@29.5.8" - - "@types/js-yaml@4.0.9" - - "@types/luxon@3.4.2" - - "@types/node@20.9.0" + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' - axios-mock-adapter@1.22.0 - axios@1.7.2 - cross-env@7.0.3 @@ -52,7 +63,7 @@ execution: - typescript-cubic-spline@1.0.1 - typescript@5.2.2 - winston@3.11.0 - - zod@3.22.4 + - zod@3.23.8 error: >- InputValidationError: "numerator" parameter is required. Error code: invalid_type. @@ -61,6 +72,7 @@ tree: child: pipeline: compute: + - cloud-metadata - divide defaults: cloud/vendor: aws @@ -70,4 +82,3 @@ tree: - timestamp: 2023-08-06T00:00 duration: 3600 cpu/utilization: 80 - vcpus-allocated: 8 diff --git a/manifests/outputs/builtins/mock-observations/success.yaml b/manifests/outputs/builtins/mock-observations/success.yaml index c2ee71085..f099a5cb5 100644 --- a/manifests/outputs/builtins/mock-observations/success.yaml +++ b/manifests/outputs/builtins/mock-observations/success.yaml @@ -26,27 +26,27 @@ initialize: max: 99 execution: command: >- - /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node - /Users/mariamkhalatova/Projects/UK/if/src/if-run/index.ts -m + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m manifests/examples/builtins/mock-observations/success.yml -o - manifests/outputs/builtins/mock-observations/success + manifests/outputs/builtins/mock-observations/success.yaml environment: - if-version: 0.5.0 + if-version: 0.6.0 os: macOS - os-version: "14.5" - node-version: 18.14.2 - date-time: 2024-08-02T15:04:18.262Z (UTC) + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T10:54:25.979Z (UTC) dependencies: - - "@babel/core@7.22.10" - - "@babel/preset-typescript@7.23.3" - - "@commitlint/cli@18.6.0" - - "@commitlint/config-conventional@18.6.0" - - "@grnsft/if-core@0.0.16" - - "@jest/globals@29.7.0" - - "@types/jest@29.5.8" - - "@types/js-yaml@4.0.9" - - "@types/luxon@3.4.2" - - "@types/node@20.9.0" + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' - axios-mock-adapter@1.22.0 - axios@1.7.2 - cross-env@7.0.3 @@ -75,281 +75,140 @@ tree: observe: - mock-observations inputs: - - timestamp: "2023-07-06T00:00:00.000Z" + - timestamp: '2023-07-06T00:00:00.000Z' duration: 60 cloud/instance-type: A1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:01:00.000Z" + - timestamp: '2023-07-06T00:01:00.000Z' duration: 60 cloud/instance-type: A1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:02:00.000Z" + - timestamp: '2023-07-06T00:02:00.000Z' duration: 60 cloud/instance-type: A1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:03:00.000Z" + - timestamp: '2023-07-06T00:03:00.000Z' duration: 60 cloud/instance-type: A1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:04:00.000Z" + - timestamp: '2023-07-06T00:04:00.000Z' duration: 60 cloud/instance-type: A1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:05:00.000Z" + - timestamp: '2023-07-06T00:05:00.000Z' duration: 60 cloud/instance-type: A1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:06:00.000Z" + - timestamp: '2023-07-06T00:06:00.000Z' duration: 60 cloud/instance-type: A1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:07:00.000Z" + - timestamp: '2023-07-06T00:07:00.000Z' duration: 60 cloud/instance-type: A1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:08:00.000Z" + - timestamp: '2023-07-06T00:08:00.000Z' duration: 60 cloud/instance-type: A1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:09:00.000Z" + - timestamp: '2023-07-06T00:09:00.000Z' duration: 60 cloud/instance-type: A1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:00:00.000Z" + - timestamp: '2023-07-06T00:00:00.000Z' duration: 60 cloud/instance-type: B1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:01:00.000Z" + - timestamp: '2023-07-06T00:01:00.000Z' duration: 60 cloud/instance-type: B1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:02:00.000Z" + - timestamp: '2023-07-06T00:02:00.000Z' duration: 60 cloud/instance-type: B1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:03:00.000Z" + - timestamp: '2023-07-06T00:03:00.000Z' duration: 60 cloud/instance-type: B1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:04:00.000Z" + - timestamp: '2023-07-06T00:04:00.000Z' duration: 60 cloud/instance-type: B1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:05:00.000Z" + - timestamp: '2023-07-06T00:05:00.000Z' duration: 60 cloud/instance-type: B1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:06:00.000Z" + - timestamp: '2023-07-06T00:06:00.000Z' duration: 60 cloud/instance-type: B1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:07:00.000Z" + - timestamp: '2023-07-06T00:07:00.000Z' duration: 60 cloud/instance-type: B1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:08:00.000Z" + - timestamp: '2023-07-06T00:08:00.000Z' duration: 60 cloud/instance-type: B1 region: uk-west common-key: common-val cpu/utilization: "*" memory/utilization: "*" - - timestamp: "2023-07-06T00:09:00.000Z" - duration: 60 - cloud/instance-type: B1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - outputs: - - timestamp: "2023-07-06T00:00:00.000Z" - duration: 60 - cloud/instance-type: A1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:01:00.000Z" - duration: 60 - cloud/instance-type: A1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:02:00.000Z" - duration: 60 - cloud/instance-type: A1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:03:00.000Z" - duration: 60 - cloud/instance-type: A1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:04:00.000Z" - duration: 60 - cloud/instance-type: A1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:05:00.000Z" - duration: 60 - cloud/instance-type: A1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:06:00.000Z" - duration: 60 - cloud/instance-type: A1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:07:00.000Z" - duration: 60 - cloud/instance-type: A1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:08:00.000Z" - duration: 60 - cloud/instance-type: A1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:09:00.000Z" - duration: 60 - cloud/instance-type: A1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:00:00.000Z" - duration: 60 - cloud/instance-type: B1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:01:00.000Z" - duration: 60 - cloud/instance-type: B1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:02:00.000Z" - duration: 60 - cloud/instance-type: B1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:03:00.000Z" - duration: 60 - cloud/instance-type: B1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:04:00.000Z" - duration: 60 - cloud/instance-type: B1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:05:00.000Z" - duration: 60 - cloud/instance-type: B1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:06:00.000Z" - duration: 60 - cloud/instance-type: B1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:07:00.000Z" - duration: 60 - cloud/instance-type: B1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:08:00.000Z" - duration: 60 - cloud/instance-type: B1 - region: uk-west - common-key: common-val - cpu/utilization: "*" - memory/utilization: "*" - - timestamp: "2023-07-06T00:09:00.000Z" + - timestamp: '2023-07-06T00:09:00.000Z' duration: 60 cloud/instance-type: B1 region: uk-west diff --git a/manifests/outputs/builtins/regex/failure-not-matching-with-regex.yaml b/manifests/outputs/builtins/regex/failure-not-matching-with-regex.yaml new file mode 100644 index 000000000..e18b408b1 --- /dev/null +++ b/manifests/outputs/builtins/regex/failure-not-matching-with-regex.yaml @@ -0,0 +1,72 @@ +name: regex +description: physical processor doesn't match the regex expression +tags: null +initialize: + plugins: + regex: + method: Regex + path: builtin + config: + parameter: physical-processor + match: ^$ + output: cpu/name +execution: + status: fail + command: >- + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/builtins/regex/failure-not-matching-with-regex.yml -o + manifests/outputs/builtins/regex/failure-not-matching-with-regex.yaml + environment: + if-version: 0.6.0 + os: macOS + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T11:17:40.549Z (UTC) + dependencies: + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' + - axios-mock-adapter@1.22.0 + - axios@1.7.2 + - cross-env@7.0.3 + - csv-parse@5.5.6 + - csv-stringify@6.4.6 + - fixpack@4.0.0 + - gts@5.2.0 + - husky@8.0.3 + - jest@29.7.0 + - js-yaml@4.1.0 + - lint-staged@15.2.2 + - luxon@3.4.4 + - release-it@16.3.0 + - rimraf@5.0.5 + - ts-command-line-args@2.5.1 + - ts-jest@29.1.1 + - typescript-cubic-spline@1.0.1 + - typescript@5.2.2 + - winston@3.11.0 + - zod@3.23.8 + error: >- + RegexMismatchError: `Intel® Xeon® Platinum 8272CL,Intel® Xeon® 8171M 2.1 + GHz,Intel® Xeon® E5-2673 v4 2.3 GHz,Intel® Xeon® E5-2673 v3 2.4 GHz` does + not match the /^$/ regex expression +tree: + children: + child: + pipeline: + compute: + - regex + inputs: + - timestamp: 2023-08-06T00:00 + duration: 3600 + physical-processor: >- + Intel® Xeon® Platinum 8272CL,Intel® Xeon® 8171M 2.1 GHz,Intel® Xeon® + E5-2673 v4 2.3 GHz,Intel® Xeon® E5-2673 v3 2.4 GHz diff --git a/manifests/outputs/builtins/sci-embodied/scenario-1.yaml b/manifests/outputs/builtins/sci-embodied/scenario-1.yaml new file mode 100644 index 000000000..ec07d4df1 --- /dev/null +++ b/manifests/outputs/builtins/sci-embodied/scenario-1.yaml @@ -0,0 +1,91 @@ +name: embodied-carbon demo +description: null +tags: null +aggregation: + metrics: + - embodied-carbon + type: both +initialize: + plugins: + embodied-carbon: + path: builtin + method: SciEmbodied + config: + output-parameter: embodied-carbon +execution: + command: >- + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/builtins/sci-embodied/scenario-1.yml -o + manifests/outputs/builtins/sci-embodied/scenario-1.yml + environment: + if-version: 0.6.0 + os: macOS + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:14:16.990Z (UTC) + dependencies: + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' + - axios-mock-adapter@1.22.0 + - axios@1.7.2 + - cross-env@7.0.3 + - csv-parse@5.5.6 + - csv-stringify@6.4.6 + - fixpack@4.0.0 + - gts@5.2.0 + - husky@8.0.3 + - jest@29.7.0 + - js-yaml@4.1.0 + - lint-staged@15.2.2 + - luxon@3.4.4 + - release-it@16.3.0 + - rimraf@5.0.5 + - ts-command-line-args@2.5.1 + - ts-jest@29.1.1 + - typescript-cubic-spline@1.0.1 + - typescript@5.2.2 + - winston@3.11.0 + - zod@3.23.8 + status: success +tree: + children: + child: + pipeline: + compute: + - embodied-carbon + inputs: + - timestamp: 2023-08-06T00:00 + duration: 3600 + hdd: 2 + - timestamp: 2023-08-06T10:00 + duration: 3600 + hdd: 2 + outputs: + - timestamp: 2023-08-06T00:00 + duration: 3600 + hdd: 2 + embodied-carbon: 34.24657534246575 + - timestamp: 2023-08-06T10:00 + duration: 3600 + hdd: 2 + embodied-carbon: 34.24657534246575 + aggregated: + embodied-carbon: 68.4931506849315 + outputs: + - embodied-carbon: 34.24657534246575 + timestamp: 2023-08-06T00:00 + duration: 3600 + - embodied-carbon: 34.24657534246575 + timestamp: 2023-08-06T10:00 + duration: 3600 + aggregated: + embodied-carbon: 68.4931506849315 diff --git a/manifests/outputs/builtins/sci-embodied/scenario-2.yaml b/manifests/outputs/builtins/sci-embodied/scenario-2.yaml new file mode 100644 index 000000000..2ecf249cf --- /dev/null +++ b/manifests/outputs/builtins/sci-embodied/scenario-2.yaml @@ -0,0 +1,100 @@ +name: embodied-carbon demo +description: null +tags: null +initialize: + plugins: + embodied-carbon: + path: builtin + method: SciEmbodied + config: + baseline-vcpus: 1 + baseline-memory: 16 + lifespan: 157680000 + baseline-emissions: 2000000 + vcpu-emissions-constant: 100000 + memory-emissions-constant: 1172 + ssd-emissions-constant: 50000 + hdd-emissions-constant: 100000 + gpu-emissions-constant: 150000 + output-parameter: embodied-carbon +execution: + command: >- + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/builtins/sci-embodied/scenario-2.yml -o + manifests/outputs/builtins/sci-embodied/scenario-2.yml + environment: + if-version: 0.6.0 + os: macOS + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:14:14.168Z (UTC) + dependencies: + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' + - axios-mock-adapter@1.22.0 + - axios@1.7.2 + - cross-env@7.0.3 + - csv-parse@5.5.6 + - csv-stringify@6.4.6 + - fixpack@4.0.0 + - gts@5.2.0 + - husky@8.0.3 + - jest@29.7.0 + - js-yaml@4.1.0 + - lint-staged@15.2.2 + - luxon@3.4.4 + - release-it@16.3.0 + - rimraf@5.0.5 + - ts-command-line-args@2.5.1 + - ts-jest@29.1.1 + - typescript-cubic-spline@1.0.1 + - typescript@5.2.2 + - winston@3.11.0 + - zod@3.23.8 + status: success +tree: + children: + child: + pipeline: + compute: + - embodied-carbon + defaults: + vCPUs: 4 + memory: 32 + ssd: 1 + hdd: 1 + gpu: 1 + total-vcpus: 16 + inputs: + - timestamp: 2023-08-06T00:00 + duration: 3600 + - timestamp: 2023-08-06T10:00 + duration: 3600 + outputs: + - timestamp: 2023-08-06T00:00 + duration: 3600 + vCPUs: 4 + memory: 32 + ssd: 1 + hdd: 1 + gpu: 1 + total-vcpus: 16 + embodied-carbon: 487.48858447488584 + - timestamp: 2023-08-06T10:00 + duration: 3600 + vCPUs: 4 + memory: 32 + ssd: 1 + hdd: 1 + gpu: 1 + total-vcpus: 16 + embodied-carbon: 487.48858447488584 diff --git a/manifests/outputs/builtins/sci-embodied/success.yaml b/manifests/outputs/builtins/sci-embodied/success.yaml index e91ab9212..da0a86549 100644 --- a/manifests/outputs/builtins/sci-embodied/success.yaml +++ b/manifests/outputs/builtins/sci-embodied/success.yaml @@ -3,32 +3,43 @@ description: successful path tags: null initialize: plugins: + csv-lookup: + path: builtin + method: CSVLookup + config: + filepath: >- + https://raw.githubusercontent.com/Green-Software-Foundation/if-data/main/cloud-metdata-azure-instances.csv + query: + instance-class: cloud/instance-type + output: + - cpu-cores-utilized + - vcpus-allocated sci-embodied: path: builtin method: SciEmbodied execution: command: >- - /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node - /Users/mariamkhalatova/Projects/UK/if/src/index.ts -m - manifests/outputs/plugins/sci-embodied/success.yml -o - manifests/outputs/plugins/sci-embodied/success + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/builtins/sci-embodied/success.yml -o + manifests/outputs/builtins/sci-embodied/success.yml environment: - if-version: 0.4.0 + if-version: 0.6.0 os: macOS - os-version: "13.2" - node-version: 18.14.2 - date-time: 2024-07-02T20:42:03.186Z (UTC) + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:14:11.145Z (UTC) dependencies: - - "@babel/core@7.22.10" - - "@babel/preset-typescript@7.23.3" - - "@commitlint/cli@18.6.0" - - "@commitlint/config-conventional@18.6.0" - - "@grnsft/if-core@0.0.10" - - "@jest/globals@29.7.0" - - "@types/jest@29.5.8" - - "@types/js-yaml@4.0.9" - - "@types/luxon@3.4.2" - - "@types/node@20.9.0" + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' - axios-mock-adapter@1.22.0 - axios@1.7.2 - cross-env@7.0.3 @@ -48,13 +59,14 @@ execution: - typescript-cubic-spline@1.0.1 - typescript@5.2.2 - winston@3.11.0 - - zod@3.22.4 + - zod@3.23.8 status: success tree: children: child: pipeline: compute: + - csv-lookup - sci-embodied defaults: device/emissions-embodied: 1533.12 @@ -65,12 +77,19 @@ tree: inputs: - timestamp: 2023-07-06T00:00 duration: 3600 + cloud/vendor: intel + cloud/instance-type: Standard_A1_v2 + cpu/utilization: 10 outputs: - timestamp: 2023-07-06T00:00 duration: 3600 + cloud/vendor: intel + cloud/instance-type: Standard_A1_v2 + cpu/utilization: 10 device/emissions-embodied: 1533.12 time-reserved: 3600 device/expected-lifespan: 94608000 resources-reserved: 1 resources-total: 8 - carbon-embodied: 0.007292237442922374 + vcpus-allocated: 1 + embodied-carbon: 28.538812785388128 diff --git a/manifests/outputs/builtins/sci/failure-invalid-config-value.yaml b/manifests/outputs/builtins/sci/failure-invalid-config-value.yaml index c8f34a4e4..8d46b1964 100644 --- a/manifests/outputs/builtins/sci/failure-invalid-config-value.yaml +++ b/manifests/outputs/builtins/sci/failure-invalid-config-value.yaml @@ -10,27 +10,27 @@ initialize: execution: status: fail command: >- - /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node - /Users/mariamkhalatova/Projects/UK/if/src/index.ts -m - manifests/outputs/plugins/sci/failure-invalid-config-value.yml -o - manifests/outputs/plugins/sci/failure-invalid-config-value + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/builtins/sci/failure-invalid-config-value.yml -o + manifests/outputs/builtins/sci/failure-invalid-config-value.yml environment: - if-version: 0.4.0 + if-version: 0.6.0 os: macOS - os-version: "13.2" - node-version: 18.14.2 - date-time: 2024-07-02T20:38:15.858Z (UTC) + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:15:31.434Z (UTC) dependencies: - - "@babel/core@7.22.10" - - "@babel/preset-typescript@7.23.3" - - "@commitlint/cli@18.6.0" - - "@commitlint/config-conventional@18.6.0" - - "@grnsft/if-core@0.0.10" - - "@jest/globals@29.7.0" - - "@types/jest@29.5.8" - - "@types/js-yaml@4.0.9" - - "@types/luxon@3.4.2" - - "@types/node@20.9.0" + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' - axios-mock-adapter@1.22.0 - axios@1.7.2 - cross-env@7.0.3 @@ -50,8 +50,8 @@ execution: - typescript-cubic-spline@1.0.1 - typescript@5.2.2 - winston@3.11.0 - - zod@3.22.4 - error: "InputValidationError: Required" + - zod@3.23.8 + error: 'ConfigError: Config is not provided.' tree: children: child: diff --git a/manifests/outputs/builtins/time-converter/success.yaml b/manifests/outputs/builtins/time-converter/success.yaml index 33ae5d503..012fdbbbb 100644 --- a/manifests/outputs/builtins/time-converter/success.yaml +++ b/manifests/outputs/builtins/time-converter/success.yaml @@ -16,23 +16,19 @@ execution: /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m manifests/examples/builtins/time-converter/success.yaml -o - manifests/outputs/time-converter/success + manifests/outputs/builtins/time-converter/success.yaml environment: if-version: 0.6.0 os: macOS - os-version: 13.6.7 - node-version: 18.20.0 - date-time: 2024-08-28T13:04:25.498Z (UTC) + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:14:08.350Z (UTC) dependencies: - '@babel/core@7.22.10' - '@babel/preset-typescript@7.23.3' - '@commitlint/cli@18.6.0' - '@commitlint/config-conventional@18.6.0' - - '@grnsft/if-core@0.0.18' - - '@grnsft/if-plugins@v0.3.2 extraneous -> file:../../../if-models' - - >- - @grnsft/if-unofficial-plugins@v0.3.0 extraneous -> - file:../../../if-unofficial-models + - '@grnsft/if-core@0.0.22' - '@jest/globals@29.7.0' - '@types/jest@29.5.8' - '@types/js-yaml@4.0.9' @@ -46,8 +42,6 @@ execution: - fixpack@4.0.0 - gts@5.2.0 - husky@8.0.3 - - if-eco-ci-plugin@v0.0.1 extraneous -> file:../../if-eco-ci-plugin - - if-github-plugin@v0.0.1 extraneous -> file:../../if-github-plugin - jest@29.7.0 - js-yaml@4.1.0 - lint-staged@15.2.2 diff --git a/manifests/outputs/builtins/time-sync/failure-missing-global-config.yaml b/manifests/outputs/builtins/time-sync/failure-missing-global-config.yaml new file mode 100644 index 000000000..664da36d1 --- /dev/null +++ b/manifests/outputs/builtins/time-sync/failure-missing-global-config.yaml @@ -0,0 +1,77 @@ +name: time-sync +description: missing config +tags: null +initialize: + output: + - yaml + plugins: + time-sync: + method: TimeSync + path: builtin + config: null +execution: + status: fail + command: >- + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/builtins/time-sync/failure-missing-global-config.yml -o + manifests/outputs/builtins/time-sync/failure-missing-global-config.yml + environment: + if-version: 0.6.0 + os: macOS + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:16:16.464Z (UTC) + dependencies: + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' + - axios-mock-adapter@1.22.0 + - axios@1.7.2 + - cross-env@7.0.3 + - csv-parse@5.5.6 + - csv-stringify@6.4.6 + - fixpack@4.0.0 + - gts@5.2.0 + - husky@8.0.3 + - jest@29.7.0 + - js-yaml@4.1.0 + - lint-staged@15.2.2 + - luxon@3.4.4 + - release-it@16.3.0 + - rimraf@5.0.5 + - ts-command-line-args@2.5.1 + - ts-jest@29.1.1 + - typescript-cubic-spline@1.0.1 + - typescript@5.2.2 + - winston@3.11.0 + - zod@3.23.8 + error: >- + ManifestValidationError: "initialize.plugins.time-sync.config" parameter is + expected object, received null. Error code: invalid_type. +tree: + children: + child: + pipeline: + compute: + - time-sync + inputs: + - timestamp: '2023-12-12T00:00:00.000Z' + duration: 3 + energy-cpu: 0.001 + - timestamp: '2023-12-12T00:00:01.000Z' + duration: 5 + energy-cpu: 0.001 + - timestamp: '2023-12-12T00:00:06.000Z' + duration: 7 + energy-cpu: 0.001 + - timestamp: '2023-12-12T00:00:13.000Z' + duration: 30 + energy-cpu: 0.001 diff --git a/manifests/outputs/builtins/time-sync/success.yaml b/manifests/outputs/builtins/time-sync/success.yaml index 36d6c10da..b49acb084 100644 --- a/manifests/outputs/builtins/time-sync/success.yaml +++ b/manifests/outputs/builtins/time-sync/success.yaml @@ -7,39 +7,33 @@ initialize: path: builtin method: TimeSync config: - start-time: "2023-12-12T00:00:00.000Z" - end-time: "2023-12-12T00:01:00.000Z" + start-time: '2023-12-12T00:00:00.000Z' + end-time: '2023-12-12T00:01:00.000Z' interval: 5 allow-padding: true - parameter-metadata: - outputs: - energy-cpu: - unit: KWH - description: energy - aggregation-method: sum execution: command: >- - /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node - /Users/mariamkhalatova/Projects/UK/if/src/index.ts -m - manifests/outputs/plugins/time-sync/success.yml -o - manifests/outputs/plugins/time-sync/success -s + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/builtins/time-sync/success.yml -o + manifests/outputs/builtins/time-sync/success.yml environment: - if-version: 0.4.0 + if-version: 0.6.0 os: macOS - os-version: "13.2" - node-version: 18.14.2 - date-time: 2024-07-02T21:12:32.629Z (UTC) + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:16:13.676Z (UTC) dependencies: - - "@babel/core@7.22.10" - - "@babel/preset-typescript@7.23.3" - - "@commitlint/cli@18.6.0" - - "@commitlint/config-conventional@18.6.0" - - "@grnsft/if-core@0.0.10" - - "@jest/globals@29.7.0" - - "@types/jest@29.5.8" - - "@types/js-yaml@4.0.9" - - "@types/luxon@3.4.2" - - "@types/node@20.9.0" + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' - axios-mock-adapter@1.22.0 - axios@1.7.2 - cross-env@7.0.3 @@ -59,7 +53,7 @@ execution: - typescript-cubic-spline@1.0.1 - typescript@5.2.2 - winston@3.11.0 - - zod@3.22.4 + - zod@3.23.8 status: success tree: children: @@ -68,55 +62,52 @@ tree: compute: - time-sync inputs: - - timestamp: "2023-12-12T00:00:00.000Z" + - timestamp: '2023-12-12T00:00:00.000Z' duration: 1 energy-cpu: 0.001 - - timestamp: "2023-12-12T00:00:01.000Z" + - timestamp: '2023-12-12T00:00:01.000Z' duration: 5 energy-cpu: 0.001 - - timestamp: "2023-12-12T00:00:06.000Z" + - timestamp: '2023-12-12T00:00:06.000Z' duration: 7 energy-cpu: 0.001 - - timestamp: "2023-12-12T00:00:13.000Z" + - timestamp: '2023-12-12T00:00:13.000Z' duration: 30 energy-cpu: 0.001 outputs: - - timestamp: "2023-12-12T00:00:00.000Z" + - timestamp: '2023-12-12T00:00:00.000Z' duration: 5 - energy-cpu: 0.0018000000000000004 - - timestamp: "2023-12-12T00:00:05.000Z" + energy-cpu: 0.001 + - timestamp: '2023-12-12T00:00:05.000Z' duration: 5 - energy-cpu: 0.0007714285714285716 - - timestamp: "2023-12-12T00:00:10.000Z" + energy-cpu: 0.001 + - timestamp: '2023-12-12T00:00:10.000Z' duration: 5 - energy-cpu: 0.0004952380952380952 - - timestamp: "2023-12-12T00:00:15.000Z" + energy-cpu: 0.001 + - timestamp: '2023-12-12T00:00:15.000Z' duration: 5 - energy-cpu: 0.0001666666666666667 - - timestamp: "2023-12-12T00:00:20.000Z" + energy-cpu: 0.001 + - timestamp: '2023-12-12T00:00:20.000Z' duration: 5 - energy-cpu: 0.0001666666666666667 - - timestamp: "2023-12-12T00:00:25.000Z" + energy-cpu: 0.001 + - timestamp: '2023-12-12T00:00:25.000Z' duration: 5 - energy-cpu: 0.0001666666666666667 - - timestamp: "2023-12-12T00:00:30.000Z" + energy-cpu: 0.001 + - timestamp: '2023-12-12T00:00:30.000Z' duration: 5 - energy-cpu: 0.0001666666666666667 - - timestamp: "2023-12-12T00:00:35.000Z" + energy-cpu: 0.001 + - timestamp: '2023-12-12T00:00:35.000Z' duration: 5 - energy-cpu: 0.0001666666666666667 - - timestamp: "2023-12-12T00:00:40.000Z" + energy-cpu: 0.001 + - timestamp: '2023-12-12T00:00:40.000Z' duration: 5 - energy-cpu: 0.0001 - - timestamp: "2023-12-12T00:00:45.000Z" + energy-cpu: 0.001 + - timestamp: '2023-12-12T00:00:45.000Z' duration: 5 - energy-cpu: 0 - - timestamp: "2023-12-12T00:00:50.000Z" + energy-cpu: 0.001 + - timestamp: '2023-12-12T00:00:50.000Z' duration: 5 - energy-cpu: 0 - - timestamp: "2023-12-12T00:00:55.000Z" + energy-cpu: 0.001 + - timestamp: '2023-12-12T00:00:55.000Z' duration: 5 - energy-cpu: 0 - - timestamp: "2023-12-12T00:01:00.000Z" - duration: 1 - energy-cpu: 0 + energy-cpu: 0.001 diff --git a/manifests/outputs/features/aggregate-horizontal.yaml b/manifests/outputs/features/aggregate-horizontal.yaml index 888ae1441..f08a645e3 100644 --- a/manifests/outputs/features/aggregate-horizontal.yaml +++ b/manifests/outputs/features/aggregate-horizontal.yaml @@ -22,7 +22,9 @@ initialize: cpu/utilization: unit: percentage description: refers to CPU utilization. - aggregation-method: avg + aggregation-method: + time: avg + component: avg execution: command: >- /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node diff --git a/manifests/outputs/features/aggregate-vertical.yaml b/manifests/outputs/features/aggregate-vertical.yaml index 3ba96d0b1..e559d715a 100644 --- a/manifests/outputs/features/aggregate-vertical.yaml +++ b/manifests/outputs/features/aggregate-vertical.yaml @@ -22,7 +22,9 @@ initialize: cpu/utilization: unit: percentage description: refers to CPU utilization. - aggregation-method: avg + aggregation-method: + time: avg + component: avg execution: command: >- /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node diff --git a/manifests/outputs/features/aggregate.yaml b/manifests/outputs/features/aggregate.yaml index 96c72adf2..d00adde49 100644 --- a/manifests/outputs/features/aggregate.yaml +++ b/manifests/outputs/features/aggregate.yaml @@ -22,7 +22,9 @@ initialize: cpu/utilization: unit: percentage description: refers to CPU utilization. - aggregation-method: avg + aggregation-method: + time: avg + component: avg execution: command: >- /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node diff --git a/manifests/outputs/features/regroup/failure-invalid-regroup.yaml b/manifests/outputs/features/regroup/failure-invalid-regroup.yaml new file mode 100644 index 000000000..2a40fe2fb --- /dev/null +++ b/manifests/outputs/features/regroup/failure-invalid-regroup.yaml @@ -0,0 +1,87 @@ +name: regroup +description: failure when `regroup` is not an array +initialize: + plugins: {} +execution: + status: fail + command: >- + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/features/regroup/failure-invalid-regroup.yml -o + manifests/outputs/features/regroup/failure-invalid-regroup.yml + environment: + if-version: 0.6.0 + os: macOS + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:13:09.837Z (UTC) + dependencies: + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' + - axios-mock-adapter@1.22.0 + - axios@1.7.2 + - cross-env@7.0.3 + - csv-parse@5.5.6 + - csv-stringify@6.4.6 + - fixpack@4.0.0 + - gts@5.2.0 + - husky@8.0.3 + - jest@29.7.0 + - js-yaml@4.1.0 + - lint-staged@15.2.2 + - luxon@3.4.4 + - release-it@16.3.0 + - rimraf@5.0.5 + - ts-command-line-args@2.5.1 + - ts-jest@29.1.1 + - typescript-cubic-spline@1.0.1 + - typescript@5.2.2 + - winston@3.11.0 + - zod@3.23.8 + error: >- + InputValidationError: "regroup" parameter is not an array or should contain + at least one key. Error code: invalid_type. +tree: + children: + my-app: + pipeline: + regroup: cloud/region + inputs: + - timestamp: 2023-07-06T00:00 + duration: 300 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 99 + - timestamp: 2023-07-06T05:00 + duration: 300 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 23 + - timestamp: 2023-07-06T10:00 + duration: 300 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 12 + - timestamp: 2023-07-06T00:00 + duration: 300 + cloud/instance-type: B1 + cloud/region: uk-west + cpu/utilization: 11 + - timestamp: 2023-07-06T05:00 + duration: 300 + cloud/instance-type: B1 + cloud/region: uk-west + cpu/utilization: 67 + - timestamp: 2023-07-06T10:00 + duration: 300 + cloud/instance-type: B1 + cloud/region: uk-west + cpu/utilization: 1 diff --git a/manifests/outputs/features/regroup/failure-missing-cloud-instance-type.yaml b/manifests/outputs/features/regroup/failure-missing-cloud-instance-type.yaml new file mode 100644 index 000000000..65fa5a113 --- /dev/null +++ b/manifests/outputs/features/regroup/failure-missing-cloud-instance-type.yaml @@ -0,0 +1,87 @@ +name: regroup +description: null +initialize: + plugins: {} +execution: + status: fail + command: >- + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/features/regroup/failure-missing-cloud-instance-type.yml + -o + manifests/outputs/features/regroup/failure-missing-cloud-instance-type.yml + environment: + if-version: 0.6.0 + os: macOS + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:13:14.590Z (UTC) + dependencies: + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' + - axios-mock-adapter@1.22.0 + - axios@1.7.2 + - cross-env@7.0.3 + - csv-parse@5.5.6 + - csv-stringify@6.4.6 + - fixpack@4.0.0 + - gts@5.2.0 + - husky@8.0.3 + - jest@29.7.0 + - js-yaml@4.1.0 + - lint-staged@15.2.2 + - luxon@3.4.4 + - release-it@16.3.0 + - rimraf@5.0.5 + - ts-command-line-args@2.5.1 + - ts-jest@29.1.1 + - typescript-cubic-spline@1.0.1 + - typescript@5.2.2 + - winston@3.11.0 + - zod@3.23.8 + error: 'InvalidGroupingError: Invalid group cloud/instance-type.' +tree: + children: + my-app: + pipeline: + regroup: + - cloud/region + - cloud/instance-type + inputs: + - timestamp: 2023-07-06T00:00 + duration: 300 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 99 + - timestamp: 2023-07-06T05:00 + duration: 300 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 23 + - timestamp: 2023-07-06T10:00 + duration: 300 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 12 + - timestamp: 2023-07-06T00:00 + duration: 300 + cloud/instance-type: B1 + cloud/region: uk-west + cpu/utilization: 11 + - timestamp: 2023-07-06T05:00 + duration: 300 + cloud/instance-type: B1 + cloud/region: uk-west + cpu/utilization: 67 + - timestamp: 2023-07-06T10:00 + duration: 300 + cloud/region: uk-west + cpu/utilization: 1 diff --git a/manifests/outputs/features/regroup/success.yaml b/manifests/outputs/features/regroup/success.yaml new file mode 100644 index 000000000..efc6d847f --- /dev/null +++ b/manifests/outputs/features/regroup/success.yaml @@ -0,0 +1,92 @@ +name: regroup +description: successful path +initialize: + plugins: {} +execution: + command: >- + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/features/regroup/success.yml -o + manifests/outputs/features/regroup/success.yml + environment: + if-version: 0.6.0 + os: macOS + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:13:12.222Z (UTC) + dependencies: + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' + - axios-mock-adapter@1.22.0 + - axios@1.7.2 + - cross-env@7.0.3 + - csv-parse@5.5.6 + - csv-stringify@6.4.6 + - fixpack@4.0.0 + - gts@5.2.0 + - husky@8.0.3 + - jest@29.7.0 + - js-yaml@4.1.0 + - lint-staged@15.2.2 + - luxon@3.4.4 + - release-it@16.3.0 + - rimraf@5.0.5 + - ts-command-line-args@2.5.1 + - ts-jest@29.1.1 + - typescript-cubic-spline@1.0.1 + - typescript@5.2.2 + - winston@3.11.0 + - zod@3.23.8 + status: success +tree: + children: + my-app: + pipeline: + regroup: + - cloud/region + - cloud/instance-type + children: + uk-west: + children: + A1: + inputs: + - timestamp: 2023-07-06T00:00 + duration: 300 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 99 + - timestamp: 2023-07-06T05:00 + duration: 300 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 23 + - timestamp: 2023-07-06T10:00 + duration: 300 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 12 + B1: + inputs: + - timestamp: 2023-07-06T00:00 + duration: 300 + cloud/instance-type: B1 + cloud/region: uk-west + cpu/utilization: 11 + - timestamp: 2023-07-06T05:00 + duration: 300 + cloud/instance-type: B1 + cloud/region: uk-west + cpu/utilization: 67 + - timestamp: 2023-07-06T10:00 + duration: 300 + cloud/instance-type: B1 + cloud/region: uk-west + cpu/utilization: 1 diff --git a/manifests/outputs/pipelines/mock-obs-time-sync.yaml b/manifests/outputs/pipelines/mock-obs-time-sync.yaml deleted file mode 100644 index efe31175e..000000000 --- a/manifests/outputs/pipelines/mock-obs-time-sync.yaml +++ /dev/null @@ -1,449 +0,0 @@ -name: Mock observation and time sync integration -description: Integration of `mock observation` + `time sync` -tags: null -initialize: - plugins: - mock-observations: - path: builtin - method: MockObservations - config: - timestamp-from: 2023-12-12T00:00 - timestamp-to: 2023-12-12T00:10 - duration: 60 - components: - - cloud/instance-type: A1 - generators: - common: - cloud/region: uk-west - randint: - cpu/utilization: - min: 1 - max: 99 - parameter-metadata: - inputs: - timestamp: - description: refers to the time of occurrence of the input - unit: RFC3339 - aggregation-method: none - duration: - description: refers to the duration of the input - unit: seconds - aggregation-method: sum - cloud/instance-type: - description: type of Cloud Instance name used in the cloud provider APIs - unit: none - aggregation-method: none - cloud/region: - description: region cloud instance - unit: none - aggregation-method: none - interpolate: - path: builtin - method: Interpolation - config: - method: linear - x: - - 0 - - 10 - - 50 - - 100 - "y": - - 0.12 - - 0.32 - - 0.75 - - 1.02 - input-parameter: cpu/utilization - output-parameter: cpu-factor - parameter-metadata: - inputs: - cpu/utilization: - description: refers to CPU utilization. - unit: percentage - aggregation-method: avg - cpu-factor-to-wattage: - path: builtin - method: Multiply - config: - input-parameters: - - cpu-factor - - cpu/thermal-design-power - output-parameter: cpu-wattage - parameter-metadata: - inputs: - cpu/thermal-design-power: - description: thermal design power for a processor - unit: kwh - aggregation-method: avg - wattage-times-duration: - path: builtin - method: Multiply - config: - input-parameters: - - cpu-wattage - - duration - output-parameter: cpu-wattage-times-duration - wattage-to-energy-kwh: - path: builtin - method: Divide - config: - numerator: cpu-wattage-times-duration - denominator: 3600000 - output: cpu-energy-raw - calculate-vcpu-ratio: - path: builtin - method: Divide - config: - numerator: vcpus-total - denominator: vcpus-allocated - output: vcpu-ratio - parameter-metadata: - inputs: - vcpus-total: - description: total number of vcpus available on a particular resource - unit: count - aggregation-method: none - vcpus-allocated: - description: number of vcpus allocated to particular resource - unit: count - aggregation-method: none - correct-cpu-energy-for-vcpu-ratio: - path: builtin - method: Divide - config: - numerator: cpu-energy-raw - denominator: vcpu-ratio - output: cpu-energy-kwh - time-sync: - path: builtin - method: TimeSync - config: - start-time: "2023-12-12T00:00:00.000Z" - end-time: "2023-12-12T00:01:00.000Z" - interval: 5 - allow-padding: true -execution: - command: >- - /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node - /Users/mariamkhalatova/Projects/UK/if/src/index.ts -m - manifests/outputs/pipelines/mock-obs-time-sync.yml -o - manifests/outputs/pipelines/mock-obs-time-sync - environment: - if-version: 0.4.0 - os: macOS - os-version: "13.2" - node-version: 18.14.2 - date-time: 2024-07-02T05:29:47.787Z (UTC) - dependencies: - - "@babel/core@7.22.10" - - "@babel/preset-typescript@7.23.3" - - "@commitlint/cli@18.6.0" - - "@commitlint/config-conventional@18.6.0" - - "@grnsft/if-core@0.0.10" - - "@jest/globals@29.7.0" - - "@types/jest@29.5.8" - - "@types/js-yaml@4.0.9" - - "@types/luxon@3.4.2" - - "@types/node@20.9.0" - - axios-mock-adapter@1.22.0 - - axios@1.7.2 - - cross-env@7.0.3 - - csv-parse@5.5.6 - - csv-stringify@6.4.6 - - fixpack@4.0.0 - - gts@5.2.0 - - husky@8.0.3 - - jest@29.7.0 - - js-yaml@4.1.0 - - lint-staged@15.2.2 - - luxon@3.4.4 - - release-it@16.3.0 - - rimraf@5.0.5 - - ts-command-line-args@2.5.1 - - ts-jest@29.1.1 - - typescript-cubic-spline@1.0.1 - - typescript@5.2.2 - - winston@3.11.0 - - zod@3.22.4 - status: success -tree: - children: - child-1: - pipeline: - observe: - - mock-observations - compute: - - interpolate - - cpu-factor-to-wattage - - wattage-times-duration - - wattage-to-energy-kwh - - calculate-vcpu-ratio - - correct-cpu-energy-for-vcpu-ratio - - time-sync - defaults: - cpu/thermal-design-power: 100 - vcpus-total: 8 - vcpus-allocated: 1 - inputs: - - timestamp: "2023-12-12T00:00:00.000Z" - cloud/instance-type: A1 - cloud/region: uk-west - duration: 60 - cpu/utilization: "*" - cpu/thermal-design-power: 100 - vcpus-total: 8 - vcpus-allocated: 1 - - timestamp: "2023-12-12T00:01:00.000Z" - cloud/instance-type: A1 - cloud/region: uk-west - duration: 60 - cpu/utilization: "*" - cpu/thermal-design-power: 100 - vcpus-total: 8 - vcpus-allocated: 1 - - timestamp: "2023-12-12T00:02:00.000Z" - cloud/instance-type: A1 - cloud/region: uk-west - duration: 60 - cpu/utilization: "*" - cpu/thermal-design-power: 100 - vcpus-total: 8 - vcpus-allocated: 1 - - timestamp: "2023-12-12T00:03:00.000Z" - cloud/instance-type: A1 - cloud/region: uk-west - duration: 60 - cpu/utilization: "*" - cpu/thermal-design-power: 100 - vcpus-total: 8 - vcpus-allocated: 1 - - timestamp: "2023-12-12T00:04:00.000Z" - cloud/instance-type: A1 - cloud/region: uk-west - duration: 60 - cpu/utilization: "*" - cpu/thermal-design-power: 100 - vcpus-total: 8 - vcpus-allocated: 1 - - timestamp: "2023-12-12T00:05:00.000Z" - cloud/instance-type: A1 - cloud/region: uk-west - duration: 60 - cpu/utilization: "*" - cpu/thermal-design-power: 100 - vcpus-total: 8 - vcpus-allocated: 1 - - timestamp: "2023-12-12T00:06:00.000Z" - cloud/instance-type: A1 - cloud/region: uk-west - duration: 60 - cpu/utilization: "*" - cpu/thermal-design-power: 100 - vcpus-total: 8 - vcpus-allocated: 1 - - timestamp: "2023-12-12T00:07:00.000Z" - cloud/instance-type: A1 - cloud/region: uk-west - duration: 60 - cpu/utilization: "*" - cpu/thermal-design-power: 100 - vcpus-total: 8 - vcpus-allocated: 1 - - timestamp: "2023-12-12T00:08:00.000Z" - cloud/instance-type: A1 - cloud/region: uk-west - duration: 60 - cpu/utilization: "*" - cpu/thermal-design-power: 100 - vcpus-total: 8 - vcpus-allocated: 1 - - timestamp: "2023-12-12T00:09:00.000Z" - cloud/instance-type: A1 - cloud/region: uk-west - duration: 60 - cpu/utilization: "*" - cpu/thermal-design-power: 100 - vcpus-total: 8 - vcpus-allocated: 1 - outputs: - - timestamp: "2023-12-12T00:00:00.000Z" - cloud/instance-type: A1 - cloud/region: uk-west - duration: 5 - cpu/utilization: "*" - cpu/thermal-design-power: 80 - vcpus-total: 8 - vcpus-allocated: 1 - cpu-factor: "*" - cpu-wattage: "*" - cpu-wattage-times-duration: "*" - cpu-energy-raw: "*" - vcpu-ratio: "*" - cpu-energy-kwh: "*" - - timestamp: "2023-12-12T00:00:05.000Z" - duration: 5 - cpu/utilization: "*" - cloud/instance-type: A1 - cloud/region: uk-west - cpu/thermal-design-power: 80 - vcpus-total: 8 - vcpus-allocated: 1 - cpu-factor: "*" - cpu-wattage: "*" - cpu-wattage-times-duration: "*" - cpu-energy-raw: "*" - vcpu-ratio: "*" - cpu-energy-kwh: "*" - - timestamp: "2023-12-12T00:00:10.000Z" - duration: 5 - cpu/utilization: "*" - cloud/instance-type: A1 - cloud/region: uk-west - cpu/thermal-design-power: 80 - vcpus-total: 8 - vcpus-allocated: 1 - cpu-factor: "*" - cpu-wattage: "*" - cpu-wattage-times-duration: "*" - cpu-energy-raw: "*" - vcpu-ratio: "*" - cpu-energy-kwh: "*" - - timestamp: "2023-12-12T00:00:15.000Z" - duration: 5 - cpu/utilization: "*" - cloud/instance-type: A1 - cloud/region: uk-west - cpu/thermal-design-power: 80 - vcpus-total: 8 - vcpus-allocated: 1 - cpu-factor: "*" - cpu-wattage: "*" - cpu-wattage-times-duration: "*" - cpu-energy-raw: "*" - vcpu-ratio: "*" - cpu-energy-kwh: "*" - - timestamp: "2023-12-12T00:00:20.000Z" - duration: 5 - cpu/utilization: "*" - cloud/instance-type: A1 - cloud/region: uk-west - cpu/thermal-design-power: 80 - vcpus-total: 8 - vcpus-allocated: 1 - cpu-factor: "*" - cpu-wattage: "*" - cpu-wattage-times-duration: "*" - cpu-energy-raw: "*" - vcpu-ratio: "*" - cpu-energy-kwh: "*" - - timestamp: "2023-12-12T00:00:25.000Z" - duration: 5 - cpu/utilization: "*" - cloud/instance-type: A1 - cloud/region: uk-west - cpu/thermal-design-power: 80 - vcpus-total: 8 - vcpus-allocated: 1 - cpu-factor: "*" - cpu-wattage: "*" - cpu-wattage-times-duration: "*" - cpu-energy-raw: "*" - vcpu-ratio: "*" - cpu-energy-kwh: "*" - - timestamp: "2023-12-12T00:00:30.000Z" - duration: 5 - cpu/utilization: "*" - cloud/instance-type: A1 - cloud/region: uk-west - cpu/thermal-design-power: 80 - vcpus-total: 8 - vcpus-allocated: 1 - cpu-factor: "*" - cpu-wattage: "*" - cpu-wattage-times-duration: "*" - cpu-energy-raw: "*" - vcpu-ratio: "*" - cpu-energy-kwh: "*" - - timestamp: "2023-12-12T00:00:35.000Z" - duration: 5 - cpu/utilization: "*" - cloud/instance-type: A1 - cloud/region: uk-west - cpu/thermal-design-power: 80 - vcpus-total: 8 - vcpus-allocated: 1 - cpu-factor: "*" - cpu-wattage: "*" - cpu-wattage-times-duration: "*" - cpu-energy-raw: "*" - vcpu-ratio: "*" - cpu-energy-kwh: "*" - - timestamp: "2023-12-12T00:00:40.000Z" - duration: 5 - cpu/utilization: "*" - cloud/instance-type: A1 - cloud/region: uk-west - cpu/thermal-design-power: 80 - vcpus-total: 8 - vcpus-allocated: 1 - cpu-factor: "*" - cpu-wattage: "*" - cpu-wattage-times-duration: "*" - cpu-energy-raw: "*" - vcpu-ratio: "*" - cpu-energy-kwh: "*" - - timestamp: "2023-12-12T00:00:45.000Z" - duration: 5 - cpu/utilization: "*" - cloud/instance-type: A1 - cloud/region: uk-west - cpu/thermal-design-power: 80 - vcpus-total: 8 - vcpus-allocated: 1 - cpu-factor: "*" - cpu-wattage: "*" - cpu-wattage-times-duration: "*" - cpu-energy-raw: "*" - vcpu-ratio: "*" - cpu-energy-kwh: "*" - - timestamp: "2023-12-12T00:00:50.000Z" - duration: 5 - cpu/utilization: "*" - cloud/instance-type: A1 - cloud/region: uk-west - cpu/thermal-design-power: 80 - vcpus-total: 8 - vcpus-allocated: 1 - cpu-factor: "*" - cpu-wattage: "*" - cpu-wattage-times-duration: "*" - cpu-energy-raw: "*" - vcpu-ratio: "*" - cpu-energy-kwh: "*" - - timestamp: "2023-12-12T00:00:55.000Z" - duration: 5 - cpu/utilization: "*" - cloud/instance-type: A1 - cloud/region: uk-west - cpu/thermal-design-power: 80 - vcpus-total: 8 - vcpus-allocated: 1 - cpu-factor: "*" - cpu-wattage: "*" - cpu-wattage-times-duration: "*" - cpu-energy-raw: "*" - vcpu-ratio: "*" - cpu-energy-kwh: "*" - - timestamp: "2023-12-12T00:01:00.000Z" - duration: 1 - cpu/utilization: "*" - cloud/instance-type: A1 - cloud/region: uk-west - cpu/thermal-design-power: 100 - vcpus-total: 8 - vcpus-allocated: 1 - cpu-factor: "*" - cpu-wattage: "*" - cpu-wattage-times-duration: "*" - cpu-energy-raw: "*" - vcpu-ratio: "*" - cpu-energy-kwh: "*" diff --git a/manifests/outputs/pipelines/nesting.yaml b/manifests/outputs/pipelines/nesting.yaml index 3a390abac..0a834b082 100644 --- a/manifests/outputs/pipelines/nesting.yaml +++ b/manifests/outputs/pipelines/nesting.yaml @@ -20,7 +20,7 @@ initialize: - 10 - 50 - 100 - "y": + 'y': - 0.12 - 0.32 - 0.75 @@ -32,12 +32,16 @@ initialize: cpu/utilization: unit: percentage description: refers to CPU utilization. - aggregation-method: avg + aggregation-method: + time: avg + component: sum outputs: cpu-factor: unit: kWh description: result of interpolate - aggregation-method: avg + aggregation-method: + time: avg + component: avg cpu-factor-to-wattage: path: builtin method: Multiply @@ -51,16 +55,22 @@ initialize: cpu-factor: unit: kWh description: result of interpolate - aggregation-method: avg + aggregation-method: + time: avg + component: avg cpu/thermal-design-power: unit: kWh description: thermal design power for a processor - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: cpu-wattage: unit: kWh description: the energy used by the CPU - aggregation-method: sum + aggregation-method: + time: sum + component: sum wattage-times-duration: path: builtin method: Multiply @@ -81,12 +91,16 @@ initialize: cpu-wattage-times-duration: unit: kWh description: CPU wattage multiplied by duration - aggregation-method: sum + aggregation-method: + time: sum + component: sum outputs: cpu-energy-raw: unit: kWh description: Raw energy used by CPU in kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum calculate-vcpu-ratio: path: builtin method: Divide @@ -99,7 +113,9 @@ initialize: vcpu-ratio: unit: none description: Ratio of vCPUs - aggregation-method: none + aggregation-method: + time: copy + component: copy correct-cpu-energy-for-vcpu-ratio: path: builtin method: Divide @@ -123,16 +139,22 @@ initialize: cpu-energy-kwh: unit: kWh description: Corrected CPU energy in kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum grid/carbon-intensity: unit: gCO2eq/kWh description: Carbon intensity for the grid - aggregation-method: avg + aggregation-method: + time: avg + component: avg outputs: carbon-operational: unit: gCO2eq description: Operational carbon footprint - aggregation-method: sum + aggregation-method: + time: sum + component: sum sci: path: builtin method: Sci @@ -143,7 +165,9 @@ initialize: requests: unit: none description: expressed the final SCI value - aggregation-method: sum + aggregation-method: + time: sum + component: sum sum-carbon: path: builtin method: Sum @@ -155,24 +179,30 @@ initialize: parameter-metadata: inputs: carbon-operational: - description: Operational carbon footprint unit: gCO2eq - aggregation-method: sum + description: Operational carbon footprint + aggregation-method: + time: sum + component: sum embodied-carbon: - description: Embodied carbon footprint unit: gCO2eq - aggregation-method: sum + description: Embodied carbon footprint + aggregation-method: + time: sum + component: sum outputs: carbon: - description: Total carbon footprint unit: gCO2eq - aggregation-method: sum + description: Total carbon footprint + aggregation-method: + time: sum + component: sum time-sync: path: builtin method: TimeSync config: - start-time: "2023-12-12T00:00:00.000Z" - end-time: "2023-12-12T00:01:00.000Z" + start-time: '2023-12-12T00:00:00.000Z' + end-time: '2023-12-12T00:01:00.000Z' interval: 5 allow-padding: true parameter-metadata: @@ -180,50 +210,62 @@ initialize: timestamp: unit: RFC3339 description: refers to the time of occurrence of the input - aggregation-method: none + aggregation-method: + time: none + component: none duration: unit: seconds description: refers to the duration of the input - aggregation-method: sum + aggregation-method: + time: sum + component: sum cloud/instance-type: unit: none description: type of Cloud Instance name used in the cloud provider APIs - aggregation-method: none + aggregation-method: + time: copy + component: copy cloud/region: unit: none description: region cloud instance - aggregation-method: none + aggregation-method: + time: copy + component: copy time-reserved: unit: seconds description: time reserved for a component - aggregation-method: avg + aggregation-method: + time: avg + component: avg network/energy: unit: kWh description: Energy consumed by the Network of the component - aggregation-method: sum + aggregation-method: + time: sum + component: sum execution: command: >- - /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node - /Users/mariamkhalatova/Projects/UK/if/src/if-run/index.ts -m + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m manifests/examples/pipelines/nesting.yml -o - manifests/outputs/pipelines/nesting-1.yaml + manifests/outputs/pipelines/nesting.yaml environment: - if-version: 0.5.0 + if-version: 0.6.0 os: macOS - os-version: "14.5" - node-version: 18.14.2 - date-time: 2024-07-31T13:17:29.944Z (UTC) + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T11:46:37.516Z (UTC) dependencies: - - "@babel/core@7.22.10" - - "@babel/preset-typescript@7.23.3" - - "@commitlint/cli@18.6.0" - - "@commitlint/config-conventional@18.6.0" - - "@grnsft/if-core@0.0.16" - - "@jest/globals@29.7.0" - - "@types/jest@29.5.8" - - "@types/js-yaml@4.0.9" - - "@types/luxon@3.4.2" - - "@types/node@20.9.0" + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' - axios-mock-adapter@1.22.0 - axios@1.7.2 - cross-env@7.0.3 @@ -270,28 +312,28 @@ tree: - time-sync - sci inputs: - - timestamp: "2023-12-12T00:00:00.000Z" + - timestamp: '2023-12-12T00:00:00.000Z' cloud/instance-type: A1 cloud/region: uk-west duration: 1 cpu/utilization: 50 network/energy: 0.000001 requests: 50 - - timestamp: "2023-12-12T00:00:01.000Z" + - timestamp: '2023-12-12T00:00:01.000Z' duration: 5 cpu/utilization: 20 cloud/instance-type: A1 cloud/region: uk-west network/energy: 0.000001 requests: 60 - - timestamp: "2023-12-12T00:00:06.000Z" + - timestamp: '2023-12-12T00:00:06.000Z' duration: 7 cpu/utilization: 15 cloud/instance-type: A1 cloud/region: uk-west network/energy: 0.000001 requests: 70 - - timestamp: "2023-12-12T00:00:13.000Z" + - timestamp: '2023-12-12T00:00:13.000Z' duration: 30 cloud/instance-type: A1 cloud/region: uk-west @@ -299,7 +341,7 @@ tree: network/energy: 0.000001 requests: 55 outputs: - - timestamp: "2023-12-12T00:00:00.000Z" + - timestamp: '2023-12-12T00:00:00.000Z' cloud/instance-type: A1 cloud/region: uk-west duration: 5 @@ -308,9 +350,9 @@ tree: requests: 98 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 2759.6159999999995 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 170294400 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.4065 @@ -319,11 +361,11 @@ tree: cpu-energy-raw: 0.00006833333333333335 vcpu-ratio: 8 cpu-energy-kwh: 0.000008541666666666668 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.006833333333333334 - carbon: 0.0068434614408929475 - sci: 0.00006983123919278518 - - timestamp: "2023-12-12T00:00:05.000Z" + carbon: 0.04647057331303907 + sci: 0.0004741895236024395 + - timestamp: '2023-12-12T00:00:05.000Z' duration: 5 cpu/utilization: 13 cloud/instance-type: A1 @@ -332,9 +374,9 @@ tree: requests: 52 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 1182.6925714285712 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 72983314.28571428 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.30975 @@ -343,11 +385,11 @@ tree: cpu-energy-raw: 0.00005340277777777778 vcpu-ratio: 8 cpu-energy-kwh: 0.000006675347222222222 - embodied-carbon: 0.000010128107559614407 + embodied-carbon: 0.03963723997970574 carbon-operational: 0.005340277777777777 - carbon: 0.005350405885337391 - sci: 0.0001028924208718729 - - timestamp: "2023-12-12T00:00:10.000Z" + carbon: 0.044977517757483515 + sci: 0.0008649522645669907 + - timestamp: '2023-12-12T00:00:10.000Z' duration: 5 cpu/utilization: 12 cloud/instance-type: A1 @@ -356,9 +398,9 @@ tree: requests: 33.666666666666664 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 759.2594285714285 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 46853485.71428572 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -367,11 +409,11 @@ tree: cpu-energy-raw: 0.00005190972222222222 vcpu-ratio: 8 cpu-energy-kwh: 0.0000064887152777777775 - embodied-carbon: 0.000010128107559614407 + embodied-carbon: 0.03963723997970574 carbon-operational: 0.005190972222222222 - carbon: 0.0052011003297818366 - sci: 0.0001544881286073813 - - timestamp: "2023-12-12T00:00:15.000Z" + carbon: 0.04482821220192795 + sci: 0.0013315310555028106 + - timestamp: '2023-12-12T00:00:15.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -380,9 +422,9 @@ tree: requests: 9.166666666666666 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -391,11 +433,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0005673927632489277 - - timestamp: "2023-12-12T00:00:20.000Z" + carbon: 0.04482821220192795 + sci: 0.004890350422028504 + - timestamp: '2023-12-12T00:00:20.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -404,9 +446,9 @@ tree: requests: 9.166666666666666 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -415,11 +457,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0005673927632489277 - - timestamp: "2023-12-12T00:00:25.000Z" + carbon: 0.04482821220192795 + sci: 0.004890350422028504 + - timestamp: '2023-12-12T00:00:25.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -428,9 +470,9 @@ tree: requests: 9.166666666666666 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -439,11 +481,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0005673927632489277 - - timestamp: "2023-12-12T00:00:30.000Z" + carbon: 0.04482821220192795 + sci: 0.004890350422028504 + - timestamp: '2023-12-12T00:00:30.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -452,9 +494,9 @@ tree: requests: 9.166666666666666 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -463,11 +505,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0005673927632489277 - - timestamp: "2023-12-12T00:00:35.000Z" + carbon: 0.04482821220192795 + sci: 0.004890350422028504 + - timestamp: '2023-12-12T00:00:35.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -476,9 +518,9 @@ tree: requests: 9.166666666666666 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -487,11 +529,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0005673927632489277 - - timestamp: "2023-12-12T00:00:40.000Z" + carbon: 0.04482821220192795 + sci: 0.004890350422028504 + - timestamp: '2023-12-12T00:00:40.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -500,9 +542,9 @@ tree: requests: 5.5 cpu/thermal-design-power: 60 grid/carbon-intensity: 480 - device/emissions-embodied: 153.312 + device/emissions-embodied: 1533.12 time-reserved: 2160.2 - device/expected-lifespan: 9460800 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.22425 @@ -511,11 +553,11 @@ tree: cpu-energy-raw: 0.000031145833333333336 vcpu-ratio: 8 cpu-energy-kwh: 0.000003893229166666667 - embodied-carbon: 0.000006076864535768645 + embodied-carbon: 0.02378234398782344 carbon-operational: 0.0031145833333333334 - carbon: 0.003120660197869102 - sci: 0.0005673927632489276 - - timestamp: "2023-12-12T00:00:45.000Z" + carbon: 0.02689692732115677 + sci: 0.004890350422028503 + - timestamp: '2023-12-12T00:00:45.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -524,9 +566,9 @@ tree: requests: 0 cpu/thermal-design-power: 0 grid/carbon-intensity: 0 - device/emissions-embodied: 0 + device/emissions-embodied: 1533.12 time-reserved: 0.8 - device/expected-lifespan: 0 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0 @@ -539,7 +581,7 @@ tree: carbon-operational: 0 carbon: 0 sci: 0 - - timestamp: "2023-12-12T00:00:50.000Z" + - timestamp: '2023-12-12T00:00:50.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -548,9 +590,9 @@ tree: requests: 0 cpu/thermal-design-power: 0 grid/carbon-intensity: 0 - device/emissions-embodied: 0 + device/emissions-embodied: 1533.12 time-reserved: 0.8 - device/expected-lifespan: 0 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0 @@ -563,7 +605,7 @@ tree: carbon-operational: 0 carbon: 0 sci: 0 - - timestamp: "2023-12-12T00:00:55.000Z" + - timestamp: '2023-12-12T00:00:55.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -572,33 +614,9 @@ tree: requests: 0 cpu/thermal-design-power: 0 grid/carbon-intensity: 0 - device/emissions-embodied: 0 + device/emissions-embodied: 1533.12 time-reserved: 0.8 - device/expected-lifespan: 0 - vcpus-allocated: 1 - vcpus-total: 8 - cpu-factor: 0 - cpu-wattage: 0 - cpu-wattage-times-duration: 0 - cpu-energy-raw: 0 - vcpu-ratio: 8 - cpu-energy-kwh: 0 - embodied-carbon: 0 - carbon-operational: 0 - carbon: 0 - sci: 0 - - timestamp: "2023-12-12T00:01:00.000Z" - duration: 1 - cloud/instance-type: A1 - cloud/region: uk-west - cpu/utilization: 0 - network/energy: 0 - requests: 0 - cpu/thermal-design-power: 0 - grid/carbon-intensity: 0 - device/emissions-embodied: 0 - time-reserved: 1 - device/expected-lifespan: 0 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0 @@ -612,7 +630,7 @@ tree: carbon: 0 sci: 0 aggregated: - carbon: 0.04652112950279046 + carbon: 0.3873142916032471 child-1: defaults: cpu/thermal-design-power: 100 @@ -636,28 +654,28 @@ tree: - time-sync - sci inputs: - - timestamp: "2023-12-12T00:00:00.000Z" + - timestamp: '2023-12-12T00:00:00.000Z' cloud/instance-type: A1 cloud/region: uk-west duration: 1 cpu/utilization: 50 network/energy: 0.000001 requests: 10 - - timestamp: "2023-12-12T00:00:01.000Z" + - timestamp: '2023-12-12T00:00:01.000Z' duration: 5 cpu/utilization: 20 cloud/instance-type: A1 cloud/region: uk-west network/energy: 0.000001 requests: 90 - - timestamp: "2023-12-12T00:00:06.000Z" + - timestamp: '2023-12-12T00:00:06.000Z' duration: 7 cpu/utilization: 15 cloud/instance-type: A1 cloud/region: uk-west network/energy: 0.000001 requests: 30 - - timestamp: "2023-12-12T00:00:13.000Z" + - timestamp: '2023-12-12T00:00:13.000Z' duration: 30 cloud/instance-type: A1 cloud/region: uk-west @@ -665,7 +683,7 @@ tree: network/energy: 0.000001 requests: 22 outputs: - - timestamp: "2023-12-12T00:00:00.000Z" + - timestamp: '2023-12-12T00:00:00.000Z' cloud/instance-type: A1 cloud/region: uk-west duration: 5 @@ -674,9 +692,9 @@ tree: requests: 82 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 2759.6159999999995 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 170294400 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.4065 @@ -685,11 +703,11 @@ tree: cpu-energy-raw: 0.00006833333333333335 vcpu-ratio: 8 cpu-energy-kwh: 0.000008541666666666668 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.006833333333333334 - carbon: 0.0068434614408929475 - sci: 0.0000834568468401579 - - timestamp: "2023-12-12T00:00:05.000Z" + carbon: 0.04647057331303907 + sci: 0.0005667143086955984 + - timestamp: '2023-12-12T00:00:05.000Z' duration: 5 cpu/utilization: 13 cloud/instance-type: A1 @@ -698,9 +716,9 @@ tree: requests: 35.14285714285714 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 1182.6925714285712 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 72983314.28571428 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.30975 @@ -709,11 +727,11 @@ tree: cpu-energy-raw: 0.00005340277777777778 vcpu-ratio: 8 cpu-energy-kwh: 0.000006675347222222222 - embodied-carbon: 0.000010128107559614407 + embodied-carbon: 0.03963723997970574 carbon-operational: 0.005340277777777777 - carbon: 0.005350405885337391 - sci: 0.00015224732194049487 - - timestamp: "2023-12-12T00:00:10.000Z" + carbon: 0.044977517757483515 + sci: 0.0012798480662698562 + - timestamp: '2023-12-12T00:00:10.000Z' duration: 5 cpu/utilization: 12 cloud/instance-type: A1 @@ -722,9 +740,9 @@ tree: requests: 14.323809523809523 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 759.2594285714285 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 46853485.71428572 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -733,11 +751,11 @@ tree: cpu-energy-raw: 0.00005190972222222222 vcpu-ratio: 8 cpu-energy-kwh: 0.0000064887152777777775 - embodied-carbon: 0.000010128107559614407 + embodied-carbon: 0.03963723997970574 carbon-operational: 0.005190972222222222 - carbon: 0.0052011003297818366 - sci: 0.000363108733129716 - - timestamp: "2023-12-12T00:00:15.000Z" + carbon: 0.04482821220192795 + sci: 0.0031296291763314066 + - timestamp: '2023-12-12T00:00:15.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -746,9 +764,9 @@ tree: requests: 3.6666666666666665 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -757,11 +775,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0014184819081223194 - - timestamp: "2023-12-12T00:00:20.000Z" + carbon: 0.04482821220192795 + sci: 0.01222587605507126 + - timestamp: '2023-12-12T00:00:20.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -770,9 +788,9 @@ tree: requests: 3.6666666666666665 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -781,11 +799,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0014184819081223194 - - timestamp: "2023-12-12T00:00:25.000Z" + carbon: 0.04482821220192795 + sci: 0.01222587605507126 + - timestamp: '2023-12-12T00:00:25.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -794,9 +812,9 @@ tree: requests: 3.6666666666666665 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -805,11 +823,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0014184819081223194 - - timestamp: "2023-12-12T00:00:30.000Z" + carbon: 0.04482821220192795 + sci: 0.01222587605507126 + - timestamp: '2023-12-12T00:00:30.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -818,9 +836,9 @@ tree: requests: 3.6666666666666665 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -829,11 +847,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0014184819081223194 - - timestamp: "2023-12-12T00:00:35.000Z" + carbon: 0.04482821220192795 + sci: 0.01222587605507126 + - timestamp: '2023-12-12T00:00:35.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -842,9 +860,9 @@ tree: requests: 3.6666666666666665 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -853,11 +871,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0014184819081223194 - - timestamp: "2023-12-12T00:00:40.000Z" + carbon: 0.04482821220192795 + sci: 0.01222587605507126 + - timestamp: '2023-12-12T00:00:40.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -866,9 +884,9 @@ tree: requests: 2.1999999999999997 cpu/thermal-design-power: 60 grid/carbon-intensity: 480 - device/emissions-embodied: 153.312 + device/emissions-embodied: 1533.12 time-reserved: 2160.2 - device/expected-lifespan: 9460800 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.22425 @@ -877,11 +895,11 @@ tree: cpu-energy-raw: 0.000031145833333333336 vcpu-ratio: 8 cpu-energy-kwh: 0.000003893229166666667 - embodied-carbon: 0.000006076864535768645 + embodied-carbon: 0.02378234398782344 carbon-operational: 0.0031145833333333334 - carbon: 0.003120660197869102 - sci: 0.0014184819081223194 - - timestamp: "2023-12-12T00:00:45.000Z" + carbon: 0.02689692732115677 + sci: 0.01222587605507126 + - timestamp: '2023-12-12T00:00:45.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -890,9 +908,9 @@ tree: requests: 0 cpu/thermal-design-power: 0 grid/carbon-intensity: 0 - device/emissions-embodied: 0 + device/emissions-embodied: 1533.12 time-reserved: 0.8 - device/expected-lifespan: 0 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0 @@ -905,7 +923,7 @@ tree: carbon-operational: 0 carbon: 0 sci: 0 - - timestamp: "2023-12-12T00:00:50.000Z" + - timestamp: '2023-12-12T00:00:50.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -914,9 +932,9 @@ tree: requests: 0 cpu/thermal-design-power: 0 grid/carbon-intensity: 0 - device/emissions-embodied: 0 + device/emissions-embodied: 1533.12 time-reserved: 0.8 - device/expected-lifespan: 0 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0 @@ -929,7 +947,7 @@ tree: carbon-operational: 0 carbon: 0 sci: 0 - - timestamp: "2023-12-12T00:00:55.000Z" + - timestamp: '2023-12-12T00:00:55.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -938,33 +956,9 @@ tree: requests: 0 cpu/thermal-design-power: 0 grid/carbon-intensity: 0 - device/emissions-embodied: 0 + device/emissions-embodied: 1533.12 time-reserved: 0.8 - device/expected-lifespan: 0 - vcpus-allocated: 1 - vcpus-total: 8 - cpu-factor: 0 - cpu-wattage: 0 - cpu-wattage-times-duration: 0 - cpu-energy-raw: 0 - vcpu-ratio: 8 - cpu-energy-kwh: 0 - embodied-carbon: 0 - carbon-operational: 0 - carbon: 0 - sci: 0 - - timestamp: "2023-12-12T00:01:00.000Z" - duration: 1 - cloud/instance-type: A1 - cloud/region: uk-west - cpu/utilization: 0 - network/energy: 0 - requests: 0 - cpu/thermal-design-power: 0 - grid/carbon-intensity: 0 - device/emissions-embodied: 0 - time-reserved: 1 - device/expected-lifespan: 0 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0 @@ -978,7 +972,7 @@ tree: carbon: 0 sci: 0 aggregated: - carbon: 0.04652112950279046 + carbon: 0.3873142916032471 child-2: children: child-2-0: @@ -1004,28 +998,28 @@ tree: - time-sync - sci inputs: - - timestamp: "2023-12-12T00:00:00.000Z" + - timestamp: '2023-12-12T00:00:00.000Z' cloud/instance-type: A1 cloud/region: uk-west duration: 1 cpu/utilization: 50 network/energy: 0.000001 requests: 50 - - timestamp: "2023-12-12T00:00:01.000Z" + - timestamp: '2023-12-12T00:00:01.000Z' duration: 5 cpu/utilization: 20 cloud/instance-type: A1 cloud/region: uk-west network/energy: 0.000001 requests: 65 - - timestamp: "2023-12-12T00:00:06.000Z" + - timestamp: '2023-12-12T00:00:06.000Z' duration: 7 cpu/utilization: 15 cloud/instance-type: A1 cloud/region: uk-west network/energy: 0.000001 requests: 80 - - timestamp: "2023-12-12T00:00:13.000Z" + - timestamp: '2023-12-12T00:00:13.000Z' duration: 30 cloud/instance-type: A1 cloud/region: uk-west @@ -1033,7 +1027,7 @@ tree: network/energy: 0.000001 requests: 40 outputs: - - timestamp: "2023-12-12T00:00:00.000Z" + - timestamp: '2023-12-12T00:00:00.000Z' cloud/instance-type: A1 cloud/region: uk-west duration: 5 @@ -1042,9 +1036,9 @@ tree: requests: 102 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 2759.6159999999995 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 170294400 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.4065 @@ -1053,11 +1047,11 @@ tree: cpu-energy-raw: 0.00006833333333333335 vcpu-ratio: 8 cpu-energy-kwh: 0.000008541666666666668 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.006833333333333334 - carbon: 0.0068434614408929475 - sci: 0.00006709275922444067 - - timestamp: "2023-12-12T00:00:05.000Z" + carbon: 0.04647057331303907 + sci: 0.00045559385601018696 + - timestamp: '2023-12-12T00:00:05.000Z' duration: 5 cpu/utilization: 13 cloud/instance-type: A1 @@ -1066,9 +1060,9 @@ tree: requests: 58.71428571428572 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 1182.6925714285712 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 72983314.28571428 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.30975 @@ -1077,11 +1071,11 @@ tree: cpu-energy-raw: 0.00005340277777777778 vcpu-ratio: 8 cpu-energy-kwh: 0.000006675347222222222 - embodied-carbon: 0.000010128107559614407 + embodied-carbon: 0.03963723997970574 carbon-operational: 0.005340277777777777 - carbon: 0.005350405885337391 - sci: 0.0000911261343001502 - - timestamp: "2023-12-12T00:00:10.000Z" + carbon: 0.044977517757483515 + sci: 0.0007660404484242933 + - timestamp: '2023-12-12T00:00:10.000Z' duration: 5 cpu/utilization: 12 cloud/instance-type: A1 @@ -1090,9 +1084,9 @@ tree: requests: 36.952380952380956 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 759.2594285714285 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 46853485.71428572 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -1101,11 +1095,11 @@ tree: cpu-energy-raw: 0.00005190972222222222 vcpu-ratio: 8 cpu-energy-kwh: 0.0000064887152777777775 - embodied-carbon: 0.000010128107559614407 + embodied-carbon: 0.03963723997970574 carbon-operational: 0.005190972222222222 - carbon: 0.0052011003297818366 - sci: 0.00014075142645028166 - - timestamp: "2023-12-12T00:00:15.000Z" + carbon: 0.04482821220192795 + sci: 0.0012131346085573285 + - timestamp: '2023-12-12T00:00:15.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1114,9 +1108,9 @@ tree: requests: 6.666666666666666 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -1125,11 +1119,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0007801650494672756 - - timestamp: "2023-12-12T00:00:20.000Z" + carbon: 0.04482821220192795 + sci: 0.006724231830289193 + - timestamp: '2023-12-12T00:00:20.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1138,9 +1132,9 @@ tree: requests: 6.666666666666666 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -1149,11 +1143,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0007801650494672756 - - timestamp: "2023-12-12T00:00:25.000Z" + carbon: 0.04482821220192795 + sci: 0.006724231830289193 + - timestamp: '2023-12-12T00:00:25.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1162,9 +1156,9 @@ tree: requests: 6.666666666666666 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -1173,11 +1167,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0007801650494672756 - - timestamp: "2023-12-12T00:00:30.000Z" + carbon: 0.04482821220192795 + sci: 0.006724231830289193 + - timestamp: '2023-12-12T00:00:30.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1186,9 +1180,9 @@ tree: requests: 6.666666666666666 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -1197,11 +1191,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0007801650494672756 - - timestamp: "2023-12-12T00:00:35.000Z" + carbon: 0.04482821220192795 + sci: 0.006724231830289193 + - timestamp: '2023-12-12T00:00:35.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1210,9 +1204,9 @@ tree: requests: 6.666666666666666 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -1221,11 +1215,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0007801650494672756 - - timestamp: "2023-12-12T00:00:40.000Z" + carbon: 0.04482821220192795 + sci: 0.006724231830289193 + - timestamp: '2023-12-12T00:00:40.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1234,9 +1228,9 @@ tree: requests: 4 cpu/thermal-design-power: 60 grid/carbon-intensity: 480 - device/emissions-embodied: 153.312 + device/emissions-embodied: 1533.12 time-reserved: 2160.2 - device/expected-lifespan: 9460800 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.22425 @@ -1245,11 +1239,11 @@ tree: cpu-energy-raw: 0.000031145833333333336 vcpu-ratio: 8 cpu-energy-kwh: 0.000003893229166666667 - embodied-carbon: 0.000006076864535768645 + embodied-carbon: 0.02378234398782344 carbon-operational: 0.0031145833333333334 - carbon: 0.003120660197869102 - sci: 0.0007801650494672755 - - timestamp: "2023-12-12T00:00:45.000Z" + carbon: 0.02689692732115677 + sci: 0.006724231830289192 + - timestamp: '2023-12-12T00:00:45.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1258,9 +1252,9 @@ tree: requests: 0 cpu/thermal-design-power: 0 grid/carbon-intensity: 0 - device/emissions-embodied: 0 + device/emissions-embodied: 1533.12 time-reserved: 0.8 - device/expected-lifespan: 0 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0 @@ -1273,7 +1267,7 @@ tree: carbon-operational: 0 carbon: 0 sci: 0 - - timestamp: "2023-12-12T00:00:50.000Z" + - timestamp: '2023-12-12T00:00:50.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1282,9 +1276,9 @@ tree: requests: 0 cpu/thermal-design-power: 0 grid/carbon-intensity: 0 - device/emissions-embodied: 0 + device/emissions-embodied: 1533.12 time-reserved: 0.8 - device/expected-lifespan: 0 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0 @@ -1297,7 +1291,7 @@ tree: carbon-operational: 0 carbon: 0 sci: 0 - - timestamp: "2023-12-12T00:00:55.000Z" + - timestamp: '2023-12-12T00:00:55.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1306,33 +1300,9 @@ tree: requests: 0 cpu/thermal-design-power: 0 grid/carbon-intensity: 0 - device/emissions-embodied: 0 + device/emissions-embodied: 1533.12 time-reserved: 0.8 - device/expected-lifespan: 0 - vcpus-allocated: 1 - vcpus-total: 8 - cpu-factor: 0 - cpu-wattage: 0 - cpu-wattage-times-duration: 0 - cpu-energy-raw: 0 - vcpu-ratio: 8 - cpu-energy-kwh: 0 - embodied-carbon: 0 - carbon-operational: 0 - carbon: 0 - sci: 0 - - timestamp: "2023-12-12T00:01:00.000Z" - duration: 1 - cloud/instance-type: A1 - cloud/region: uk-west - cpu/utilization: 0 - network/energy: 0 - requests: 0 - cpu/thermal-design-power: 0 - grid/carbon-intensity: 0 - device/emissions-embodied: 0 - time-reserved: 1 - device/expected-lifespan: 0 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0 @@ -1346,7 +1316,7 @@ tree: carbon: 0 sci: 0 aggregated: - carbon: 0.04652112950279046 + carbon: 0.3873142916032471 child-2-1: defaults: cpu/thermal-design-power: 100 @@ -1370,28 +1340,28 @@ tree: - time-sync - sci inputs: - - timestamp: "2023-12-12T00:00:00.000Z" + - timestamp: '2023-12-12T00:00:00.000Z' cloud/instance-type: A1 cloud/region: uk-west duration: 1 cpu/utilization: 50 network/energy: 0.000001 requests: 50 - - timestamp: "2023-12-12T00:00:01.000Z" + - timestamp: '2023-12-12T00:00:01.000Z' duration: 5 cpu/utilization: 20 cloud/instance-type: A1 cloud/region: uk-west network/energy: 0.000001 requests: 50 - - timestamp: "2023-12-12T00:00:06.000Z" + - timestamp: '2023-12-12T00:00:06.000Z' duration: 7 cpu/utilization: 15 cloud/instance-type: A1 cloud/region: uk-west network/energy: 0.000001 requests: 60 - - timestamp: "2023-12-12T00:00:13.000Z" + - timestamp: '2023-12-12T00:00:13.000Z' duration: 30 cloud/instance-type: A1 cloud/region: uk-west @@ -1399,7 +1369,7 @@ tree: network/energy: 0.000001 requests: 40 outputs: - - timestamp: "2023-12-12T00:00:00.000Z" + - timestamp: '2023-12-12T00:00:00.000Z' cloud/instance-type: A1 cloud/region: uk-west duration: 5 @@ -1408,9 +1378,9 @@ tree: requests: 90 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 2759.6159999999995 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 170294400 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.4065 @@ -1419,11 +1389,11 @@ tree: cpu-energy-raw: 0.00006833333333333335 vcpu-ratio: 8 cpu-energy-kwh: 0.000008541666666666668 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.006833333333333334 - carbon: 0.0068434614408929475 - sci: 0.00007603846045436609 - - timestamp: "2023-12-12T00:00:05.000Z" + carbon: 0.04647057331303907 + sci: 0.0005163397034782119 + - timestamp: '2023-12-12T00:00:05.000Z' duration: 5 cpu/utilization: 13 cloud/instance-type: A1 @@ -1432,9 +1402,9 @@ tree: requests: 44.28571428571428 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 1182.6925714285712 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 72983314.28571428 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.30975 @@ -1443,11 +1413,11 @@ tree: cpu-energy-raw: 0.00005340277777777778 vcpu-ratio: 8 cpu-energy-kwh: 0.000006675347222222222 - embodied-carbon: 0.000010128107559614407 + embodied-carbon: 0.03963723997970574 carbon-operational: 0.005340277777777777 - carbon: 0.005350405885337391 - sci: 0.00012081561676568304 - - timestamp: "2023-12-12T00:00:10.000Z" + carbon: 0.044977517757483515 + sci: 0.00101562136871737 + - timestamp: '2023-12-12T00:00:10.000Z' duration: 5 cpu/utilization: 12 cloud/instance-type: A1 @@ -1456,9 +1426,9 @@ tree: requests: 28.38095238095238 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 759.2594285714285 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 46853485.71428572 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -1467,11 +1437,11 @@ tree: cpu-energy-raw: 0.00005190972222222222 vcpu-ratio: 8 cpu-energy-kwh: 0.0000064887152777777775 - embodied-carbon: 0.000010128107559614407 + embodied-carbon: 0.03963723997970574 carbon-operational: 0.005190972222222222 - carbon: 0.0052011003297818366 - sci: 0.0001832602465191587 - - timestamp: "2023-12-12T00:00:15.000Z" + carbon: 0.04482821220192795 + sci: 0.0015795175440276629 + - timestamp: '2023-12-12T00:00:15.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1480,9 +1450,9 @@ tree: requests: 6.666666666666666 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -1491,11 +1461,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0007801650494672756 - - timestamp: "2023-12-12T00:00:20.000Z" + carbon: 0.04482821220192795 + sci: 0.006724231830289193 + - timestamp: '2023-12-12T00:00:20.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1504,9 +1474,9 @@ tree: requests: 6.666666666666666 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -1515,11 +1485,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0007801650494672756 - - timestamp: "2023-12-12T00:00:25.000Z" + carbon: 0.04482821220192795 + sci: 0.006724231830289193 + - timestamp: '2023-12-12T00:00:25.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1528,9 +1498,9 @@ tree: requests: 6.666666666666666 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -1539,11 +1509,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0007801650494672756 - - timestamp: "2023-12-12T00:00:30.000Z" + carbon: 0.04482821220192795 + sci: 0.006724231830289193 + - timestamp: '2023-12-12T00:00:30.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1552,9 +1522,9 @@ tree: requests: 6.666666666666666 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -1563,11 +1533,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0007801650494672756 - - timestamp: "2023-12-12T00:00:35.000Z" + carbon: 0.04482821220192795 + sci: 0.006724231830289193 + - timestamp: '2023-12-12T00:00:35.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1576,9 +1546,9 @@ tree: requests: 6.666666666666666 cpu/thermal-design-power: 80 grid/carbon-intensity: 640 - device/emissions-embodied: 255.51999999999998 + device/emissions-embodied: 1533.12 time-reserved: 2880 - device/expected-lifespan: 15768000 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.29900000000000004 @@ -1587,11 +1557,11 @@ tree: cpu-energy-raw: 0.00005190972222222223 vcpu-ratio: 8 cpu-energy-kwh: 0.000006488715277777778 - embodied-carbon: 0.000010128107559614409 + embodied-carbon: 0.03963723997970573 carbon-operational: 0.005190972222222222 - carbon: 0.005201100329781837 - sci: 0.0007801650494672756 - - timestamp: "2023-12-12T00:00:40.000Z" + carbon: 0.04482821220192795 + sci: 0.006724231830289193 + - timestamp: '2023-12-12T00:00:40.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1600,9 +1570,9 @@ tree: requests: 4 cpu/thermal-design-power: 60 grid/carbon-intensity: 480 - device/emissions-embodied: 153.312 + device/emissions-embodied: 1533.12 time-reserved: 2160.2 - device/expected-lifespan: 9460800 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0.22425 @@ -1611,11 +1581,11 @@ tree: cpu-energy-raw: 0.000031145833333333336 vcpu-ratio: 8 cpu-energy-kwh: 0.000003893229166666667 - embodied-carbon: 0.000006076864535768645 + embodied-carbon: 0.02378234398782344 carbon-operational: 0.0031145833333333334 - carbon: 0.003120660197869102 - sci: 0.0007801650494672755 - - timestamp: "2023-12-12T00:00:45.000Z" + carbon: 0.02689692732115677 + sci: 0.006724231830289192 + - timestamp: '2023-12-12T00:00:45.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1624,9 +1594,9 @@ tree: requests: 0 cpu/thermal-design-power: 0 grid/carbon-intensity: 0 - device/emissions-embodied: 0 + device/emissions-embodied: 1533.12 time-reserved: 0.8 - device/expected-lifespan: 0 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0 @@ -1639,7 +1609,7 @@ tree: carbon-operational: 0 carbon: 0 sci: 0 - - timestamp: "2023-12-12T00:00:50.000Z" + - timestamp: '2023-12-12T00:00:50.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1648,9 +1618,9 @@ tree: requests: 0 cpu/thermal-design-power: 0 grid/carbon-intensity: 0 - device/emissions-embodied: 0 + device/emissions-embodied: 1533.12 time-reserved: 0.8 - device/expected-lifespan: 0 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0 @@ -1663,7 +1633,7 @@ tree: carbon-operational: 0 carbon: 0 sci: 0 - - timestamp: "2023-12-12T00:00:55.000Z" + - timestamp: '2023-12-12T00:00:55.000Z' duration: 5 cloud/instance-type: A1 cloud/region: uk-west @@ -1672,33 +1642,9 @@ tree: requests: 0 cpu/thermal-design-power: 0 grid/carbon-intensity: 0 - device/emissions-embodied: 0 + device/emissions-embodied: 1533.12 time-reserved: 0.8 - device/expected-lifespan: 0 - vcpus-allocated: 1 - vcpus-total: 8 - cpu-factor: 0 - cpu-wattage: 0 - cpu-wattage-times-duration: 0 - cpu-energy-raw: 0 - vcpu-ratio: 8 - cpu-energy-kwh: 0 - embodied-carbon: 0 - carbon-operational: 0 - carbon: 0 - sci: 0 - - timestamp: "2023-12-12T00:01:00.000Z" - duration: 1 - cloud/instance-type: A1 - cloud/region: uk-west - cpu/utilization: 0 - network/energy: 0 - requests: 0 - cpu/thermal-design-power: 0 - grid/carbon-intensity: 0 - device/emissions-embodied: 0 - time-reserved: 1 - device/expected-lifespan: 0 + device/expected-lifespan: 94608000 vcpus-allocated: 1 vcpus-total: 8 cpu-factor: 0 @@ -1712,88 +1658,82 @@ tree: carbon: 0 sci: 0 aggregated: - carbon: 0.04652112950279046 + carbon: 0.3873142916032471 outputs: - - carbon: 0.013686922881785895 - timestamp: "2023-12-12T00:00:00.000Z" + - carbon: 0.09294114662607814 + timestamp: '2023-12-12T00:00:00.000Z' duration: 5 - - carbon: 0.010700811770674782 - timestamp: "2023-12-12T00:00:05.000Z" + - carbon: 0.08995503551496703 + timestamp: '2023-12-12T00:00:05.000Z' duration: 5 - - carbon: 0.010402200659563673 - timestamp: "2023-12-12T00:00:10.000Z" + - carbon: 0.0896564244038559 + timestamp: '2023-12-12T00:00:10.000Z' duration: 5 - - carbon: 0.010402200659563675 - timestamp: "2023-12-12T00:00:15.000Z" + - carbon: 0.0896564244038559 + timestamp: '2023-12-12T00:00:15.000Z' duration: 5 - - carbon: 0.010402200659563675 - timestamp: "2023-12-12T00:00:20.000Z" + - carbon: 0.0896564244038559 + timestamp: '2023-12-12T00:00:20.000Z' duration: 5 - - carbon: 0.010402200659563675 - timestamp: "2023-12-12T00:00:25.000Z" + - carbon: 0.0896564244038559 + timestamp: '2023-12-12T00:00:25.000Z' duration: 5 - - carbon: 0.010402200659563675 - timestamp: "2023-12-12T00:00:30.000Z" + - carbon: 0.0896564244038559 + timestamp: '2023-12-12T00:00:30.000Z' duration: 5 - - carbon: 0.010402200659563675 - timestamp: "2023-12-12T00:00:35.000Z" + - carbon: 0.0896564244038559 + timestamp: '2023-12-12T00:00:35.000Z' duration: 5 - - carbon: 0.006241320395738204 - timestamp: "2023-12-12T00:00:40.000Z" + - carbon: 0.05379385464231354 + timestamp: '2023-12-12T00:00:40.000Z' duration: 5 - carbon: 0 - timestamp: "2023-12-12T00:00:45.000Z" + timestamp: '2023-12-12T00:00:45.000Z' duration: 5 - carbon: 0 - timestamp: "2023-12-12T00:00:50.000Z" + timestamp: '2023-12-12T00:00:50.000Z' duration: 5 - carbon: 0 - timestamp: "2023-12-12T00:00:55.000Z" + timestamp: '2023-12-12T00:00:55.000Z' duration: 5 - - carbon: 0 - timestamp: "2023-12-12T00:01:00.000Z" - duration: 1 aggregated: - carbon: 0.09304225900558093 + carbon: 0.7746285832064942 outputs: - - carbon: 0.02737384576357179 - timestamp: "2023-12-12T00:00:00.000Z" + - carbon: 0.18588229325215627 + timestamp: '2023-12-12T00:00:00.000Z' duration: 5 - - carbon: 0.021401623541349564 - timestamp: "2023-12-12T00:00:05.000Z" + - carbon: 0.17991007102993406 + timestamp: '2023-12-12T00:00:05.000Z' duration: 5 - - carbon: 0.020804401319127346 - timestamp: "2023-12-12T00:00:10.000Z" + - carbon: 0.1793128488077118 + timestamp: '2023-12-12T00:00:10.000Z' duration: 5 - - carbon: 0.02080440131912735 - timestamp: "2023-12-12T00:00:15.000Z" + - carbon: 0.1793128488077118 + timestamp: '2023-12-12T00:00:15.000Z' duration: 5 - - carbon: 0.02080440131912735 - timestamp: "2023-12-12T00:00:20.000Z" + - carbon: 0.1793128488077118 + timestamp: '2023-12-12T00:00:20.000Z' duration: 5 - - carbon: 0.02080440131912735 - timestamp: "2023-12-12T00:00:25.000Z" + - carbon: 0.1793128488077118 + timestamp: '2023-12-12T00:00:25.000Z' duration: 5 - - carbon: 0.02080440131912735 - timestamp: "2023-12-12T00:00:30.000Z" + - carbon: 0.1793128488077118 + timestamp: '2023-12-12T00:00:30.000Z' duration: 5 - - carbon: 0.02080440131912735 - timestamp: "2023-12-12T00:00:35.000Z" + - carbon: 0.1793128488077118 + timestamp: '2023-12-12T00:00:35.000Z' duration: 5 - - carbon: 0.012482640791476408 - timestamp: "2023-12-12T00:00:40.000Z" + - carbon: 0.10758770928462708 + timestamp: '2023-12-12T00:00:40.000Z' duration: 5 - carbon: 0 - timestamp: "2023-12-12T00:00:45.000Z" + timestamp: '2023-12-12T00:00:45.000Z' duration: 5 - carbon: 0 - timestamp: "2023-12-12T00:00:50.000Z" + timestamp: '2023-12-12T00:00:50.000Z' duration: 5 - carbon: 0 - timestamp: "2023-12-12T00:00:55.000Z" + timestamp: '2023-12-12T00:00:55.000Z' duration: 5 - - carbon: 0 - timestamp: "2023-12-12T00:01:00.000Z" - duration: 1 aggregated: - carbon: 0.18608451801116185 + carbon: 1.5492571664129884 diff --git a/manifests/outputs/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml b/manifests/outputs/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml new file mode 100644 index 000000000..906968735 --- /dev/null +++ b/manifests/outputs/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml @@ -0,0 +1,1212 @@ +name: pipeline-with-aggregate +description: a full pipeline with the aggregate feature enabled +tags: null +aggregation: + metrics: + - carbon + type: both +initialize: + plugins: + interpolate: + path: builtin + method: Interpolation + config: + method: linear + x: + - 0 + - 10 + - 50 + - 100 + 'y': + - 0.12 + - 0.32 + - 0.75 + - 1.02 + input-parameter: cpu/utilization + output-parameter: cpu-factor + parameter-metadata: + inputs: + cpu/utilization: + unit: percentage + description: refers to CPU utilization. + aggregation-method: + time: avg + component: avg + outputs: + cpu-factor: + unit: kWh + description: result of interpolate + aggregation-method: + time: avg + component: avg + cpu-factor-to-wattage: + path: builtin + method: Multiply + config: + input-parameters: + - cpu-factor + - cpu/thermal-design-power + output-parameter: cpu-wattage + parameter-metadata: + inputs: + cpu-factor: + unit: kWh + description: result of interpolate + aggregation-method: + time: avg + component: avg + cpu/thermal-design-power: + unit: kWh + description: thermal design power for a processor + aggregation-method: + time: avg + component: avg + outputs: + cpu-wattage: + unit: kWh + description: the energy used by the CPU + aggregation-method: + time: sum + component: sum + wattage-times-duration: + path: builtin + method: Multiply + config: + input-parameters: + - cpu-wattage + - duration + output-parameter: cpu-wattage-times-duration + wattage-to-energy-kwh: + path: builtin + method: Divide + config: + numerator: cpu-wattage-times-duration + denominator: 3600000 + output: cpu-energy-raw + parameter-metadata: + inputs: + cpu-wattage-times-duration: + unit: kWh + description: CPU wattage multiplied by duration + aggregation-method: + time: sum + component: sum + outputs: + cpu-energy-raw: + unit: kWh + description: Raw energy used by CPU in kWh + aggregation-method: + time: sum + component: sum + calculate-vcpu-ratio: + path: builtin + method: Divide + config: + numerator: vcpus-total + denominator: vcpus-allocated + output: vcpu-ratio + parameter-metadata: + inputs: + vcpus-total: + unit: count + description: total number of vcpus available on a particular resource + aggregation-method: + time: none + component: none + vcpus-allocated: + unit: count + description: number of vcpus allocated to particular resource + aggregation-method: + time: none + component: none + outputs: + vcpu-ratio: + unit: none + description: Ratio of vCPUs + aggregation-method: + time: none + component: none + correct-cpu-energy-for-vcpu-ratio: + path: builtin + method: Divide + config: + numerator: cpu-energy-raw + denominator: vcpu-ratio + output: cpu-energy-kwh + sci-embodied: + path: builtin + method: SciEmbodied + operational-carbon: + path: builtin + method: Multiply + config: + input-parameters: + - cpu-energy-kwh + - grid/carbon-intensity + output-parameter: carbon-operational + parameter-metadata: + inputs: + cpu-energy-kwh: + unit: kWh + description: Corrected CPU energy in kWh + aggregation-method: + time: sum + component: sum + grid/carbon-intensity: + unit: gCO2eq/kWh + description: Carbon intensity for the grid + aggregation-method: + time: avg + component: avg + outputs: + carbon-operational: + unit: gCO2eq + description: Operational carbon footprint + aggregation-method: + time: sum + component: sum + sci: + path: builtin + method: Sci + config: + functional-unit: requests + parameter-metadata: + inputs: + requests: + unit: none + description: expressed the final SCI value + aggregation-method: + time: sum + component: sum + sum-carbon: + path: builtin + method: Sum + config: + input-parameters: + - carbon-operational + - embodied-carbon + output-parameter: carbon + parameter-metadata: + inputs: + carbon-operational: + unit: gCO2eq + description: Operational carbon footprint + aggregation-method: + time: sum + component: sum + embodied-carbon: + unit: gCO2eq + description: Embodied carbon footprint + aggregation-method: + time: sum + component: sum + outputs: + carbon: + unit: gCO2eq + description: Total carbon footprint + aggregation-method: + time: sum + component: sum + time-sync: + path: builtin + method: TimeSync + config: + start-time: '2023-12-12T00:00:00.000Z' + end-time: '2023-12-12T00:01:00.000Z' + interval: 5 + allow-padding: true + parameter-metadata: + inputs: + timestamp: + unit: RFC3339 + description: refers to the time of occurrence of the input + aggregation-method: + time: none + component: none + duration: + unit: seconds + description: refers to the duration of the input + aggregation-method: + time: sum + component: sum + cloud/instance-type: + unit: none + description: type of Cloud Instance name used in the cloud provider APIs + aggregation-method: + time: none + component: none + cloud/region: + unit: none + description: region cloud instance + aggregation-method: + time: none + component: none + time-reserved: + unit: seconds + description: time reserved for a component + aggregation-method: + time: avg + component: avg +execution: + command: >- + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml -o + manifests/outputs/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml + environment: + if-version: 0.6.0 + os: macOS + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:13:45.889Z (UTC) + dependencies: + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' + - axios-mock-adapter@1.22.0 + - axios@1.7.2 + - cross-env@7.0.3 + - csv-parse@5.5.6 + - csv-stringify@6.4.6 + - fixpack@4.0.0 + - gts@5.2.0 + - husky@8.0.3 + - jest@29.7.0 + - js-yaml@4.1.0 + - lint-staged@15.2.2 + - luxon@3.4.4 + - release-it@16.3.0 + - rimraf@5.0.5 + - ts-command-line-args@2.5.1 + - ts-jest@29.1.1 + - typescript-cubic-spline@1.0.1 + - typescript@5.2.2 + - winston@3.11.0 + - zod@3.23.8 + status: success +tree: + children: + child-1: + pipeline: + regroup: + - cloud/region + - cloud/instance-type + compute: + - interpolate + - cpu-factor-to-wattage + - wattage-times-duration + - wattage-to-energy-kwh + - calculate-vcpu-ratio + - correct-cpu-energy-for-vcpu-ratio + - sci-embodied + - operational-carbon + - sum-carbon + - time-sync + - sci + defaults: + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + aggregated: + carbon: 0.38611984715880265 + children: + uk-west: + children: + A1: + inputs: + - timestamp: '2023-12-12T00:00:00.000Z' + cloud/instance-type: A1 + cloud/region: uk-west + duration: 1 + cpu/utilization: 10 + requests: 10 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:00:01.000Z' + duration: 5 + cpu/utilization: 20 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 5 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:00:06.000Z' + duration: 7 + cpu/utilization: 15 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 15 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:00:13.000Z' + duration: 30 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 15 + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + outputs: + - timestamp: '2023-12-12T00:00:00.000Z' + cloud/instance-type: null + cloud/region: null + duration: 5 + cpu/utilization: 14 + requests: 14 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.3205 + cpu-wattage: 66.19999999999999 + cpu-wattage-times-duration: 203 + cpu-energy-raw: 0.0000563888888888889 + vcpu-ratio: null + cpu-energy-kwh: 0.000007048611111111113 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.0056388888888888895 + carbon: 0.045276128868594626 + sci: 0.0032340092048996163 + - timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + cpu/utilization: 13 + cloud/instance-type: null + cloud/region: null + requests: 9.571428571428571 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.30975 + cpu-wattage: 29.907142857142862 + cpu-wattage-times-duration: 192.25 + cpu-energy-raw: 0.00005340277777777778 + vcpu-ratio: null + cpu-energy-kwh: 0.000006675347222222222 + embodied-carbon: 0.03963723997970574 + carbon-operational: 0.005340277777777777 + carbon: 0.044977517757483515 + sci: 0.004699143646304248 + - timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + cpu/utilization: 12 + cloud/instance-type: null + cloud/region: null + requests: 8.428571428571429 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.29900000000000004 + cpu-wattage: 18.50952380952381 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222222 + vcpu-ratio: null + cpu-energy-kwh: 0.0000064887152777777775 + embodied-carbon: 0.03963723997970574 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.005318601447686367 + - timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 12 + requests: 5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: null + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.00896564244038559 + - timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 12 + requests: 5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: null + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.00896564244038559 + - timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 12 + requests: 5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: null + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.00896564244038559 + - timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 12 + requests: 5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: null + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.00896564244038559 + - timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 12 + requests: 5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: null + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.00896564244038559 + - timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 9 + requests: 3 + cpu/thermal-design-power: 60 + grid/carbon-intensity: 480 + device/emissions-embodied: 1533.12 + time-reserved: 2160.2 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.22425 + cpu-wattage: 3.7375 + cpu-wattage-times-duration: 112.125 + cpu-energy-raw: 0.000031145833333333336 + vcpu-ratio: null + cpu-energy-kwh: 0.000003893229166666667 + embodied-carbon: 0.02378234398782344 + carbon-operational: 0.0031145833333333334 + carbon: 0.02689692732115677 + sci: 0.00896564244038559 + - timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 0 + requests: 0 + cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + time-reserved: 0.8 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 0 + requests: 0 + cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + time-reserved: 0.8 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 0 + requests: 0 + cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + time-reserved: 0.8 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + aggregated: + carbon: 0.38611984715880265 + outputs: + - carbon: 0.045276128868594626 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.044977517757483515 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0.02689692732115677 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + aggregated: + carbon: 0.38611984715880265 + outputs: + - carbon: 0.045276128868594626 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.044977517757483515 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0.02689692732115677 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + child-2: + pipeline: + regroup: + - cloud/region + - cloud/instance-type + compute: + - interpolate + - cpu-factor-to-wattage + - wattage-times-duration + - wattage-to-energy-kwh + - calculate-vcpu-ratio + - correct-cpu-energy-for-vcpu-ratio + - sci-embodied + - operational-carbon + - sum-carbon + - time-sync + - sci + defaults: + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + aggregated: + carbon: 0.4092622082699138 + children: + uk-west: + children: + A1: + inputs: + - timestamp: '2023-12-12T00:00:00.000Z' + duration: 1 + cpu/utilization: 30 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 100 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:00:01.000Z' + duration: 5 + cpu/utilization: 28 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 150 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:00:06.000Z' + duration: 7 + cpu/utilization: 40 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 110 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:00:13.000Z' + duration: 30 + cpu/utilization: 33 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 180 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + outputs: + - timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + cpu/utilization: 22.8 + cloud/instance-type: null + cloud/region: null + requests: 220 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.41509999999999997 + cpu-wattage: 94.57999999999998 + cpu-wattage-times-duration: 258.9 + cpu-energy-raw: 0.00007191666666666668 + vcpu-ratio: null + cpu-energy-kwh: 0.000008989583333333334 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.007191666666666666 + carbon: 0.046828906646372404 + sci: 0.00021285866657442002 + - timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + cpu/utilization: 29.6 + cloud/instance-type: null + cloud/region: null + requests: 92.85714285714285 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.48819999999999997 + cpu-wattage: 46.98428571428572 + cpu-wattage-times-duration: 308.35 + cpu-energy-raw: 0.00008565277777777778 + vcpu-ratio: null + cpu-energy-kwh: 0.000010706597222222223 + embodied-carbon: 0.03963723997970574 + carbon-operational: 0.008565277777777778 + carbon: 0.04820251775748351 + sci: 0.0005191040373882839 + - timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + cpu/utilization: 30.6 + cloud/instance-type: null + cloud/region: null + requests: 59.14285714285714 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.49894999999999995 + cpu-wattage: 31.31738095238095 + cpu-wattage-times-duration: 306.2 + cpu-energy-raw: 0.00008505555555555556 + vcpu-ratio: null + cpu-energy-kwh: 0.000010631944444444445 + embodied-carbon: 0.03963723997970574 + carbon-operational: 0.008505555555555556 + carbon: 0.04814279553526128 + sci: 0.0008140086201614227 + - timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + cpu/utilization: 26.4 + cloud/instance-type: null + cloud/region: null + requests: 30 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.45380000000000004 + cpu-wattage: 9.454166666666667 + cpu-wattage-times-duration: 283.625 + cpu-energy-raw: 0.00007878472222222222 + vcpu-ratio: null + cpu-energy-kwh: 0.000009848090277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.007878472222222222 + carbon: 0.04751571220192795 + sci: 0.0015838570733975983 + - timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + cpu/utilization: 26.4 + cloud/instance-type: null + cloud/region: null + requests: 30 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.45380000000000004 + cpu-wattage: 9.454166666666667 + cpu-wattage-times-duration: 283.625 + cpu-energy-raw: 0.00007878472222222222 + vcpu-ratio: null + cpu-energy-kwh: 0.000009848090277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.007878472222222222 + carbon: 0.04751571220192795 + sci: 0.0015838570733975983 + - timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + cpu/utilization: 26.4 + cloud/instance-type: null + cloud/region: null + requests: 30 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.45380000000000004 + cpu-wattage: 9.454166666666667 + cpu-wattage-times-duration: 283.625 + cpu-energy-raw: 0.00007878472222222222 + vcpu-ratio: null + cpu-energy-kwh: 0.000009848090277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.007878472222222222 + carbon: 0.04751571220192795 + sci: 0.0015838570733975983 + - timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + cpu/utilization: 26.4 + cloud/instance-type: null + cloud/region: null + requests: 30 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.45380000000000004 + cpu-wattage: 9.454166666666667 + cpu-wattage-times-duration: 283.625 + cpu-energy-raw: 0.00007878472222222222 + vcpu-ratio: null + cpu-energy-kwh: 0.000009848090277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.007878472222222222 + carbon: 0.04751571220192795 + sci: 0.0015838570733975983 + - timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + cpu/utilization: 26.4 + cloud/instance-type: null + cloud/region: null + requests: 30 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.45380000000000004 + cpu-wattage: 9.454166666666667 + cpu-wattage-times-duration: 283.625 + cpu-energy-raw: 0.00007878472222222222 + vcpu-ratio: null + cpu-energy-kwh: 0.000009848090277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.007878472222222222 + carbon: 0.04751571220192795 + sci: 0.0015838570733975983 + - timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + cpu/utilization: 19.8 + cloud/instance-type: null + cloud/region: null + requests: 18 + cpu/thermal-design-power: 60 + grid/carbon-intensity: 480 + device/emissions-embodied: 1533.12 + time-reserved: 2160.2 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.34035000000000004 + cpu-wattage: 5.6725 + cpu-wattage-times-duration: 170.175 + cpu-energy-raw: 0.00004727083333333333 + vcpu-ratio: null + cpu-energy-kwh: 0.000005908854166666666 + embodied-carbon: 0.02378234398782344 + carbon-operational: 0.004727083333333333 + carbon: 0.02850942732115677 + sci: 0.0015838570733975985 + - timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + cpu/utilization: 0 + cloud/instance-type: null + cloud/region: null + requests: 0 + cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + time-reserved: 0.8 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + cpu/utilization: 0 + cloud/instance-type: null + cloud/region: null + requests: 0 + cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + time-reserved: 0.8 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + cpu/utilization: 0 + cloud/instance-type: null + cloud/region: null + requests: 0 + cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + time-reserved: 0.8 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + aggregated: + carbon: 0.4092622082699138 + outputs: + - carbon: 0.046828906646372404 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.04820251775748351 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.04814279553526128 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0.02850942732115677 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + aggregated: + carbon: 0.4092622082699138 + outputs: + - carbon: 0.046828906646372404 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.04820251775748351 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.04814279553526128 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0.02850942732115677 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + outputs: + - carbon: 0.09210503551496703 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.09318003551496702 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.09297100773718923 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.0923439244038559 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.0923439244038559 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.0923439244038559 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0.0923439244038559 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0.0923439244038559 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0.05540635464231354 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + aggregated: + carbon: 0.7953820554287163 diff --git a/manifests/outputs/pipelines/outputs-if-diff/pipeline-with-mocks.yaml b/manifests/outputs/pipelines/outputs-if-diff/pipeline-with-mocks.yaml new file mode 100644 index 000000000..3afc34f3e --- /dev/null +++ b/manifests/outputs/pipelines/outputs-if-diff/pipeline-with-mocks.yaml @@ -0,0 +1,1507 @@ +name: pipeline-with-mocks +description: a full pipeline seeded with data from mock-observations feature +tags: null +aggregation: + metrics: + - carbon + type: both +initialize: + plugins: + mock-observations: + path: builtin + method: MockObservations + config: + timestamp-from: 2023-12-12T00:00 + timestamp-to: 2023-12-12T00:10 + duration: 60 + components: + - cloud/instance-type: A1 + generators: + common: + cloud/region: uk-west + randint: + cpu/utilization: + min: 1 + max: 99 + parameter-metadata: + inputs: + timestamp: + unit: RFC3339 + description: refers to the time of occurrence of the input + aggregation-method: + time: none + component: none + duration: + unit: seconds + description: refers to the duration of the input + aggregation-method: + time: sum + component: sum + cloud/instance-type: + unit: none + description: type of Cloud Instance name used in the cloud provider APIs + aggregation-method: + time: none + component: none + cloud/region: + unit: none + description: region cloud instance + aggregation-method: + time: none + component: none + interpolate: + path: builtin + method: Interpolation + config: + method: linear + x: + - 0 + - 10 + - 50 + - 100 + 'y': + - 0.12 + - 0.32 + - 0.75 + - 1.02 + input-parameter: cpu/utilization + output-parameter: cpu-factor + parameter-metadata: + inputs: + cpu/utilization: + unit: percentage + description: refers to CPU utilization. + aggregation-method: + time: avg + component: avg + outputs: + cpu-factor: + unit: kWh + description: result of interpolate + aggregation-method: + time: avg + component: avg + cpu-factor-to-wattage: + path: builtin + method: Multiply + config: + input-parameters: + - cpu-factor + - cpu/thermal-design-power + output-parameter: cpu-wattage + parameter-metadata: + inputs: + cpu-factor: + unit: kWh + description: result of interpolate + aggregation-method: + time: avg + component: avg + cpu/thermal-design-power: + unit: kWh + description: thermal design power for a processor + aggregation-method: + time: avg + component: avg + outputs: + cpu-wattage: + unit: kWh + description: the energy used by the CPU + aggregation-method: + time: sum + component: sum + wattage-times-duration: + path: builtin + method: Multiply + config: + input-parameters: + - cpu-wattage + - duration + output-parameter: cpu-wattage-times-duration + parameter-metadata: + inputs: + cpu-wattage: + unit: kWh + description: Energy used by the CPU + aggregation-method: + time: sum + component: sum + duration: + unit: seconds + description: Duration of the observation + aggregation-method: + time: sum + component: sum + outputs: + cpu-wattage-times-duration: + unit: kWh + description: CPU wattage multiplied by duration + aggregation-method: + time: sum + component: sum + wattage-to-energy-kwh: + path: builtin + method: Divide + config: + numerator: cpu-wattage-times-duration + denominator: 3600000 + output: cpu-energy-raw + parameter-metadata: + inputs: + cpu-wattage-times-duration: + unit: kWh + description: CPU wattage multiplied by duration + aggregation-method: + time: sum + component: sum + outputs: + cpu-energy-raw: + unit: kWh + description: Raw energy used by CPU in kWh + aggregation-method: + time: sum + component: sum + calculate-vcpu-ratio: + path: builtin + method: Divide + config: + numerator: vcpus-total + denominator: vcpus-allocated + output: vcpu-ratio + parameter-metadata: + inputs: + vcpus-total: + unit: count + description: total number of vcpus available on a particular resource + aggregation-method: + time: none + component: none + vcpus-allocated: + unit: count + description: number of vcpus allocated to particular resource + aggregation-method: + time: none + component: none + outputs: + vcpu-ratio: + unit: none + description: Ratio of vCPUs + aggregation-method: + time: none + component: none + correct-cpu-energy-for-vcpu-ratio: + path: builtin + method: Divide + config: + numerator: cpu-energy-raw + denominator: vcpu-ratio + output: cpu-energy-kwh + parameter-metadata: + inputs: + cpu-energy-raw: + unit: kWh + description: Raw energy used by CPU in kWh + aggregation-method: + time: sum + component: sum + vcpu-ratio: + unit: none + description: Ratio of vCPUs + aggregation-method: + time: none + component: none + outputs: + cpu-energy-kwh: + unit: kWh + description: Corrected CPU energy in kWh + aggregation-method: + time: sum + component: sum + sci-embodied: + path: builtin + method: SciEmbodied + operational-carbon: + path: builtin + method: Multiply + config: + input-parameters: + - cpu-energy-kwh + - grid/carbon-intensity + output-parameter: carbon-operational + parameter-metadata: + inputs: + cpu-energy-kwh: + unit: kWh + description: Corrected CPU energy in kWh + aggregation-method: + time: sum + component: sum + grid/carbon-intensity: + unit: gCO2eq/kWh + description: Carbon intensity for the grid + aggregation-method: + time: avg + component: avg + outputs: + carbon-operational: + unit: gCO2eq + description: Operational carbon footprint + aggregation-method: + time: sum + component: sum + sum-carbon: + path: builtin + method: Sum + config: + input-parameters: + - carbon-operational + - embodied-carbon + output-parameter: carbon + parameter-metadata: + inputs: + carbon-operational: + unit: gCO2eq + description: Operational carbon footprint + aggregation-method: + time: sum + component: sum + embodied-carbon: + unit: gCO2eq + description: Embodied carbon footprint + aggregation-method: + time: sum + component: sum + outputs: + carbon: + unit: gCO2eq + description: Total carbon footprint + aggregation-method: + time: sum + component: sum + sci: + path: builtin + method: Sci + config: + functional-unit: requests + parameter-metadata: + inputs: + requests: + unit: none + description: expressed the final SCI value + aggregation-method: + time: sum + component: sum + outputs: + sci: + unit: none + description: Scientific Carbon Intensity + aggregation-method: + time: none + component: none + time-sync: + path: builtin + method: TimeSync + config: + start-time: '2023-12-12T00:00:00.000Z' + end-time: '2023-12-12T00:01:00.000Z' + interval: 5 + allow-padding: true + parameter-metadata: + inputs: + time-reserved: + unit: seconds + description: time reserved for a component + aggregation-method: + time: avg + component: avg + outputs: + synced-time: + unit: none + description: Synced time + aggregation-method: + time: none + component: none +execution: + command: >- + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/pipelines/outputs-if-diff/pipeline-with-mocks.yaml -o + manifests/outputs/pipelines/outputs-if-diff/pipeline-with-mocks.yaml + environment: + if-version: 0.6.0 + os: macOS + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:13:48.694Z (UTC) + dependencies: + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' + - axios-mock-adapter@1.22.0 + - axios@1.7.2 + - cross-env@7.0.3 + - csv-parse@5.5.6 + - csv-stringify@6.4.6 + - fixpack@4.0.0 + - gts@5.2.0 + - husky@8.0.3 + - jest@29.7.0 + - js-yaml@4.1.0 + - lint-staged@15.2.2 + - luxon@3.4.4 + - release-it@16.3.0 + - rimraf@5.0.5 + - ts-command-line-args@2.5.1 + - ts-jest@29.1.1 + - typescript-cubic-spline@1.0.1 + - typescript@5.2.2 + - winston@3.11.0 + - zod@3.23.8 + status: success +tree: + children: + child-1: + pipeline: + observe: + - mock-observations + regroup: + - cloud/region + - cloud/instance-type + compute: + - interpolate + - cpu-factor-to-wattage + - wattage-times-duration + - wattage-to-energy-kwh + - calculate-vcpu-ratio + - correct-cpu-energy-for-vcpu-ratio + - sci-embodied + - operational-carbon + - sum-carbon + - time-sync + - sci + defaults: + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + aggregated: + carbon: 0.5505472444190767 + children: + uk-west: + children: + A1: + inputs: + - timestamp: '2023-12-12T00:00:00.000Z' + cloud/instance-type: A1 + cloud/region: uk-west + duration: 60 + cpu/utilization: 17 + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:01:00.000Z' + cloud/instance-type: A1 + cloud/region: uk-west + duration: 60 + cpu/utilization: 17 + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:02:00.000Z' + cloud/instance-type: A1 + cloud/region: uk-west + duration: 60 + cpu/utilization: 90 + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:03:00.000Z' + cloud/instance-type: A1 + cloud/region: uk-west + duration: 60 + cpu/utilization: 10 + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:04:00.000Z' + cloud/instance-type: A1 + cloud/region: uk-west + duration: 60 + cpu/utilization: 59 + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:05:00.000Z' + cloud/instance-type: A1 + cloud/region: uk-west + duration: 60 + cpu/utilization: 64 + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:06:00.000Z' + cloud/instance-type: A1 + cloud/region: uk-west + duration: 60 + cpu/utilization: 46 + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:07:00.000Z' + cloud/instance-type: A1 + cloud/region: uk-west + duration: 60 + cpu/utilization: 28 + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:08:00.000Z' + cloud/instance-type: A1 + cloud/region: uk-west + duration: 60 + cpu/utilization: 40 + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:09:00.000Z' + cloud/instance-type: A1 + cloud/region: uk-west + duration: 60 + cpu/utilization: 37 + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + outputs: + - timestamp: '2023-12-12T00:00:00.000Z' + cloud/instance-type: null + cloud/region: null + duration: 5 + cpu/utilization: 13.6 + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.3162 + cpu-wattage: 3.2937499999999997 + cpu-wattage-times-duration: 197.625 + cpu-energy-raw: 0.00005489583333333334 + vcpu-ratio: null + cpu-energy-kwh: 0.000006861979166666667 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005489583333333334 + carbon: 0.04512682331303906 + sci: 0.018050729325215627 + - timestamp: '2023-12-12T00:00:05.000Z' + cloud/instance-type: null + cloud/region: null + duration: 5 + cpu/utilization: 13.6 + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.3162 + cpu-wattage: 3.2937499999999997 + cpu-wattage-times-duration: 197.625 + cpu-energy-raw: 0.00005489583333333334 + vcpu-ratio: null + cpu-energy-kwh: 0.000006861979166666667 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005489583333333334 + carbon: 0.04512682331303906 + sci: 0.018050729325215627 + - timestamp: '2023-12-12T00:00:10.000Z' + cloud/instance-type: null + cloud/region: null + duration: 5 + cpu/utilization: 13.6 + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.3162 + cpu-wattage: 3.2937499999999997 + cpu-wattage-times-duration: 197.625 + cpu-energy-raw: 0.00005489583333333334 + vcpu-ratio: null + cpu-energy-kwh: 0.000006861979166666667 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005489583333333334 + carbon: 0.04512682331303906 + sci: 0.018050729325215627 + - timestamp: '2023-12-12T00:00:15.000Z' + cloud/instance-type: null + cloud/region: null + duration: 5 + cpu/utilization: 13.6 + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.3162 + cpu-wattage: 3.2937499999999997 + cpu-wattage-times-duration: 197.625 + cpu-energy-raw: 0.00005489583333333334 + vcpu-ratio: null + cpu-energy-kwh: 0.000006861979166666667 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005489583333333334 + carbon: 0.04512682331303906 + sci: 0.018050729325215627 + - timestamp: '2023-12-12T00:00:20.000Z' + cloud/instance-type: null + cloud/region: null + duration: 5 + cpu/utilization: 13.6 + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.3162 + cpu-wattage: 3.2937499999999997 + cpu-wattage-times-duration: 197.625 + cpu-energy-raw: 0.00005489583333333334 + vcpu-ratio: null + cpu-energy-kwh: 0.000006861979166666667 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005489583333333334 + carbon: 0.04512682331303906 + sci: 0.018050729325215627 + - timestamp: '2023-12-12T00:00:25.000Z' + cloud/instance-type: null + cloud/region: null + duration: 5 + cpu/utilization: 13.6 + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.3162 + cpu-wattage: 3.2937499999999997 + cpu-wattage-times-duration: 197.625 + cpu-energy-raw: 0.00005489583333333334 + vcpu-ratio: null + cpu-energy-kwh: 0.000006861979166666667 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005489583333333334 + carbon: 0.04512682331303906 + sci: 0.018050729325215627 + - timestamp: '2023-12-12T00:00:30.000Z' + cloud/instance-type: null + cloud/region: null + duration: 5 + cpu/utilization: 13.6 + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.3162 + cpu-wattage: 3.2937499999999997 + cpu-wattage-times-duration: 197.625 + cpu-energy-raw: 0.00005489583333333334 + vcpu-ratio: null + cpu-energy-kwh: 0.000006861979166666667 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005489583333333334 + carbon: 0.04512682331303906 + sci: 0.018050729325215627 + - timestamp: '2023-12-12T00:00:35.000Z' + cloud/instance-type: null + cloud/region: null + duration: 5 + cpu/utilization: 13.6 + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.3162 + cpu-wattage: 3.2937499999999997 + cpu-wattage-times-duration: 197.625 + cpu-energy-raw: 0.00005489583333333334 + vcpu-ratio: null + cpu-energy-kwh: 0.000006861979166666667 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005489583333333334 + carbon: 0.04512682331303906 + sci: 0.018050729325215627 + - timestamp: '2023-12-12T00:00:40.000Z' + cloud/instance-type: null + cloud/region: null + duration: 5 + cpu/utilization: 13.6 + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.3162 + cpu-wattage: 3.2937499999999997 + cpu-wattage-times-duration: 197.625 + cpu-energy-raw: 0.00005489583333333334 + vcpu-ratio: null + cpu-energy-kwh: 0.000006861979166666667 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005489583333333334 + carbon: 0.04512682331303906 + sci: 0.018050729325215627 + - timestamp: '2023-12-12T00:00:45.000Z' + cloud/instance-type: null + cloud/region: null + duration: 5 + cpu/utilization: 13.6 + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.3162 + cpu-wattage: 3.2937499999999997 + cpu-wattage-times-duration: 197.625 + cpu-energy-raw: 0.00005489583333333334 + vcpu-ratio: null + cpu-energy-kwh: 0.000006861979166666667 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005489583333333334 + carbon: 0.04512682331303906 + sci: 0.018050729325215627 + - timestamp: '2023-12-12T00:00:50.000Z' + cloud/instance-type: null + cloud/region: null + duration: 5 + cpu/utilization: 13.6 + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.3162 + cpu-wattage: 3.2937499999999997 + cpu-wattage-times-duration: 197.625 + cpu-energy-raw: 0.00005489583333333334 + vcpu-ratio: null + cpu-energy-kwh: 0.000006861979166666667 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005489583333333334 + carbon: 0.04512682331303906 + sci: 0.018050729325215627 + - timestamp: '2023-12-12T00:00:55.000Z' + cloud/instance-type: null + cloud/region: null + duration: 5 + cpu/utilization: 13.6 + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.3162 + cpu-wattage: 3.2937499999999997 + cpu-wattage-times-duration: 197.625 + cpu-energy-raw: 0.00005489583333333334 + vcpu-ratio: null + cpu-energy-kwh: 0.000006861979166666667 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005489583333333334 + carbon: 0.04512682331303906 + sci: 0.018050729325215627 + - timestamp: '2023-12-12T00:01:00.000Z' + cloud/instance-type: null + cloud/region: null + duration: 1 + cpu/utilization: 17 + requests: 0.5 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.39525 + cpu-wattage: 0.65875 + cpu-wattage-times-duration: 39.525 + cpu-energy-raw: 0.000010979166666666668 + vcpu-ratio: null + cpu-energy-kwh: 0.0000013723958333333335 + embodied-carbon: 0.007927447995941146 + carbon-operational: 0.0010979166666666667 + carbon: 0.009025364662607813 + sci: 0.018050729325215627 + aggregated: + carbon: 0.5505472444190767 + outputs: + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + - carbon: 0.009025364662607813 + timestamp: '2023-12-12T00:01:00.000Z' + duration: 1 + aggregated: + carbon: 0.5505472444190767 + outputs: + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0.04512682331303906 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + - carbon: 0.009025364662607813 + timestamp: '2023-12-12T00:01:00.000Z' + duration: 1 + child-2: + pipeline: + observe: + - mock-observations + regroup: + - cloud/region + - cloud/instance-type + compute: + - interpolate + - cpu-factor-to-wattage + - wattage-times-duration + - wattage-to-energy-kwh + - calculate-vcpu-ratio + - correct-cpu-energy-for-vcpu-ratio + - sci-embodied + - operational-carbon + - sum-carbon + - time-sync + - sci + defaults: + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + aggregated: + carbon: 0.6495376610857433 + children: + uk-west: + children: + A1: + inputs: + - timestamp: '2023-12-12T00:00:00.000Z' + duration: 60 + cpu/utilization: 93 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:01:00.000Z' + duration: 60 + cpu/utilization: 62 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:02:00.000Z' + duration: 60 + cpu/utilization: 66 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:03:00.000Z' + duration: 60 + cpu/utilization: 46 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:04:00.000Z' + duration: 60 + cpu/utilization: 60 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:05:00.000Z' + duration: 60 + cpu/utilization: 10 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:06:00.000Z' + duration: 60 + cpu/utilization: 62 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:07:00.000Z' + duration: 60 + cpu/utilization: 71 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:08:00.000Z' + duration: 60 + cpu/utilization: 21 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:09:00.000Z' + duration: 60 + cpu/utilization: 53 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + outputs: + - timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + cpu/utilization: 74.4 + cloud/instance-type: null + cloud/region: null + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.78576 + cpu-wattage: 8.185 + cpu-wattage-times-duration: 491.1 + cpu-energy-raw: 0.00013641666666666666 + vcpu-ratio: null + cpu-energy-kwh: 0.000017052083333333332 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013641666666666667 + carbon: 0.053278906646372394 + sci: 0.021311562658548958 + - timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + cpu/utilization: 74.4 + cloud/instance-type: null + cloud/region: null + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.78576 + cpu-wattage: 8.185 + cpu-wattage-times-duration: 491.1 + cpu-energy-raw: 0.00013641666666666666 + vcpu-ratio: null + cpu-energy-kwh: 0.000017052083333333332 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013641666666666667 + carbon: 0.053278906646372394 + sci: 0.021311562658548958 + - timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + cpu/utilization: 74.4 + cloud/instance-type: null + cloud/region: null + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.78576 + cpu-wattage: 8.185 + cpu-wattage-times-duration: 491.1 + cpu-energy-raw: 0.00013641666666666666 + vcpu-ratio: null + cpu-energy-kwh: 0.000017052083333333332 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013641666666666667 + carbon: 0.053278906646372394 + sci: 0.021311562658548958 + - timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + cpu/utilization: 74.4 + cloud/instance-type: null + cloud/region: null + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.78576 + cpu-wattage: 8.185 + cpu-wattage-times-duration: 491.1 + cpu-energy-raw: 0.00013641666666666666 + vcpu-ratio: null + cpu-energy-kwh: 0.000017052083333333332 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013641666666666667 + carbon: 0.053278906646372394 + sci: 0.021311562658548958 + - timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + cpu/utilization: 74.4 + cloud/instance-type: null + cloud/region: null + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.78576 + cpu-wattage: 8.185 + cpu-wattage-times-duration: 491.1 + cpu-energy-raw: 0.00013641666666666666 + vcpu-ratio: null + cpu-energy-kwh: 0.000017052083333333332 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013641666666666667 + carbon: 0.053278906646372394 + sci: 0.021311562658548958 + - timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + cpu/utilization: 74.4 + cloud/instance-type: null + cloud/region: null + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.78576 + cpu-wattage: 8.185 + cpu-wattage-times-duration: 491.1 + cpu-energy-raw: 0.00013641666666666666 + vcpu-ratio: null + cpu-energy-kwh: 0.000017052083333333332 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013641666666666667 + carbon: 0.053278906646372394 + sci: 0.021311562658548958 + - timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + cpu/utilization: 74.4 + cloud/instance-type: null + cloud/region: null + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.78576 + cpu-wattage: 8.185 + cpu-wattage-times-duration: 491.1 + cpu-energy-raw: 0.00013641666666666666 + vcpu-ratio: null + cpu-energy-kwh: 0.000017052083333333332 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013641666666666667 + carbon: 0.053278906646372394 + sci: 0.021311562658548958 + - timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + cpu/utilization: 74.4 + cloud/instance-type: null + cloud/region: null + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.78576 + cpu-wattage: 8.185 + cpu-wattage-times-duration: 491.1 + cpu-energy-raw: 0.00013641666666666666 + vcpu-ratio: null + cpu-energy-kwh: 0.000017052083333333332 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013641666666666667 + carbon: 0.053278906646372394 + sci: 0.021311562658548958 + - timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + cpu/utilization: 74.4 + cloud/instance-type: null + cloud/region: null + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.78576 + cpu-wattage: 8.185 + cpu-wattage-times-duration: 491.1 + cpu-energy-raw: 0.00013641666666666666 + vcpu-ratio: null + cpu-energy-kwh: 0.000017052083333333332 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013641666666666667 + carbon: 0.053278906646372394 + sci: 0.021311562658548958 + - timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + cpu/utilization: 74.4 + cloud/instance-type: null + cloud/region: null + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.78576 + cpu-wattage: 8.185 + cpu-wattage-times-duration: 491.1 + cpu-energy-raw: 0.00013641666666666666 + vcpu-ratio: null + cpu-energy-kwh: 0.000017052083333333332 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013641666666666667 + carbon: 0.053278906646372394 + sci: 0.021311562658548958 + - timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + cpu/utilization: 74.4 + cloud/instance-type: null + cloud/region: null + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.78576 + cpu-wattage: 8.185 + cpu-wattage-times-duration: 491.1 + cpu-energy-raw: 0.00013641666666666666 + vcpu-ratio: null + cpu-energy-kwh: 0.000017052083333333332 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013641666666666667 + carbon: 0.053278906646372394 + sci: 0.021311562658548958 + - timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + cpu/utilization: 74.4 + cloud/instance-type: null + cloud/region: null + requests: 2.5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 2880 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.78576 + cpu-wattage: 8.185 + cpu-wattage-times-duration: 491.1 + cpu-energy-raw: 0.00013641666666666666 + vcpu-ratio: null + cpu-energy-kwh: 0.000017052083333333332 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013641666666666667 + carbon: 0.053278906646372394 + sci: 0.021311562658548958 + - timestamp: '2023-12-12T00:01:00.000Z' + duration: 1 + cpu/utilization: 62 + cloud/instance-type: null + cloud/region: null + requests: 0.5 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + cpu-factor: 0.8148 + cpu-wattage: 1.3579999999999999 + cpu-wattage-times-duration: 81.47999999999999 + cpu-energy-raw: 0.00002263333333333333 + vcpu-ratio: null + cpu-energy-kwh: 0.000002829166666666666 + embodied-carbon: 0.007927447995941146 + carbon-operational: 0.002263333333333333 + carbon: 0.010190781329274479 + sci: 0.020381562658548957 + aggregated: + carbon: 0.6495376610857433 + outputs: + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + - carbon: 0.010190781329274479 + timestamp: '2023-12-12T00:01:00.000Z' + duration: 1 + aggregated: + carbon: 0.6495376610857433 + outputs: + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0.053278906646372394 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + - carbon: 0.010190781329274479 + timestamp: '2023-12-12T00:01:00.000Z' + duration: 1 + outputs: + - carbon: 0.09840572995941146 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.09840572995941146 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.09840572995941146 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.09840572995941146 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.09840572995941146 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.09840572995941146 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0.09840572995941146 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0.09840572995941146 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0.09840572995941146 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0.09840572995941146 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0.09840572995941146 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0.09840572995941146 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + - carbon: 0.019216145991882292 + timestamp: '2023-12-12T00:01:00.000Z' + duration: 1 + aggregated: + carbon: 1.2000849055048197 diff --git a/manifests/outputs/pipelines/pipeline-teads-sci.yaml b/manifests/outputs/pipelines/pipeline-teads-sci.yaml index c014d9f6d..b9a6377f5 100644 --- a/manifests/outputs/pipelines/pipeline-teads-sci.yaml +++ b/manifests/outputs/pipelines/pipeline-teads-sci.yaml @@ -15,7 +15,7 @@ initialize: - 10 - 50 - 100 - "y": + 'y': - 0.12 - 0.32 - 0.75 @@ -83,29 +83,37 @@ initialize: - carbon-operational - embodied-carbon output-parameter: carbon + time-sync: + path: builtin + method: TimeSync + config: + start-time: '2023-12-12T00:00:00.000Z' + end-time: '2023-12-12T00:01:00.000Z' + interval: 5 + allow-padding: true execution: command: >- - /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node - /Users/mariamkhalatova/Projects/UK/if/src/if-run/index.ts -m + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m manifests/examples/pipelines/pipeline-teads-sci.yml -o - manifests/outputs/pipelines/pipeline-teads-sci + manifests/outputs/pipelines/pipeline-teads-sci.yml environment: - if-version: 0.5.0 + if-version: 0.6.0 os: macOS - os-version: "14.5" - node-version: 18.14.2 - date-time: 2024-07-19T06:32:50.994Z (UTC) + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:13:31.812Z (UTC) dependencies: - - "@babel/core@7.22.10" - - "@babel/preset-typescript@7.23.3" - - "@commitlint/cli@18.6.0" - - "@commitlint/config-conventional@18.6.0" - - "@grnsft/if-core@0.0.10" - - "@jest/globals@29.7.0" - - "@types/jest@29.5.8" - - "@types/js-yaml@4.0.9" - - "@types/luxon@3.4.2" - - "@types/node@20.9.0" + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' - axios-mock-adapter@1.22.0 - axios@1.7.2 - cross-env@7.0.3 @@ -125,7 +133,7 @@ execution: - typescript-cubic-spline@1.0.1 - typescript@5.2.2 - winston@3.11.0 - - zod@3.22.4 + - zod@3.23.8 status: success tree: children: @@ -152,32 +160,32 @@ tree: vcpus-allocated: 1 component: 1 inputs: - - timestamp: "2023-12-12T00:00:00.000Z" + - timestamp: '2023-12-12T00:00:00.000Z' cloud/instance-type: A1 cloud/region: uk-west duration: 1 cpu/utilization: 50 network/energy: 0.000001 - - timestamp: "2023-12-12T00:00:01.000Z" + - timestamp: '2023-12-12T00:00:01.000Z' duration: 5 cpu/utilization: 20 cloud/instance-type: A1 cloud/region: uk-west network/energy: 0.000001 - - timestamp: "2023-12-12T00:00:06.000Z" + - timestamp: '2023-12-12T00:00:06.000Z' duration: 7 cpu/utilization: 15 cloud/instance-type: A1 cloud/region: uk-west network/energy: 0.000001 - - timestamp: "2023-12-12T00:00:13.000Z" + - timestamp: '2023-12-12T00:00:13.000Z' duration: 30 cloud/instance-type: A1 cloud/region: uk-west cpu/utilization: 15 network/energy: 0.000001 outputs: - - timestamp: "2023-12-12T00:00:00.000Z" + - timestamp: '2023-12-12T00:00:00.000Z' cloud/instance-type: A1 cloud/region: uk-west duration: 1 @@ -197,11 +205,11 @@ tree: cpu-energy-raw: 0.000020833333333333333 vcpu-ratio: 8 cpu-energy-kwh: 0.0000026041666666666666 - embodied-carbon: 0.0000020256215119228817 + embodied-carbon: 0.007927447995941146 carbon-operational: 0.0020833333333333333 - carbon: 0.002085358954845256 - sci: 0.002085358954845256 - - timestamp: "2023-12-12T00:00:01.000Z" + carbon: 0.010010781329274479 + sci: 0.010010781329274479 + - timestamp: '2023-12-12T00:00:01.000Z' duration: 5 cpu/utilization: 20 cloud/instance-type: A1 @@ -221,11 +229,11 @@ tree: cpu-energy-raw: 0.000059375 vcpu-ratio: 8 cpu-energy-kwh: 0.000007421875 - embodied-carbon: 0.000010128107559614407 + embodied-carbon: 0.03963723997970574 carbon-operational: 0.0059375 - carbon: 0.005947628107559615 - sci: 0.005947628107559615 - - timestamp: "2023-12-12T00:00:06.000Z" + carbon: 0.045574739979705736 + sci: 0.045574739979705736 + - timestamp: '2023-12-12T00:00:06.000Z' duration: 7 cpu/utilization: 15 cloud/instance-type: A1 @@ -245,11 +253,11 @@ tree: cpu-energy-raw: 0.00007267361111111111 vcpu-ratio: 8 cpu-energy-kwh: 0.000009084201388888889 - embodied-carbon: 0.00001417935058346017 + embodied-carbon: 0.05549213597158803 carbon-operational: 0.007267361111111111 - carbon: 0.007281540461694571 - sci: 0.007281540461694571 - - timestamp: "2023-12-12T00:00:13.000Z" + carbon: 0.06275949708269914 + sci: 0.06275949708269914 + - timestamp: '2023-12-12T00:00:13.000Z' duration: 30 cloud/instance-type: A1 cloud/region: uk-west @@ -269,7 +277,7 @@ tree: cpu-energy-raw: 0.00031145833333333335 vcpu-ratio: 8 cpu-energy-kwh: 0.00003893229166666667 - embodied-carbon: 0.00006076864535768645 + embodied-carbon: 0.2378234398782344 carbon-operational: 0.031145833333333334 - carbon: 0.03120660197869102 - sci: 0.03120660197869102 + carbon: 0.2689692732115677 + sci: 0.2689692732115677 diff --git a/manifests/outputs/pipelines/pipeline-with-aggregate.yaml b/manifests/outputs/pipelines/pipeline-with-aggregate.yaml new file mode 100644 index 000000000..582e8351d --- /dev/null +++ b/manifests/outputs/pipelines/pipeline-with-aggregate.yaml @@ -0,0 +1,1167 @@ +name: pipeline-with-aggregate +description: a full pipeline with the aggregate feature enabled +tags: null +aggregation: + metrics: + - carbon + type: both +initialize: + plugins: + interpolate: + path: builtin + method: Interpolation + config: + method: linear + x: + - 0 + - 10 + - 50 + - 100 + 'y': + - 0.12 + - 0.32 + - 0.75 + - 1.02 + input-parameter: cpu/utilization + output-parameter: cpu-factor + parameter-metadata: + inputs: + cpu/utilization: + unit: percentage + description: refers to CPU utilization. + aggregation-method: + time: avg + component: avg + outputs: + cpu-factor: + unit: kWh + description: result of interpolate + aggregation-method: + time: avg + component: avg + cpu-factor-to-wattage: + path: builtin + method: Multiply + config: + input-parameters: + - cpu-factor + - cpu/thermal-design-power + output-parameter: cpu-wattage + parameter-metadata: + inputs: + cpu-factor: + unit: kWh + description: result of interpolate + aggregation-method: + time: avg + component: avg + cpu/thermal-design-power: + unit: kWh + description: thermal design power for a processor + aggregation-method: + time: avg + component: avg + outputs: + cpu-wattage: + unit: kWh + description: the energy used by the CPU + aggregation-method: + time: sum + component: sum + wattage-times-duration: + path: builtin + method: Multiply + config: + input-parameters: + - cpu-wattage + - duration + output-parameter: cpu-wattage-times-duration + wattage-to-energy-kwh: + path: builtin + method: Divide + config: + numerator: cpu-wattage-times-duration + denominator: 3600000 + output: cpu-energy-raw + parameter-metadata: + inputs: + cpu-wattage-times-duration: + unit: kWh + description: CPU wattage multiplied by duration + aggregation-method: + time: sum + component: sum + outputs: + cpu-energy-raw: + unit: kWh + description: Raw energy used by CPU in kWh + aggregation-method: + time: sum + component: sum + calculate-vcpu-ratio: + path: builtin + method: Divide + config: + numerator: vcpus-total + denominator: vcpus-allocated + output: vcpu-ratio + parameter-metadata: + inputs: + vcpus-total: + unit: count + description: total number of vcpus available on a particular resource + aggregation-method: + time: copy + component: copy + vcpus-allocated: + unit: count + description: number of vcpus allocated to particular resource + aggregation-method: + time: copy + component: copy + outputs: + vcpu-ratio: + unit: none + description: Ratio of vCPUs + aggregation-method: + time: copy + component: copy + correct-cpu-energy-for-vcpu-ratio: + path: builtin + method: Divide + config: + numerator: cpu-energy-raw + denominator: vcpu-ratio + output: cpu-energy-kwh + sci-embodied: + path: builtin + method: SciEmbodied + operational-carbon: + path: builtin + method: Multiply + config: + input-parameters: + - cpu-energy-kwh + - grid/carbon-intensity + output-parameter: carbon-operational + parameter-metadata: + inputs: + cpu-energy-kwh: + unit: kWh + description: Corrected CPU energy in kWh + aggregation-method: + time: sum + component: sum + grid/carbon-intensity: + unit: gCO2eq/kWh + description: Carbon intensity for the grid + aggregation-method: + time: avg + component: avg + outputs: + carbon-operational: + unit: gCO2eq + description: Operational carbon footprint + aggregation-method: + time: sum + component: sum + sci: + path: builtin + method: Sci + config: + functional-unit: requests + parameter-metadata: + inputs: + requests: + unit: none + description: expressed the final SCI value + aggregation-method: + time: sum + component: sum + sum-carbon: + path: builtin + method: Sum + config: + input-parameters: + - carbon-operational + - embodied-carbon + output-parameter: carbon + parameter-metadata: + outputs: + carbon: + unit: gCO2eq + description: product of carbon + aggregation-method: + time: sum + component: sum + time-sync: + path: builtin + method: TimeSync + config: + start-time: '2023-12-12T00:00:00.000Z' + end-time: '2023-12-12T00:01:00.000Z' + interval: 5 + allow-padding: true +execution: + command: >- + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/pipelines/pipeline-with-aggregate.yml -o + manifests/outputs/pipelines/pipeline-with-aggregate.yaml + environment: + if-version: 0.6.0 + os: macOS + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T11:54:19.467Z (UTC) + dependencies: + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' + - axios-mock-adapter@1.22.0 + - axios@1.7.2 + - cross-env@7.0.3 + - csv-parse@5.5.6 + - csv-stringify@6.4.6 + - fixpack@4.0.0 + - gts@5.2.0 + - husky@8.0.3 + - jest@29.7.0 + - js-yaml@4.1.0 + - lint-staged@15.2.2 + - luxon@3.4.4 + - release-it@16.3.0 + - rimraf@5.0.5 + - ts-command-line-args@2.5.1 + - ts-jest@29.1.1 + - typescript-cubic-spline@1.0.1 + - typescript@5.2.2 + - winston@3.11.0 + - zod@3.23.8 + status: success +tree: + children: + child-1: + pipeline: + regroup: + - cloud/region + - cloud/instance-type + compute: + - interpolate + - cpu-factor-to-wattage + - wattage-times-duration + - wattage-to-energy-kwh + - calculate-vcpu-ratio + - correct-cpu-energy-for-vcpu-ratio + - sci-embodied + - operational-carbon + - sum-carbon + - time-sync + - sci + defaults: + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + children: + uk-west: + children: + A1: + inputs: + - timestamp: '2023-12-12T00:00:00.000Z' + cloud/instance-type: A1 + cloud/region: uk-west + duration: 1 + cpu/utilization: 10 + requests: 10 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:00:01.000Z' + duration: 5 + cpu/utilization: 20 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 5 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:00:06.000Z' + duration: 7 + cpu/utilization: 15 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 15 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:00:13.000Z' + duration: 30 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 15 + requests: 30 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + outputs: + - timestamp: '2023-12-12T00:00:00.000Z' + cloud/instance-type: A1 + cloud/region: uk-west + duration: 5 + cpu/utilization: 14 + requests: 14 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.3205 + cpu-wattage: 66.19999999999999 + cpu-wattage-times-duration: 203 + cpu-energy-raw: 0.0000563888888888889 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000007048611111111113 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.0056388888888888895 + carbon: 0.045276128868594626 + sci: 0.0032340092048996163 + - timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + cpu/utilization: 13 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 9.571428571428571 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.30975 + cpu-wattage: 29.907142857142862 + cpu-wattage-times-duration: 192.25 + cpu-energy-raw: 0.00005340277777777778 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000006675347222222222 + embodied-carbon: 0.03963723997970574 + carbon-operational: 0.005340277777777777 + carbon: 0.044977517757483515 + sci: 0.004699143646304248 + - timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + cpu/utilization: 12 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 8.428571428571429 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.29900000000000004 + cpu-wattage: 18.50952380952381 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222222 + vcpu-ratio: 8 + cpu-energy-kwh: 0.0000064887152777777775 + embodied-carbon: 0.03963723997970574 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.005318601447686367 + - timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 12 + requests: 5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.00896564244038559 + - timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 12 + requests: 5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.00896564244038559 + - timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 12 + requests: 5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.00896564244038559 + - timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 12 + requests: 5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.00896564244038559 + - timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 12 + requests: 5 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.00896564244038559 + - timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 9 + requests: 3 + cpu/thermal-design-power: 60 + grid/carbon-intensity: 480 + device/emissions-embodied: 1533.12 + time-reserved: 1 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.22425 + cpu-wattage: 3.7375 + cpu-wattage-times-duration: 112.125 + cpu-energy-raw: 0.000031145833333333336 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000003893229166666667 + embodied-carbon: 0.02378234398782344 + carbon-operational: 0.0031145833333333334 + carbon: 0.02689692732115677 + sci: 0.00896564244038559 + - timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 0 + requests: 0 + cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + time-reserved: 1 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: 8 + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 0 + requests: 0 + cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + time-reserved: 1 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: 8 + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 0 + requests: 0 + cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + time-reserved: 1 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: 8 + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + aggregated: + carbon: 0.38611984715880265 + outputs: + - carbon: 0.045276128868594626 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.044977517757483515 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0.02689692732115677 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + aggregated: + carbon: 0.38611984715880265 + outputs: + - carbon: 0.045276128868594626 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.044977517757483515 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0.02689692732115677 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + aggregated: + carbon: 0.38611984715880265 + child-2: + pipeline: + regroup: + - cloud/region + - cloud/instance-type + compute: + - interpolate + - cpu-factor-to-wattage + - wattage-times-duration + - wattage-to-energy-kwh + - calculate-vcpu-ratio + - correct-cpu-energy-for-vcpu-ratio + - sci-embodied + - operational-carbon + - sum-carbon + - time-sync + - sci + defaults: + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + children: + uk-west: + children: + A1: + inputs: + - timestamp: '2023-12-12T00:00:00.000Z' + duration: 1 + cpu/utilization: 30 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 100 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:00:01.000Z' + duration: 5 + cpu/utilization: 28 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 150 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:00:06.000Z' + duration: 7 + cpu/utilization: 40 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 110 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + - timestamp: '2023-12-12T00:00:13.000Z' + duration: 30 + cpu/utilization: 33 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 180 + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + outputs: + - timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + cpu/utilization: 22.8 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 220 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.41509999999999997 + cpu-wattage: 94.57999999999998 + cpu-wattage-times-duration: 258.9 + cpu-energy-raw: 0.00007191666666666668 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000008989583333333334 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.007191666666666666 + carbon: 0.046828906646372404 + sci: 0.00021285866657442002 + - timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + cpu/utilization: 29.6 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 92.85714285714285 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.48819999999999997 + cpu-wattage: 46.98428571428572 + cpu-wattage-times-duration: 308.35 + cpu-energy-raw: 0.00008565277777777778 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000010706597222222223 + embodied-carbon: 0.03963723997970574 + carbon-operational: 0.008565277777777778 + carbon: 0.04820251775748351 + sci: 0.0005191040373882839 + - timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + cpu/utilization: 30.6 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 59.14285714285714 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.49894999999999995 + cpu-wattage: 31.31738095238095 + cpu-wattage-times-duration: 306.2 + cpu-energy-raw: 0.00008505555555555556 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000010631944444444445 + embodied-carbon: 0.03963723997970574 + carbon-operational: 0.008505555555555556 + carbon: 0.04814279553526128 + sci: 0.0008140086201614227 + - timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + cpu/utilization: 26.4 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 30 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.45380000000000004 + cpu-wattage: 9.454166666666667 + cpu-wattage-times-duration: 283.625 + cpu-energy-raw: 0.00007878472222222222 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000009848090277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.007878472222222222 + carbon: 0.04751571220192795 + sci: 0.0015838570733975983 + - timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + cpu/utilization: 26.4 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 30 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.45380000000000004 + cpu-wattage: 9.454166666666667 + cpu-wattage-times-duration: 283.625 + cpu-energy-raw: 0.00007878472222222222 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000009848090277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.007878472222222222 + carbon: 0.04751571220192795 + sci: 0.0015838570733975983 + - timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + cpu/utilization: 26.4 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 30 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.45380000000000004 + cpu-wattage: 9.454166666666667 + cpu-wattage-times-duration: 283.625 + cpu-energy-raw: 0.00007878472222222222 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000009848090277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.007878472222222222 + carbon: 0.04751571220192795 + sci: 0.0015838570733975983 + - timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + cpu/utilization: 26.4 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 30 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.45380000000000004 + cpu-wattage: 9.454166666666667 + cpu-wattage-times-duration: 283.625 + cpu-energy-raw: 0.00007878472222222222 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000009848090277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.007878472222222222 + carbon: 0.04751571220192795 + sci: 0.0015838570733975983 + - timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + cpu/utilization: 26.4 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 30 + cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.45380000000000004 + cpu-wattage: 9.454166666666667 + cpu-wattage-times-duration: 283.625 + cpu-energy-raw: 0.00007878472222222222 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000009848090277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.007878472222222222 + carbon: 0.04751571220192795 + sci: 0.0015838570733975983 + - timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + cpu/utilization: 19.8 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 18 + cpu/thermal-design-power: 60 + grid/carbon-intensity: 480 + device/emissions-embodied: 1533.12 + time-reserved: 1 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0.34035000000000004 + cpu-wattage: 5.6725 + cpu-wattage-times-duration: 170.175 + cpu-energy-raw: 0.00004727083333333333 + vcpu-ratio: 8 + cpu-energy-kwh: 0.000005908854166666666 + embodied-carbon: 0.02378234398782344 + carbon-operational: 0.004727083333333333 + carbon: 0.02850942732115677 + sci: 0.0015838570733975985 + - timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + cpu/utilization: 0 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 0 + cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + time-reserved: 1 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: 8 + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + cpu/utilization: 0 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 0 + cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + time-reserved: 1 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: 8 + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + cpu/utilization: 0 + cloud/instance-type: A1 + cloud/region: uk-west + requests: 0 + cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + time-reserved: 1 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: 8 + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + aggregated: + carbon: 0.4092622082699138 + outputs: + - carbon: 0.046828906646372404 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.04820251775748351 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.04814279553526128 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0.02850942732115677 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + aggregated: + carbon: 0.4092622082699138 + outputs: + - carbon: 0.046828906646372404 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.04820251775748351 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.04814279553526128 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0.04751571220192795 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0.02850942732115677 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + aggregated: + carbon: 0.4092622082699138 + outputs: + - carbon: 0.09210503551496703 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.09318003551496702 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.09297100773718923 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.0923439244038559 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.0923439244038559 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.0923439244038559 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0.0923439244038559 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0.0923439244038559 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0.05540635464231354 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + aggregated: + carbon: 0.7953820554287163 diff --git a/manifests/outputs/pipelines/pipeline-with-mocks.yaml b/manifests/outputs/pipelines/pipeline-with-mocks.yaml new file mode 100644 index 000000000..bd27a179a --- /dev/null +++ b/manifests/outputs/pipelines/pipeline-with-mocks.yaml @@ -0,0 +1,1187 @@ +name: pipeline-with-mocks +description: a full pipeline seeded with data from mock-observations feature +tags: null +aggregation: + metrics: + - carbon + type: both +initialize: + plugins: + mock-observations: + path: builtin + method: MockObservations + config: + timestamp-from: '2023-12-12T00:00:00.000Z' + timestamp-to: '2023-12-12T00:00:13.000Z' + duration: 30 + components: + - cloud/instance-type: A1 + generators: + common: + cloud/region: uk-west + randint: + cpu/utilization: + min: 1 + max: 99 + parameter-metadata: + inputs: + timestamp: + unit: RFC3339 + description: refers to the time of occurrence of the input + aggregation-method: + time: none + component: none + duration: + unit: seconds + description: refers to the duration of the input + aggregation-method: + time: sum + component: sum + cloud/instance-type: + unit: none + description: type of Cloud Instance name used in the cloud provider APIs + aggregation-method: + time: none + component: none + cloud/region: + unit: none + description: region cloud instance + aggregation-method: + time: none + component: none + interpolate: + path: builtin + method: Interpolation + config: + method: linear + x: + - 0 + - 10 + - 50 + - 100 + 'y': + - 0.12 + - 0.32 + - 0.75 + - 1.02 + input-parameter: cpu/utilization + output-parameter: cpu-factor + parameter-metadata: + inputs: + cpu/utilization: + unit: percentage + description: refers to CPU utilization. + aggregation-method: + time: avg + component: avg + outputs: + cpu-factor: + unit: kWh + description: result of interpolate + aggregation-method: + time: avg + component: avg + cpu-factor-to-wattage: + path: builtin + method: Multiply + config: + input-parameters: + - cpu-factor + - cpu/thermal-design-power + output-parameter: cpu-wattage + parameter-metadata: + inputs: + cpu-factor: + unit: kWh + description: result of interpolate + aggregation-method: + time: avg + component: avg + cpu/thermal-design-power: + unit: kWh + description: thermal design power for a processor + aggregation-method: + time: avg + component: avg + outputs: + cpu-wattage: + unit: kWh + description: the energy used by the CPU + aggregation-method: + time: sum + component: sum + wattage-times-duration: + path: builtin + method: Multiply + config: + input-parameters: + - cpu-wattage + - duration + output-parameter: cpu-wattage-times-duration + parameter-metadata: + inputs: + cpu-wattage: + unit: kWh + description: Energy used by the CPU + aggregation-method: + time: sum + component: sum + duration: + unit: seconds + description: Duration of the observation + aggregation-method: + time: sum + component: sum + outputs: + cpu-wattage-times-duration: + unit: kWh + description: CPU wattage multiplied by duration + aggregation-method: + time: sum + component: sum + wattage-to-energy-kwh: + path: builtin + method: Divide + config: + numerator: cpu-wattage-times-duration + denominator: 3600000 + output: cpu-energy-raw + parameter-metadata: + inputs: + cpu-wattage-times-duration: + unit: kWh + description: CPU wattage multiplied by duration + aggregation-method: + time: sum + component: sum + outputs: + cpu-energy-raw: + unit: kWh + description: Raw energy used by CPU in kWh + aggregation-method: + time: sum + component: sum + calculate-vcpu-ratio: + path: builtin + method: Divide + config: + numerator: vcpus-total + denominator: vcpus-allocated + output: vcpu-ratio + parameter-metadata: + inputs: + vcpus-total: + unit: count + description: total number of vcpus available on a particular resource + aggregation-method: + time: none + component: none + vcpus-allocated: + unit: count + description: number of vcpus allocated to particular resource + aggregation-method: + time: none + component: none + outputs: + vcpu-ratio: + unit: none + description: Ratio of vCPUs + aggregation-method: + time: none + component: none + correct-cpu-energy-for-vcpu-ratio: + path: builtin + method: Divide + config: + numerator: cpu-energy-raw + denominator: vcpu-ratio + output: cpu-energy-kwh + parameter-metadata: + inputs: + cpu-energy-raw: + unit: kWh + description: Raw energy used by CPU in kWh + aggregation-method: + time: sum + component: sum + vcpu-ratio: + unit: none + description: Ratio of vCPUs + aggregation-method: + time: none + component: none + outputs: + cpu-energy-kwh: + unit: kWh + description: Corrected CPU energy in kWh + aggregation-method: + time: sum + component: sum + sci-embodied: + path: builtin + method: SciEmbodied + operational-carbon: + path: builtin + method: Multiply + config: + input-parameters: + - cpu-energy-kwh + - grid/carbon-intensity + output-parameter: carbon-operational + parameter-metadata: + inputs: + cpu-energy-kwh: + unit: kWh + description: Corrected CPU energy in kWh + aggregation-method: + time: sum + component: sum + grid/carbon-intensity: + unit: gCO2eq/kWh + description: Carbon intensity for the grid + aggregation-method: + time: avg + component: avg + outputs: + carbon-operational: + unit: gCO2eq + description: Operational carbon footprint + aggregation-method: + time: sum + component: sum + sum-carbon: + path: builtin + method: Sum + config: + input-parameters: + - carbon-operational + - embodied-carbon + output-parameter: carbon + parameter-metadata: + inputs: + carbon-operational: + unit: gCO2eq + description: Operational carbon footprint + aggregation-method: + time: sum + component: sum + embodied-carbon: + unit: gCO2eq + description: Embodied carbon footprint + aggregation-method: + time: sum + component: sum + outputs: + carbon: + unit: gCO2eq + description: Total carbon footprint + aggregation-method: + time: sum + component: sum + sci: + path: builtin + method: Sci + config: + functional-unit: requests + parameter-metadata: + inputs: + requests: + unit: none + description: expressed the final SCI value + aggregation-method: + time: sum + component: sum + outputs: + sci: + unit: none + description: Scientific Carbon Intensity + aggregation-method: + time: none + component: none + time-sync: + path: builtin + method: TimeSync + config: + start-time: '2023-12-12T00:00:00.000Z' + end-time: '2023-12-12T00:01:00.000Z' + interval: 5 + allow-padding: true +execution: + command: >- + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/pipelines/pipeline-with-mocks.yml -o + manifests/outputs/pipelines/pipeline-with-mocks.yml + environment: + if-version: 0.6.0 + os: macOS + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:14:02.702Z (UTC) + dependencies: + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' + - axios-mock-adapter@1.22.0 + - axios@1.7.2 + - cross-env@7.0.3 + - csv-parse@5.5.6 + - csv-stringify@6.4.6 + - fixpack@4.0.0 + - gts@5.2.0 + - husky@8.0.3 + - jest@29.7.0 + - js-yaml@4.1.0 + - lint-staged@15.2.2 + - luxon@3.4.4 + - release-it@16.3.0 + - rimraf@5.0.5 + - ts-command-line-args@2.5.1 + - ts-jest@29.1.1 + - typescript-cubic-spline@1.0.1 + - typescript@5.2.2 + - winston@3.11.0 + - zod@3.23.8 + status: success +tree: + children: + child-1: + pipeline: + observe: + - mock-observations + regroup: + - cloud/region + - cloud/instance-type + compute: + - interpolate + - cpu-factor-to-wattage + - wattage-times-duration + - wattage-to-energy-kwh + - calculate-vcpu-ratio + - correct-cpu-energy-for-vcpu-ratio + - sci-embodied + - operational-carbon + - sum-carbon + - time-sync + - sci + defaults: + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + requests: 50 + children: + uk-west: + children: + A1: + inputs: + - cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + requests: 50 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 30 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 89 + outputs: + - cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 8.333333333333334 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 71.2 + cpu-factor: 0.76848 + cpu-wattage: 16.009999999999998 + cpu-wattage-times-duration: 480.3 + cpu-energy-raw: 0.00013341666666666667 + vcpu-ratio: null + cpu-energy-kwh: 0.000016677083333333333 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013341666666666668 + carbon: 0.0529789066463724 + sci: 0.006357468797564688 + - cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 8.333333333333334 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 71.2 + cpu-factor: 0.76848 + cpu-wattage: 16.009999999999998 + cpu-wattage-times-duration: 480.3 + cpu-energy-raw: 0.00013341666666666667 + vcpu-ratio: null + cpu-energy-kwh: 0.000016677083333333333 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013341666666666668 + carbon: 0.0529789066463724 + sci: 0.006357468797564688 + - cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 8.333333333333334 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 71.2 + cpu-factor: 0.76848 + cpu-wattage: 16.009999999999998 + cpu-wattage-times-duration: 480.3 + cpu-energy-raw: 0.00013341666666666667 + vcpu-ratio: null + cpu-energy-kwh: 0.000016677083333333333 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013341666666666668 + carbon: 0.0529789066463724 + sci: 0.006357468797564688 + - cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 8.333333333333334 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 71.2 + cpu-factor: 0.76848 + cpu-wattage: 16.009999999999998 + cpu-wattage-times-duration: 480.3 + cpu-energy-raw: 0.00013341666666666667 + vcpu-ratio: null + cpu-energy-kwh: 0.000016677083333333333 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013341666666666668 + carbon: 0.0529789066463724 + sci: 0.006357468797564688 + - cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 8.333333333333334 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 71.2 + cpu-factor: 0.76848 + cpu-wattage: 16.009999999999998 + cpu-wattage-times-duration: 480.3 + cpu-energy-raw: 0.00013341666666666667 + vcpu-ratio: null + cpu-energy-kwh: 0.000016677083333333333 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013341666666666668 + carbon: 0.0529789066463724 + sci: 0.006357468797564688 + - cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 8.333333333333334 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 71.2 + cpu-factor: 0.76848 + cpu-wattage: 16.009999999999998 + cpu-wattage-times-duration: 480.3 + cpu-energy-raw: 0.00013341666666666667 + vcpu-ratio: null + cpu-energy-kwh: 0.000016677083333333333 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.013341666666666668 + carbon: 0.0529789066463724 + sci: 0.006357468797564688 + - cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 0 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 0 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 0 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 0 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 0 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 0 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 0 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 0 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 0 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + aggregated: + carbon: 0.3178734398782344 + outputs: + - carbon: 0.0529789066463724 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.0529789066463724 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.0529789066463724 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.0529789066463724 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.0529789066463724 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.0529789066463724 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + aggregated: + carbon: 0.3178734398782344 + outputs: + - carbon: 0.0529789066463724 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.0529789066463724 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.0529789066463724 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.0529789066463724 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.0529789066463724 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.0529789066463724 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + aggregated: + carbon: 0.3178734398782344 + child-2: + pipeline: + observe: + - mock-observations + regroup: + - cloud/region + - cloud/instance-type + compute: + - interpolate + - cpu-factor-to-wattage + - wattage-times-duration + - wattage-to-energy-kwh + - calculate-vcpu-ratio + - correct-cpu-energy-for-vcpu-ratio + - sci-embodied + - operational-carbon + - sum-carbon + - time-sync + - sci + defaults: + cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + requests: 50 + children: + uk-west: + children: + A1: + inputs: + - cpu/thermal-design-power: 100 + grid/carbon-intensity: 800 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: 8 + vcpus-allocated: 1 + requests: 50 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 30 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 15 + outputs: + - cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 8.333333333333334 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 12 + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: null + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.005379385464231354 + - cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 8.333333333333334 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 12 + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: null + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.005379385464231354 + - cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 8.333333333333334 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 12 + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: null + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.005379385464231354 + - cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 8.333333333333334 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 12 + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: null + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.005379385464231354 + - cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 8.333333333333334 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 12 + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: null + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.005379385464231354 + - cpu/thermal-design-power: 80 + grid/carbon-intensity: 640 + device/emissions-embodied: 1533.12 + time-reserved: 3600 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 8.333333333333334 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 12 + cpu-factor: 0.29900000000000004 + cpu-wattage: 6.229166666666667 + cpu-wattage-times-duration: 186.875 + cpu-energy-raw: 0.00005190972222222223 + vcpu-ratio: null + cpu-energy-kwh: 0.000006488715277777778 + embodied-carbon: 0.03963723997970573 + carbon-operational: 0.005190972222222222 + carbon: 0.04482821220192795 + sci: 0.005379385464231354 + - cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 0 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 0 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 0 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 0 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 0 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 0 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 0 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 0 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + - cpu/thermal-design-power: 0 + grid/carbon-intensity: 0 + device/emissions-embodied: 1533.12 + device/expected-lifespan: 94608000 + vcpus-total: null + vcpus-allocated: null + requests: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + cloud/instance-type: null + cloud/region: null + cpu/utilization: 0 + cpu-factor: 0 + cpu-wattage: 0 + cpu-wattage-times-duration: 0 + cpu-energy-raw: 0 + vcpu-ratio: null + cpu-energy-kwh: 0 + embodied-carbon: 0 + carbon-operational: 0 + carbon: 0 + sci: 0 + aggregated: + carbon: 0.2689692732115677 + outputs: + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + aggregated: + carbon: 0.2689692732115677 + outputs: + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.04482821220192795 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + aggregated: + carbon: 0.2689692732115677 + outputs: + - carbon: 0.09780711884830035 + timestamp: '2023-12-12T00:00:00.000Z' + duration: 5 + - carbon: 0.09780711884830035 + timestamp: '2023-12-12T00:00:05.000Z' + duration: 5 + - carbon: 0.09780711884830035 + timestamp: '2023-12-12T00:00:10.000Z' + duration: 5 + - carbon: 0.09780711884830035 + timestamp: '2023-12-12T00:00:15.000Z' + duration: 5 + - carbon: 0.09780711884830035 + timestamp: '2023-12-12T00:00:20.000Z' + duration: 5 + - carbon: 0.09780711884830035 + timestamp: '2023-12-12T00:00:25.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:30.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:35.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:40.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:45.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:50.000Z' + duration: 5 + - carbon: 0 + timestamp: '2023-12-12T00:00:55.000Z' + duration: 5 + aggregated: + carbon: 0.5868427130898021 diff --git a/manifests/outputs/pipelines/scenario-3.yaml b/manifests/outputs/pipelines/scenario-3.yaml new file mode 100644 index 000000000..1f315baa4 --- /dev/null +++ b/manifests/outputs/pipelines/scenario-3.yaml @@ -0,0 +1,146 @@ +name: groupby +description: successful path +initialize: + plugins: + sum: + path: builtin + method: Sum + config: + input-parameters: + - cpu/energy + - network/energy + output-parameter: energy +execution: + command: >- + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/pipelines/scenario-3.yml -o + manifests/outputs/pipelines/scenario-3.yml + environment: + if-version: 0.6.0 + os: macOS + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:13:43.098Z (UTC) + dependencies: + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' + - axios-mock-adapter@1.22.0 + - axios@1.7.2 + - cross-env@7.0.3 + - csv-parse@5.5.6 + - csv-stringify@6.4.6 + - fixpack@4.0.0 + - gts@5.2.0 + - husky@8.0.3 + - jest@29.7.0 + - js-yaml@4.1.0 + - lint-staged@15.2.2 + - luxon@3.4.4 + - release-it@16.3.0 + - rimraf@5.0.5 + - ts-command-line-args@2.5.1 + - ts-jest@29.1.1 + - typescript-cubic-spline@1.0.1 + - typescript@5.2.2 + - winston@3.11.0 + - zod@3.23.8 + status: success +tree: + children: + my-app: + pipeline: + observe: null + regroup: + - cloud/instance-type + - cloud/region + compute: null + children: + uk-west: + children: + A1: + children: + uk-west: + inputs: + - timestamp: 2023-07-06T00:00 + duration: 300 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 99 + - timestamp: 2023-07-06T05:00 + duration: 300 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 23 + - timestamp: 2023-07-06T10:00 + duration: 300 + cloud/instance-type: A1 + cloud/region: uk-west + cpu/utilization: 12 + B1: + children: + uk-west: + inputs: + - timestamp: 2023-07-06T00:00 + duration: 300 + cloud/instance-type: B1 + cloud/region: uk-west + cpu/utilization: 11 + - timestamp: 2023-07-06T05:00 + duration: 300 + cloud/instance-type: B1 + cloud/region: uk-west + cpu/utilization: 67 + - timestamp: 2023-07-06T10:00 + duration: 300 + cloud/instance-type: B1 + cloud/region: uk-west + cpu/utilization: 1 + uk-east: + children: + A1: + children: + uk-east: + inputs: + - timestamp: 2023-07-06T00:00 + duration: 300 + cloud/instance-type: A1 + cloud/region: uk-east + cpu/utilization: 9 + - timestamp: 2023-07-06T05:00 + duration: 300 + cloud/instance-type: A1 + cloud/region: uk-east + cpu/utilization: 23 + - timestamp: 2023-07-06T10:00 + duration: 300 + cloud/instance-type: A1 + cloud/region: uk-east + cpu/utilization: 12 + B1: + children: + uk-east: + inputs: + - timestamp: 2023-07-06T00:00 + duration: 300 + cloud/instance-type: B1 + cloud/region: uk-east + cpu/utilization: 11 + - timestamp: 2023-07-06T05:00 + duration: 300 + cloud/instance-type: B1 + cloud/region: uk-east + cpu/utilization: 67 + - timestamp: 2023-07-06T10:00 + duration: 300 + cloud/instance-type: B1 + cloud/region: uk-east + cpu/utilization: 1 diff --git a/manifests/outputs/pipelines/scenario-4.yaml b/manifests/outputs/pipelines/scenario-4.yaml new file mode 100644 index 000000000..fde5bcbf0 --- /dev/null +++ b/manifests/outputs/pipelines/scenario-4.yaml @@ -0,0 +1,105 @@ +name: demo +description: null +tags: null +initialize: + plugins: + sum: + path: builtin + method: Sum + config: + input-parameters: + - cpu/energy + - network/energy + output-parameter: energy-sum + coefficient: + path: builtin + method: Coefficient + config: + input-parameter: energy + coefficient: 2 + output-parameter: energy-doubled + multiply: + path: builtin + method: Multiply + config: + input-parameters: + - cpu/utilization + - duration + output-parameter: cpu-times-duration +execution: + command: >- + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/pipelines/scenario-4.yml -o + manifests/outputs/pipelines/scenario-4.yml + environment: + if-version: 0.6.0 + os: macOS + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:13:40.278Z (UTC) + dependencies: + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' + - axios-mock-adapter@1.22.0 + - axios@1.7.2 + - cross-env@7.0.3 + - csv-parse@5.5.6 + - csv-stringify@6.4.6 + - fixpack@4.0.0 + - gts@5.2.0 + - husky@8.0.3 + - jest@29.7.0 + - js-yaml@4.1.0 + - lint-staged@15.2.2 + - luxon@3.4.4 + - release-it@16.3.0 + - rimraf@5.0.5 + - ts-command-line-args@2.5.1 + - ts-jest@29.1.1 + - typescript-cubic-spline@1.0.1 + - typescript@5.2.2 + - winston@3.11.0 + - zod@3.23.8 + status: success +tree: + children: + child-1: + pipeline: + observe: null + compute: + - sum + - coefficient + - multiply + defaults: + cpu/thermal-design-power: 100 + inputs: + - timestamp: '2023-12-12T00:00:00.000Z' + cloud/instance-type: A1 + cloud/region: uk-west + duration: 1 + cpu/utilization: 50 + cpu/energy: 20 + network/energy: 10 + energy: 5 + outputs: + - timestamp: '2023-12-12T00:00:00.000Z' + cloud/instance-type: A1 + cloud/region: uk-west + duration: 1 + cpu/utilization: 50 + cpu/energy: 20 + network/energy: 10 + energy: 5 + cpu/thermal-design-power: 100 + energy-sum: 30 + energy-doubled: 10 + cpu-times-duration: 50 diff --git a/manifests/outputs/pipelines/scenario-5.yaml b/manifests/outputs/pipelines/scenario-5.yaml new file mode 100644 index 000000000..4e9e0f011 --- /dev/null +++ b/manifests/outputs/pipelines/scenario-5.yaml @@ -0,0 +1,125 @@ +name: demo +description: null +tags: null +initialize: + plugins: + mock-observations: + path: builtin + method: MockObservations + config: + timestamp-from: 2023-07-06T00:00 + timestamp-to: 2023-07-06T00:01 + duration: 60 + components: + - cloud/instance-type: A1 + - cloud/instance-type: B1 + generators: + common: + region: uk-west + common-key: common-val + randint: + cpu/utilization: + min: 1 + max: 99 + memory/utilization: + min: 1 + max: 99 + sum: + path: builtin + method: Sum + config: + input-parameters: + - cpu/utilization + - memory/utilization + output-parameter: util-sum +execution: + command: >- + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/pipelines/scenario-5.yml -o + manifests/outputs/pipelines/scenario-5.yml + environment: + if-version: 0.6.0 + os: macOS + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:13:37.404Z (UTC) + dependencies: + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' + - axios-mock-adapter@1.22.0 + - axios@1.7.2 + - cross-env@7.0.3 + - csv-parse@5.5.6 + - csv-stringify@6.4.6 + - fixpack@4.0.0 + - gts@5.2.0 + - husky@8.0.3 + - jest@29.7.0 + - js-yaml@4.1.0 + - lint-staged@15.2.2 + - luxon@3.4.4 + - release-it@16.3.0 + - rimraf@5.0.5 + - ts-command-line-args@2.5.1 + - ts-jest@29.1.1 + - typescript-cubic-spline@1.0.1 + - typescript@5.2.2 + - winston@3.11.0 + - zod@3.23.8 + status: success +tree: + children: + child: + pipeline: + observe: + - mock-observations + regroup: + - cloud/instance-type + compute: + - sum + children: + A1: + inputs: + - timestamp: '2023-07-06T00:00:00.000Z' + duration: 60 + cloud/instance-type: A1 + region: uk-west + common-key: common-val + cpu/utilization: 65 + memory/utilization: 84 + outputs: + - timestamp: '2023-07-06T00:00:00.000Z' + duration: 60 + cloud/instance-type: A1 + region: uk-west + common-key: common-val + cpu/utilization: 65 + memory/utilization: 84 + util-sum: 149 + B1: + inputs: + - timestamp: '2023-07-06T00:00:00.000Z' + duration: 60 + cloud/instance-type: B1 + region: uk-west + common-key: common-val + cpu/utilization: 70 + memory/utilization: 82 + outputs: + - timestamp: '2023-07-06T00:00:00.000Z' + duration: 60 + cloud/instance-type: B1 + region: uk-west + common-key: common-val + cpu/utilization: 70 + memory/utilization: 82 + util-sum: 152 diff --git a/manifests/outputs/pipelines/sci.yaml b/manifests/outputs/pipelines/sci.yaml index 322a413b8..7a967c9ef 100644 --- a/manifests/outputs/pipelines/sci.yaml +++ b/manifests/outputs/pipelines/sci.yaml @@ -15,7 +15,7 @@ initialize: - 10 - 50 - 100 - "y": + 'y': - 0.12 - 0.32 - 0.75 @@ -93,26 +93,26 @@ initialize: functional-unit: component execution: command: >- - /Users/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node - /Users/mariamkhalatova/Projects/UK/if/src/if-run/index.ts -m - manifests/examples/pipelines/sci.yml -o manifests/outputs/pipelines/sci + /Users/manushak/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node + /Users/manushak/Documents/Projects/Green-Software/if/src/if-run/index.ts -m + manifests/examples/pipelines/sci.yml -o manifests/outputs/pipelines/sci.yml environment: - if-version: 0.5.0 + if-version: 0.6.0 os: macOS - os-version: "14.5" - node-version: 18.14.2 - date-time: 2024-07-19T06:34:45.027Z (UTC) + os-version: 14.6.1 + node-version: 18.20.4 + date-time: 2024-09-12T06:13:59.916Z (UTC) dependencies: - - "@babel/core@7.22.10" - - "@babel/preset-typescript@7.23.3" - - "@commitlint/cli@18.6.0" - - "@commitlint/config-conventional@18.6.0" - - "@grnsft/if-core@0.0.10" - - "@jest/globals@29.7.0" - - "@types/jest@29.5.8" - - "@types/js-yaml@4.0.9" - - "@types/luxon@3.4.2" - - "@types/node@20.9.0" + - '@babel/core@7.22.10' + - '@babel/preset-typescript@7.23.3' + - '@commitlint/cli@18.6.0' + - '@commitlint/config-conventional@18.6.0' + - '@grnsft/if-core@0.0.22' + - '@jest/globals@29.7.0' + - '@types/jest@29.5.8' + - '@types/js-yaml@4.0.9' + - '@types/luxon@3.4.2' + - '@types/node@20.9.0' - axios-mock-adapter@1.22.0 - axios@1.7.2 - cross-env@7.0.3 @@ -132,7 +132,7 @@ execution: - typescript-cubic-spline@1.0.1 - typescript@5.2.2 - winston@3.11.0 - - zod@3.22.4 + - zod@3.23.8 status: success tree: children: @@ -162,32 +162,32 @@ tree: resources-total: vcpus-total component: 1 inputs: - - timestamp: "2023-12-12T00:00:00.000Z" + - timestamp: '2023-12-12T00:00:00.000Z' cloud/instance-type: A1 cloud/region: uk-west duration: 1 cpu/utilization: 50 network/energy: 0.000001 - - timestamp: "2023-12-12T00:00:01.000Z" + - timestamp: '2023-12-12T00:00:01.000Z' duration: 5 cpu/utilization: 20 cloud/instance-type: A1 cloud/region: uk-west network/energy: 0.000001 - - timestamp: "2023-12-12T00:00:06.000Z" + - timestamp: '2023-12-12T00:00:06.000Z' duration: 7 cpu/utilization: 15 cloud/instance-type: A1 cloud/region: uk-west network/energy: 0.000001 - - timestamp: "2023-12-12T00:00:13.000Z" + - timestamp: '2023-12-12T00:00:13.000Z' duration: 30 cloud/instance-type: A1 cloud/region: uk-west cpu/utilization: 15 network/energy: 0.000001 outputs: - - timestamp: "2023-12-12T00:00:00.000Z" + - timestamp: '2023-12-12T00:00:00.000Z' cloud/instance-type: A1 cloud/region: uk-west duration: 1 @@ -210,11 +210,11 @@ tree: vcpu-ratio: 4 cpu/energy: 0.000005208333333333333 energy: 0.000006208333333333333 - embodied-carbon: 0.000004051243023845763 + embodied-carbon: 0.007927447995941146 carbon-operational: 0.004966666666666666 - carbon: 0.004970717909690512 - sci: 0.004970717909690512 - - timestamp: "2023-12-12T00:00:01.000Z" + carbon: 0.012894114662607812 + sci: 0.012894114662607812 + - timestamp: '2023-12-12T00:00:01.000Z' duration: 5 cpu/utilization: 20 cloud/instance-type: A1 @@ -237,11 +237,11 @@ tree: vcpu-ratio: 4 cpu/energy: 0.00001484375 energy: 0.00001584375 - embodied-carbon: 0.000020256215119228814 + embodied-carbon: 0.03963723997970574 carbon-operational: 0.012674999999999999 - carbon: 0.012695256215119228 - sci: 0.012695256215119228 - - timestamp: "2023-12-12T00:00:06.000Z" + carbon: 0.05231223997970574 + sci: 0.05231223997970574 + - timestamp: '2023-12-12T00:00:06.000Z' duration: 7 cpu/utilization: 15 cloud/instance-type: A1 @@ -264,11 +264,11 @@ tree: vcpu-ratio: 4 cpu/energy: 0.000018168402777777778 energy: 0.000019168402777777778 - embodied-carbon: 0.00002835870116692034 + embodied-carbon: 0.05549213597158803 carbon-operational: 0.015334722222222222 - carbon: 0.015363080923389142 - sci: 0.015363080923389142 - - timestamp: "2023-12-12T00:00:13.000Z" + carbon: 0.07082685819381025 + sci: 0.07082685819381025 + - timestamp: '2023-12-12T00:00:13.000Z' duration: 30 cloud/instance-type: A1 cloud/region: uk-west @@ -291,7 +291,7 @@ tree: vcpu-ratio: 4 cpu/energy: 0.00007786458333333334 energy: 0.00007886458333333333 - embodied-carbon: 0.0001215372907153729 + embodied-carbon: 0.2378234398782344 carbon-operational: 0.06309166666666667 - carbon: 0.06321320395738204 - sci: 0.06321320395738204 \ No newline at end of file + carbon: 0.30091510654490106 + sci: 0.30091510654490106 diff --git a/scripts/impact-test.sh b/scripts/impact-test.sh index 2cefa3d17..9bdd213c3 100755 --- a/scripts/impact-test.sh +++ b/scripts/impact-test.sh @@ -1,12 +1,23 @@ #!/bin/bash - + echo "Starting impact tests" -prefix="examples/manifests/"; -for file in examples/manifests/*; -do -echo "" -echo executing $file, outfile is ${file#"$prefix"} -echo "" -npx ts-node ./src --manifest $file --output examples/outputs/${file#"$prefix"} +prefix="manifests/examples" + +# Using find to traverse files recursively within the manifests/examples folder +find "$prefix" -type f | while read -r file; do + # Remove the prefix and store the output file path + outfile="${file#$prefix/}" + + echo "" + echo "Executing $file, outfile is $outfile" + echo "" + + # Ensure the output directory exists before running the command + output_dir="manifests/outputs/$(dirname "$outfile")" + mkdir -p "$output_dir" + + # Run the npm command with the correct file and output path + npm run if-run -- -m "$file" -o "$output_dir/$(basename "$outfile")" done + exit 0 diff --git a/src/if-run/builtins/coefficient/README.md b/src/if-run/builtins/coefficient/README.md index 38209f953..3d19dc4a1 100644 --- a/src/if-run/builtins/coefficient/README.md +++ b/src/if-run/builtins/coefficient/README.md @@ -25,12 +25,15 @@ of the parameters of the inputs and outputs - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. - `outputs`: describe parameters of the `output-parameter` of the config. Each parameter has: - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. ### Mapping @@ -103,12 +106,16 @@ initialize: carbon: description: 'an amount of carbon emitted into the atmosphere' unit: 'gCO2e' - aggregation-method: sum + aggregation-method: + time: sum + component: sum outputs: carbon-product: description: 'a product of cabon property and the coefficient' unit: 'gCO2e' - aggregation-method: sum + aggregation-method: + time: sum + component: sum tree: children: child: diff --git a/src/if-run/builtins/copy-param/README.md b/src/if-run/builtins/copy-param/README.md index 331c95e95..224c21703 100644 --- a/src/if-run/builtins/copy-param/README.md +++ b/src/if-run/builtins/copy-param/README.md @@ -47,13 +47,15 @@ The `parameter-metadata` section contains information about `description`, `unit - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. - `outputs`: describe the parameters of the `to` of the config. The parameter has the following attributes: - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. ### Mapping The `mapping` block is an optional block. It is added in the plugin section and allows the plugin to receive a parameter from the input with a different name than the one the plugin uses for data manipulation. The parameter with the mapped name will not appear in the outputs. It also maps the output parameter of the plugin. The structure of the `mapping` block is: diff --git a/src/if-run/builtins/csv-lookup/README.md b/src/if-run/builtins/csv-lookup/README.md index 72ac25bab..0e77ce0ff 100644 --- a/src/if-run/builtins/csv-lookup/README.md +++ b/src/if-run/builtins/csv-lookup/README.md @@ -61,13 +61,15 @@ The `parameter-metadata` section contains information about `description`, `unit - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. - `outputs`: describe the parameters in the `output` of the config block. The parameter has the following attributes: - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. ### Mapping The `mapping` block is an optional block. It is added in the plugin section and allows the plugin to receive a parameter from the input with a different name than the one the plugin uses for data manipulation. The parameter with the mapped name will not appear in the outputs. It also maps the output parameter of the plugin. The structure of the `mapping` block is: diff --git a/src/if-run/builtins/divide/README.md b/src/if-run/builtins/divide/README.md index 7280a94fd..1d57784a1 100644 --- a/src/if-run/builtins/divide/README.md +++ b/src/if-run/builtins/divide/README.md @@ -20,13 +20,15 @@ The `parameter-metadata` section contains information about `description`, `unit - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. - `outputs`: describe the parameter of the `denominator` of the global config. The parameter has the following attributes: - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. ### Mapping The `mapping` block is an optional block. It is added in the plugin section and allows the plugin to receive a parameter from the input with a different name than the one the plugin uses for data manipulation. The parameter with the mapped name will not appear in the outputs. It also maps the output parameter of the plugin. The structure of the `mapping` block is: diff --git a/src/if-run/builtins/exponent/README.md b/src/if-run/builtins/exponent/README.md index 4065e9ae3..d918b4dad 100644 --- a/src/if-run/builtins/exponent/README.md +++ b/src/if-run/builtins/exponent/README.md @@ -24,13 +24,15 @@ The `parameter-metadata` section contains information about `description`, `unit - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. - `outputs`: describe the parameter of the `output-parameter` of the config. The parameter has the following attributes:: - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. ### Mapping The `mapping` block is an optional block. It is added in the plugin section and allows the plugin to receive a parameter from the input with a different name than the one the plugin uses for data manipulation. The parameter with the mapped name will not appear in the outputs. It also maps the output parameter of the plugin. The structure of the `mapping` block is: diff --git a/src/if-run/builtins/interpolation/README.md b/src/if-run/builtins/interpolation/README.md index 35ef4df5e..c7b1876f2 100644 --- a/src/if-run/builtins/interpolation/README.md +++ b/src/if-run/builtins/interpolation/README.md @@ -33,13 +33,15 @@ The `parameter-metadata` section contains information about `description`, `unit - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. - `outputs`: describe the parameters of the `output-parameter` of the config. The parameter has the following attributes: - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. ### Mapping The `mapping` block is an optional block. It is added in the plugin section and allows the plugin to receive a parameter from the input with a different name than the one the plugin uses for data manipulation. The parameter with the mapped name will not appear in the outputs. It also maps the output parameter of the plugin. The structure of the `mapping` block is: diff --git a/src/if-run/builtins/mock-observations/README.md b/src/if-run/builtins/mock-observations/README.md index b95da0bab..da2444147 100644 --- a/src/if-run/builtins/mock-observations/README.md +++ b/src/if-run/builtins/mock-observations/README.md @@ -25,13 +25,15 @@ The `parameter-metadata` section contains information about `description`, `unit - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. - `outputs`: describe the output parameters. The parameter has the following attributes: - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. ### Mapping The `mapping` block is an optional block. It is added in the plugin section and allows the plugin to receive a parameter from the input with a different name than the one the plugin uses for data manipulation. The parameter with the mapped name will not appear in the outputs. It also maps the output parameter of the plugin. The structure of the `mapping` block is: diff --git a/src/if-run/builtins/multiply/README.md b/src/if-run/builtins/multiply/README.md index 36d03e4c5..43d189fad 100644 --- a/src/if-run/builtins/multiply/README.md +++ b/src/if-run/builtins/multiply/README.md @@ -23,13 +23,15 @@ The `parameter-metadata` section contains information about `description`, `unit - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. - `outputs`: describe the parameter of the `output-parameter` of the config. The parameter has the following attributes: - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. ### Mapping The `mapping` block is an optional block. It is added in the plugin section and allows the plugin to receive a parameter from the input with a different name than the one the plugin uses for data manipulation. The parameter with the mapped name will not appear in the outputs. It also maps the output parameter of the plugin. The structure of the `mapping` block is: diff --git a/src/if-run/builtins/regex/README.md b/src/if-run/builtins/regex/README.md index 1d2a9ca00..246dad3dd 100644 --- a/src/if-run/builtins/regex/README.md +++ b/src/if-run/builtins/regex/README.md @@ -24,13 +24,15 @@ The `parameter-metadata` section contains information about `description`, `unit - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. - `outputs`: describe the parameters of the `output` of the config. The parameter has the following attributes: - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. ### Mapping The `mapping` block is an optional block. It is added in the plugin section and allows the plugin to receive a parameter from the input with a different name than the one the plugin uses for data manipulation. The parameter with the mapped name will not appear in the outputs. It also maps the output parameter of the plugin. The structure of the `mapping` block is: diff --git a/src/if-run/builtins/sci/README.md b/src/if-run/builtins/sci/README.md index 10f9e5fea..0ccd5ff94 100644 --- a/src/if-run/builtins/sci/README.md +++ b/src/if-run/builtins/sci/README.md @@ -16,14 +16,16 @@ The `parameter-metadata` section contains information about `description`, `unit - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. - `outputs`: describe the `sci` parameter which has the following attributes: - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. ### Mapping The `mapping` block is an optional block. It is added in the plugin section and allows the plugin to receive a parameter from the input with a different name than the one the plugin uses for data manipulation. The parameter with the mapped name will not appear in the outputs. It also maps the output parameter of the plugin. The structure of the `mapping` block is: diff --git a/src/if-run/builtins/shell/README.md b/src/if-run/builtins/shell/README.md index 2357e46c2..d5e51a18e 100644 --- a/src/if-run/builtins/shell/README.md +++ b/src/if-run/builtins/shell/README.md @@ -30,13 +30,15 @@ The `parameter-metadata` section contains information about `description`, `unit - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. - `outputs`: describe the output parameter. The parameter has the following attributes: - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. ### Inputs The parameters included in the `inputs` field in the `manifest` depend entirely on the plugin itself. A typical plugin might expect the following common data to be provided as `inputs`: diff --git a/src/if-run/builtins/subtract/README.md b/src/if-run/builtins/subtract/README.md index e19e873ec..11d2573ef 100644 --- a/src/if-run/builtins/subtract/README.md +++ b/src/if-run/builtins/subtract/README.md @@ -23,13 +23,15 @@ The `parameter-metadata` section contains information about `description`, `unit - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. - `outputs`: describe the parameter of the `output-parameter` of the config. The parameter has the following attributes: - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. ### Mapping The `mapping` block is an optional block. It is added in the plugin section and allows the plugin to receive a parameter from the input with a different name than the one the plugin uses for data manipulation. The parameter with the mapped name will not appear in the outputs. It also maps the output parameter of the plugin. The structure of the `mapping` block is: diff --git a/src/if-run/builtins/sum/README.md b/src/if-run/builtins/sum/README.md index c6ba6d0cb..794b6bac7 100644 --- a/src/if-run/builtins/sum/README.md +++ b/src/if-run/builtins/sum/README.md @@ -23,13 +23,15 @@ The `parameter-metadata` section contains information about `description`, `unit - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. - `outputs`: describe the parameter of the `output-parameter` of the config. The parameter has the following attributes: - `description`: description of the parameter - `unit`: unit of the parameter - - `aggregation-method`: aggregation method of the parameter (it can be `sum`, `avg` or `none`) - + - `aggregation-method`: aggregation method object of the parameter + - `time`: this value is used for `horizontal` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. + - `component`: this value is used for `vertical` aggregation. It can be of the following values: `sum`, `avg`, `copy`, or `none`. ### Mapping The `mapping` block is an optional block. It is added in the plugin section and allows the plugin to receive a parameter from the input with a different name than the one the plugin uses for data manipulation. The parameter with the mapped name will not appear in the outputs. It also maps the output parameter of the plugin. The structure of the `mapping` block is: @@ -103,18 +105,28 @@ initialize: cpu/energy: description: energy consumed by the cpu unit: kWh - aggregation-method: sum - aggregation-method: sum + aggregation-method: + time: sum + component: sum + aggregation-method: + time: sum + component: sum network/energy: description: energy consumed by data ingress and egress unit: kWh - aggregation-method: sum - aggregation-method: sum + aggregation-method: + time: sum + component: sum + aggregation-method: + time: sum + component: sum outputs: energy: description: sum of energy components unit: kWh - aggregation-method: sum + aggregation-method: + time: sum + component: sum tree: children: child: