UNPKG

@grnsft/if

Version:

Impact Framework

356 lines (355 loc) 10.2 kB
name: pipeline-with-mocks description: a full pipeline seeded with data from mock-observations feature tags: aggregation: metrics: - carbon type: "both" initialize: plugins: mock-observations: kind: plugin method: MockObservations path: "builtin" 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: description: refers to the time of occurrence of the input unit: RFC3339 aggregation-method: time: none component: none duration: description: refers to the duration of the input unit: seconds 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: time: none component: none cloud/region: description: region cloud instance unit: none aggregation-method: time: none component: none 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" parameter-metadata: inputs: cpu/utilization: description: refers to CPU utilization. unit: percentage aggregation-method: time: avg component: avg outputs: cpu-factor: description: result of interpolate unit: kWh aggregation-method: time: avg component: avg cpu-factor-to-wattage: method: Multiply path: builtin config: input-parameters: ["cpu-factor", "cpu/thermal-design-power"] output-parameter: "cpu-wattage" parameter-metadata: inputs: cpu-factor: description: result of interpolate unit: kWh aggregation-method: time: avg component: avg cpu/thermal-design-power: description: thermal design power for a processor unit: kWh aggregation-method: time: avg component: avg outputs: cpu-wattage: description: the energy used by the CPU unit: kWh aggregation-method: time: sum component: sum wattage-times-duration: method: Multiply path: builtin config: input-parameters: ["cpu-wattage", "duration"] output-parameter: "cpu-wattage-times-duration" parameter-metadata: inputs: cpu-wattage: description: Energy used by the CPU unit: kWh aggregation-method: time: sum component: sum duration: description: Duration of the observation unit: seconds aggregation-method: time: sum component: sum outputs: cpu-wattage-times-duration: description: CPU wattage multiplied by duration unit: kWh aggregation-method: time: sum component: sum wattage-to-energy-kwh: method: Divide path: "builtin" config: numerator: cpu-wattage-times-duration denominator: 3600000 output: cpu-energy-raw parameter-metadata: inputs: cpu-wattage-times-duration: description: CPU wattage multiplied by duration unit: kWh aggregation-method: time: sum component: sum outputs: cpu-energy-raw: description: Raw energy used by CPU in kWh unit: kWh aggregation-method: time: sum component: sum calculate-vcpu-ratio: method: Divide path: "builtin" 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: time: none component: none vcpus-allocated: description: number of vcpus allocated to particular resource unit: count aggregation-method: time: none component: none outputs: vcpu-ratio: description: Ratio of vCPUs unit: none aggregation-method: time: none component: none correct-cpu-energy-for-vcpu-ratio: method: Divide path: "builtin" config: numerator: cpu-energy-raw denominator: vcpu-ratio output: cpu-energy-kwh parameter-metadata: inputs: cpu-energy-raw: description: Raw energy used by CPU in kWh unit: kWh aggregation-method: time: sum component: sum vcpu-ratio: description: Ratio of vCPUs unit: none aggregation-method: time: none component: none outputs: cpu-energy-kwh: description: Corrected CPU energy in kWh unit: kWh aggregation-method: time: sum component: sum sci-embodied: path: "builtin" method: SciEmbodied operational-carbon: method: Multiply path: builtin config: input-parameters: ["cpu-energy-kwh", "grid/carbon-intensity"] output-parameter: "carbon-operational" parameter-metadata: inputs: cpu-energy-kwh: description: Corrected CPU energy in kWh unit: kWh aggregation-method: time: sum component: sum grid/carbon-intensity: description: Carbon intensity for the grid unit: gCO2eq/kWh aggregation-method: time: avg component: avg outputs: carbon-operational: description: Operational carbon footprint unit: gCO2eq 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: description: Operational carbon footprint unit: gCO2eq aggregation-method: time: sum component: sum embodied-carbon: description: Embodied carbon footprint unit: gCO2eq aggregation-method: time: sum component: sum outputs: carbon: description: Total carbon footprint unit: gCO2eq aggregation-method: time: sum component: sum sci: path: "builtin" method: Sci config: functional-unit: "requests" parameter-metadata: inputs: requests: description: expressed the final SCI value unit: none aggregation-method: time: sum component: sum outputs: sci: description: Scientific Carbon Intensity unit: none aggregation-method: time: none component: none time-sync: method: TimeSync path: "builtin" config: start-time: "2023-12-12T00:00:00.000Z" end-time: "2023-12-12T00:01:00.000Z" interval: 5 allow-padding: true 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.120 # gCO2eq time-reserved: 3600 # 1hr in seconds device/expected-lifespan: 94608000 # 3 years in seconds vcpus-total: 8 vcpus-allocated: 1 requests: 50 inputs: 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.120 # gCO2eq time-reserved: 3600 # 1hr in seconds device/expected-lifespan: 94608000 # 3 years in seconds vcpus-total: 8 vcpus-allocated: 1 requests: 50 inputs: