From d0d982b416b9211c01564c60d3a9f36fc959d4ae Mon Sep 17 00:00:00 2001 From: manushak Date: Thu, 12 Sep 2024 16:08:33 +0400 Subject: [PATCH 1/9] fix(manifests): fix `aggregation-method` of manifests --- manifests/examples/pipelines/nesting.yml | 84 +- .../pipeline-with-aggregate.yaml | 88 +- .../outputs-if-diff/pipeline-with-mocks.yaml | 120 ++- .../pipelines/pipeline-with-aggregate.yml | 60 +- .../pipelines/pipeline-with-mocks.yml | 112 ++- .../features/aggregate-horizontal.yaml | 4 +- .../outputs/features/aggregate-vertical.yaml | 4 +- manifests/outputs/features/aggregate.yaml | 4 +- manifests/outputs/pipelines/nesting.yaml | 864 ++++++++---------- 9 files changed, 759 insertions(+), 581 deletions(-) diff --git a/manifests/examples/pipelines/nesting.yml b/manifests/examples/pipelines/nesting.yml index de1c5e70..f62105c8 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 7512e15f..6a96cbfc 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 6c820ea4..3a744410 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 1f436d0f..c95047f4 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 804e3cdf..0358525c 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/outputs/features/aggregate-horizontal.yaml b/manifests/outputs/features/aggregate-horizontal.yaml index 888ae144..f08a645e 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 3ba96d0b..e559d715 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 96c72adf..d00adde4 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/pipelines/nesting.yaml b/manifests/outputs/pipelines/nesting.yaml index 3a390aba..0a834b08 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 From a9b60a8c32cad10352542929e7d41ab06b335365 Mon Sep 17 00:00:00 2001 From: manushak Date: Thu, 12 Sep 2024 16:11:46 +0400 Subject: [PATCH 2/9] fix(manifests): fix failure manifests --- .../csv-lookup/cloud-metadata/failure-invalid-vendor.yaml | 4 ++-- .../cloud-metadata/failure-missing-cloud-vendor.yml | 2 +- .../csv-lookup/region-metadata/failure-missing-output.yml | 2 +- .../builtins/regex/failure-not-matching-with-regex.yml | 2 +- .../features/regroup/failure-missing-cloud-instance-type.yml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) 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 17deabf2..5d2fa16b 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 aece37d5..4d9b4c2d 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 501bde3c..2a3d363b 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/regex/failure-not-matching-with-regex.yml b/manifests/examples/builtins/regex/failure-not-matching-with-regex.yml index bad022d7..f79303ef 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/features/regroup/failure-missing-cloud-instance-type.yml b/manifests/examples/features/regroup/failure-missing-cloud-instance-type.yml index 8b8b44fa..708250e2 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: From 1f609484796f475f87a3268c622a56f36f4f6a64 Mon Sep 17 00:00:00 2001 From: manushak Date: Thu, 12 Sep 2024 16:15:17 +0400 Subject: [PATCH 3/9] fix(manifests): remove unnecessary manifests --- .../divide/failure-denominator-equal-zero.yml | 36 -- .../outputs/pipelines/mock-obs-time-sync.yaml | 449 ------------------ 2 files changed, 485 deletions(-) delete mode 100644 manifests/examples/builtins/divide/failure-denominator-equal-zero.yml delete mode 100644 manifests/outputs/pipelines/mock-obs-time-sync.yaml 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 9635af67..00000000 --- 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/outputs/pipelines/mock-obs-time-sync.yaml b/manifests/outputs/pipelines/mock-obs-time-sync.yaml deleted file mode 100644 index efe31175..00000000 --- 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: "*" From f368a1f574a57fd0ecdaf0bc1135f96668411a64 Mon Sep 17 00:00:00 2001 From: manushak Date: Thu, 12 Sep 2024 16:27:47 +0400 Subject: [PATCH 4/9] fix(manifests): update outdated output manifests --- .../failure-config-start-later-end.yml | 2 - .../failure-missing-cloud-vendor.yaml | 41 ++-- .../failure-missing-output.yaml | 39 ++-- .../failure-invalid-config-denominator.yaml | 62 +++-- .../divide/failure-missing-numerator.yaml | 51 +++-- .../builtins/mock-observations/success.yaml | 215 +++--------------- .../builtins/sci-embodied/success.yaml | 59 +++-- .../sci/failure-invalid-config-value.yaml | 40 ++-- .../builtins/time-converter/success.yaml | 16 +- .../outputs/builtins/time-sync/success.yaml | 107 ++++----- .../outputs/pipelines/pipeline-teads-sci.yaml | 86 +++---- manifests/outputs/pipelines/sci.yaml | 78 +++---- 12 files changed, 347 insertions(+), 449 deletions(-) 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 c1ab7885..6a268a2d 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/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 09539ee9..0cbfb31d 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 341a17ac..92c9b4c7 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 fd0c50cc..3709451e 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 a59e2f96..2a34a951 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 c2ee7108..f099a5cb 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/sci-embodied/success.yaml b/manifests/outputs/builtins/sci-embodied/success.yaml index e91ab921..da0a8654 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 c8f34a4e..8d46b196 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 33ae5d50..012fdbbb 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/success.yaml b/manifests/outputs/builtins/time-sync/success.yaml index 36d6c10d..b49acb08 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/pipelines/pipeline-teads-sci.yaml b/manifests/outputs/pipelines/pipeline-teads-sci.yaml index c014d9f6..b9a6377f 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/sci.yaml b/manifests/outputs/pipelines/sci.yaml index 322a413b..7a967c9e 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 From cec3813efe6c5100b08b8b99a2e6cfd387d438ab Mon Sep 17 00:00:00 2001 From: manushak Date: Thu, 12 Sep 2024 16:45:24 +0400 Subject: [PATCH 5/9] fix(manifests): add missed output manifests --- .../failure-invalid-vendor.yaml | 76 + .../failure-not-matching-with-regex.yaml | 72 + .../builtins/sci-embodied/scenario-1.yaml | 91 + .../builtins/sci-embodied/scenario-2.yaml | 100 ++ .../failure-missing-global-config.yaml | 77 + .../regroup/failure-invalid-regroup.yaml | 87 + .../failure-missing-cloud-instance-type.yaml | 87 + .../outputs/features/regroup/success.yaml | 92 + .../pipeline-with-aggregate.yaml | 1212 +++++++++++++ .../outputs-if-diff/pipeline-with-mocks.yaml | 1507 +++++++++++++++++ .../pipelines/pipeline-with-aggregate.yaml | 1167 +++++++++++++ .../pipelines/pipeline-with-mocks.yaml | 1187 +++++++++++++ manifests/outputs/pipelines/scenario-3.yaml | 146 ++ manifests/outputs/pipelines/scenario-4.yaml | 105 ++ manifests/outputs/pipelines/scenario-5.yaml | 125 ++ 15 files changed, 6131 insertions(+) create mode 100644 manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml create mode 100644 manifests/outputs/builtins/regex/failure-not-matching-with-regex.yaml create mode 100644 manifests/outputs/builtins/sci-embodied/scenario-1.yaml create mode 100644 manifests/outputs/builtins/sci-embodied/scenario-2.yaml create mode 100644 manifests/outputs/builtins/time-sync/failure-missing-global-config.yaml create mode 100644 manifests/outputs/features/regroup/failure-invalid-regroup.yaml create mode 100644 manifests/outputs/features/regroup/failure-missing-cloud-instance-type.yaml create mode 100644 manifests/outputs/features/regroup/success.yaml create mode 100644 manifests/outputs/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml create mode 100644 manifests/outputs/pipelines/outputs-if-diff/pipeline-with-mocks.yaml create mode 100644 manifests/outputs/pipelines/pipeline-with-aggregate.yaml create mode 100644 manifests/outputs/pipelines/pipeline-with-mocks.yaml create mode 100644 manifests/outputs/pipelines/scenario-3.yaml create mode 100644 manifests/outputs/pipelines/scenario-4.yaml create mode 100644 manifests/outputs/pipelines/scenario-5.yaml 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 00000000..aa83f102 --- /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/regex/failure-not-matching-with-regex.yaml b/manifests/outputs/builtins/regex/failure-not-matching-with-regex.yaml new file mode 100644 index 00000000..e18b408b --- /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 00000000..ec07d4df --- /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 00000000..2ecf249c --- /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/time-sync/failure-missing-global-config.yaml b/manifests/outputs/builtins/time-sync/failure-missing-global-config.yaml new file mode 100644 index 00000000..664da36d --- /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/features/regroup/failure-invalid-regroup.yaml b/manifests/outputs/features/regroup/failure-invalid-regroup.yaml new file mode 100644 index 00000000..2a40fe2f --- /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 00000000..65fa5a11 --- /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 00000000..efc6d847 --- /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/outputs-if-diff/pipeline-with-aggregate.yaml b/manifests/outputs/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml new file mode 100644 index 00000000..90696873 --- /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 00000000..3afc34f3 --- /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-with-aggregate.yaml b/manifests/outputs/pipelines/pipeline-with-aggregate.yaml new file mode 100644 index 00000000..582e8351 --- /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 00000000..bd27a179 --- /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 00000000..1f315baa --- /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 00000000..fde5bcbf --- /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 00000000..4e9e0f01 --- /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 From 7251ade3056b3eef93c446f4b31d6db2bbcc2043 Mon Sep 17 00:00:00 2001 From: manushak Date: Thu, 12 Sep 2024 16:46:18 +0400 Subject: [PATCH 6/9] fix(manifests): remove unnecessary manifests --- manifests/examples/pipelines/scenario-1.yml | 34 -------------- manifests/examples/pipelines/scenario-2.yml | 52 --------------------- 2 files changed, 86 deletions(-) delete mode 100644 manifests/examples/pipelines/scenario-1.yml delete mode 100644 manifests/examples/pipelines/scenario-2.yml diff --git a/manifests/examples/pipelines/scenario-1.yml b/manifests/examples/pipelines/scenario-1.yml deleted file mode 100644 index 0c474fe6..00000000 --- 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 6f32afde..00000000 --- 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 From f967f3bace152b012ef2e32e49fc38ea66b7c02c Mon Sep 17 00:00:00 2001 From: manushak Date: Thu, 12 Sep 2024 16:47:38 +0400 Subject: [PATCH 7/9] fix(scripts): fix script to create output manifests --- scripts/impact-test.sh | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/scripts/impact-test.sh b/scripts/impact-test.sh index 2cefa3d1..9bdd213c 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 From 02447e5a378b27b15891f0fc3e9f1f4878eaa09c Mon Sep 17 00:00:00 2001 From: manushak Date: Thu, 12 Sep 2024 16:51:32 +0400 Subject: [PATCH 8/9] fix(doc): fix aggregation-method in readme files of plugins --- src/if-run/builtins/coefficient/README.md | 8 ++++++-- src/if-run/builtins/sum/README.md | 20 +++++++++++++++----- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/if-run/builtins/coefficient/README.md b/src/if-run/builtins/coefficient/README.md index 38209f95..c79bdab7 100644 --- a/src/if-run/builtins/coefficient/README.md +++ b/src/if-run/builtins/coefficient/README.md @@ -103,12 +103,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/sum/README.md b/src/if-run/builtins/sum/README.md index c6ba6d0c..66914b78 100644 --- a/src/if-run/builtins/sum/README.md +++ b/src/if-run/builtins/sum/README.md @@ -103,18 +103,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: From 2cd92a81208a5594e86ef3b526ee8ae605387307 Mon Sep 17 00:00:00 2001 From: manushak Date: Thu, 12 Sep 2024 18:40:43 +0400 Subject: [PATCH 9/9] docs(builtins): fix `aggregation-method` description in the plugins readme files --- src/if-run/builtins/coefficient/README.md | 9 ++++++--- src/if-run/builtins/copy-param/README.md | 10 ++++++---- src/if-run/builtins/csv-lookup/README.md | 10 ++++++---- src/if-run/builtins/divide/README.md | 10 ++++++---- src/if-run/builtins/exponent/README.md | 10 ++++++---- src/if-run/builtins/interpolation/README.md | 10 ++++++---- src/if-run/builtins/mock-observations/README.md | 10 ++++++---- src/if-run/builtins/multiply/README.md | 10 ++++++---- src/if-run/builtins/regex/README.md | 10 ++++++---- src/if-run/builtins/sci/README.md | 10 ++++++---- src/if-run/builtins/shell/README.md | 10 ++++++---- src/if-run/builtins/subtract/README.md | 10 ++++++---- src/if-run/builtins/sum/README.md | 10 ++++++---- 13 files changed, 78 insertions(+), 51 deletions(-) diff --git a/src/if-run/builtins/coefficient/README.md b/src/if-run/builtins/coefficient/README.md index c79bdab7..3d19dc4a 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 diff --git a/src/if-run/builtins/copy-param/README.md b/src/if-run/builtins/copy-param/README.md index 331c95e9..224c2170 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 72ac25ba..0e77ce0f 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 7280a94f..1d57784a 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 4065e9ae..d918b4da 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 35ef4df5..c7b1876f 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 b95da0ba..da244414 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 36d03e4c..43d189fa 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 1d2a9ca0..246dad3d 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 10f9e5fe..0ccd5ff9 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 2357e46c..d5e51a18 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 e19e873e..11d2573e 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 66914b78..794b6bac 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: