@grnsft/if
Version:
Impact Framework
240 lines (239 loc) • 6.85 kB
YAML
name: generics
description: >-
a pipeline that does arbitrary calculations using our generic arithmetic
builtins
tags: null
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
cpu-factor-to-wattage:
path: builtin
method: Multiply
config:
input-parameters:
- cpu-factor
- cpu/thermal-design-power
output-parameter: cpu-wattage
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
correct-cpu-energy-for-vcpu-ratio:
path: builtin
method: Divide
config:
numerator: cpu-energy-raw
denominator: vcpu-ratio
output: cpu-energy-kwh
coefficient:
path: builtin
method: Coefficient
config:
input-parameter: cpu-energy-kwh
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/mariamkhalatova/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node
/Users/mariamkhalatova/Projects/UK/if/src/if-run/index.ts -m
manifests/examples/pipelines/generics.yml -o
manifests/outputs/pipelines/generics
environment:
if-version: 0.5.0
os: macOS
os-version: "14.5"
node-version: 18.14.2
date-time: 2024-07-17T20:30:54.004Z (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:
compute:
- interpolate
- cpu-factor-to-wattage
- wattage-times-duration
- wattage-to-energy-kwh
- calculate-vcpu-ratio
- correct-cpu-energy-for-vcpu-ratio
- coefficient
- multiply
defaults:
cpu/thermal-design-power: 100
vcpus-allocated: 1
vcpus-total: 8
inputs:
- timestamp: "2023-12-12T00:00:00.000Z"
cloud/instance-type: A1
cloud/region: uk-west
duration: 1
cpu/utilization: 50
network/energy: 10
energy: 5
- timestamp: "2023-12-12T00:00:01.000Z"
duration: 5
cpu/utilization: 20
cloud/instance-type: A1
cloud/region: uk-west
network/energy: 10
energy: 5
- timestamp: "2023-12-12T00:00:06.000Z"
duration: 7
cpu/utilization: 15
cloud/instance-type: A1
cloud/region: uk-west
network/energy: 10
energy: 5
- timestamp: "2023-12-12T00:00:13.000Z"
duration: 30
cloud/instance-type: A1
cloud/region: uk-west
cpu/utilization: 15
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
network/energy: 10
energy: 5
cpu/thermal-design-power: 100
vcpus-allocated: 1
vcpus-total: 8
cpu-factor: 0.75
cpu-wattage: 75
cpu-wattage-times-duration: 75
cpu-energy-raw: 0.000020833333333333333
vcpu-ratio: 8
cpu-energy-kwh: 0.0000026041666666666666
energy-doubled: 0.000005208333333333333
cpu-times-duration: 50
- timestamp: "2023-12-12T00:00:01.000Z"
duration: 5
cpu/utilization: 20
cloud/instance-type: A1
cloud/region: uk-west
network/energy: 10
energy: 5
cpu/thermal-design-power: 100
vcpus-allocated: 1
vcpus-total: 8
cpu-factor: 0.4275
cpu-wattage: 42.75
cpu-wattage-times-duration: 213.75
cpu-energy-raw: 0.000059375
vcpu-ratio: 8
cpu-energy-kwh: 0.000007421875
energy-doubled: 0.00001484375
cpu-times-duration: 100
- timestamp: "2023-12-12T00:00:06.000Z"
duration: 7
cpu/utilization: 15
cloud/instance-type: A1
cloud/region: uk-west
network/energy: 10
energy: 5
cpu/thermal-design-power: 100
vcpus-allocated: 1
vcpus-total: 8
cpu-factor: 0.37375
cpu-wattage: 37.375
cpu-wattage-times-duration: 261.625
cpu-energy-raw: 0.00007267361111111111
vcpu-ratio: 8
cpu-energy-kwh: 0.000009084201388888889
energy-doubled: 0.000018168402777777778
cpu-times-duration: 105
- timestamp: "2023-12-12T00:00:13.000Z"
duration: 30
cloud/instance-type: A1
cloud/region: uk-west
cpu/utilization: 15
network/energy: 10
energy: 5
cpu/thermal-design-power: 100
vcpus-allocated: 1
vcpus-total: 8
cpu-factor: 0.37375
cpu-wattage: 37.375
cpu-wattage-times-duration: 1121.25
cpu-energy-raw: 0.00031145833333333335
vcpu-ratio: 8
cpu-energy-kwh: 0.00003893229166666667
energy-doubled: 0.00007786458333333334
cpu-times-duration: 450