@grnsft/if 0.1.8 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/config/config.d.ts +0 -2
- package/build/config/config.js +6 -3
- package/build/config/index.d.ts +1 -0
- package/build/config/index.js +4 -2
- package/build/config/params.d.ts +2 -0
- package/build/config/params.js +146 -0
- package/build/config/strings.d.ts +5 -0
- package/build/config/strings.js +6 -1
- package/build/index.js +48 -18
- package/build/lib/aggregator.d.ts +7 -0
- package/build/lib/aggregator.js +46 -0
- package/build/lib/models-universe.d.ts +5 -1
- package/build/lib/models-universe.js +37 -5
- package/build/lib/supercomputer.d.ts +14 -12
- package/build/lib/supercomputer.js +55 -87
- package/build/models/time-sync.d.ts +8 -5
- package/build/models/time-sync.js +35 -12
- package/build/types/aggregator.d.ts +3 -0
- package/build/types/aggregator.js +5 -0
- package/build/types/impl.d.ts +65 -18
- package/build/types/impl.js +17 -3
- package/build/types/model-interface.d.ts +1 -2
- package/build/types/model-interface.js +1 -1
- package/build/types/models-universe.d.ts +2 -5
- package/build/types/models-universe.js +1 -1
- package/build/types/parameters.d.ts +16 -0
- package/build/types/parameters.js +5 -0
- package/build/types/process-args.d.ts +1 -0
- package/build/types/process-args.js +1 -1
- package/build/types/time-sync.d.ts +1 -0
- package/build/types/time-sync.js +1 -1
- package/build/util/args.d.ts +1 -0
- package/build/util/args.js +27 -3
- package/build/util/param-selectors.d.ts +5 -0
- package/build/util/param-selectors.js +14 -0
- package/build/util/validations.d.ts +11 -5
- package/build/util/validations.js +17 -25
- package/build/util/yaml.js +27 -4
- package/examples/impls/test/aggregation-test.yml +19 -19
- package/examples/impls/test/aggregation-test2.yml +52 -0
- package/examples/impls/test/{azure.yml → azure-importer.yml} +8 -10
- package/examples/impls/test/boavizta.yml +27 -0
- package/examples/impls/test/cim.yml +19 -0
- package/examples/impls/test/e-mem.yml +19 -0
- package/examples/impls/test/if-demo.yml +0 -2
- package/examples/impls/test/large-impl.yml +30031 -30031
- package/examples/impls/test/new-params-test.yml +35 -0
- package/examples/impls/test/sci.yml +2 -2
- package/examples/impls/test/teads-cpu.yml +18 -0
- package/examples/impls/test/time-sync-avoid-padding.yml +50 -0
- package/examples/impls/test/time-sync.yml +14 -13
- package/examples/ompls/aggregation-test2.yml +83 -0
- package/examples/ompls/{azure.yml → azure-importer.yml} +40 -40
- package/examples/ompls/boavizta.yml +32 -0
- package/examples/ompls/cim.yml +29 -0
- package/examples/ompls/e-mem.yml +26 -0
- package/examples/ompls/sci.yml +5 -5
- package/examples/ompls/teads-cpu.yml +24 -0
- package/package.json +1 -1
- package/src/models/README.md +3 -1
- package/build/config/units.yaml +0 -112
- package/build/lib/planet-aggregator.d.ts +0 -6
- package/build/lib/planet-aggregator.js +0 -35
- package/build/types/helpers.d.ts +0 -1
- package/build/types/helpers.js +0 -3
- package/build/types/planet-aggregator.d.ts +0 -6
- package/build/types/planet-aggregator.js +0 -3
- package/build/types/units-dealer.d.ts +0 -3
- package/build/types/units-dealer.js +0 -3
- package/build/types/units.d.ts +0 -11
- package/build/types/units.js +0 -37
- package/build/util/units-dealer.d.ts +0 -10
- package/build/util/units-dealer.js +0 -32
- package/coverage/clover.xml +0 -379
- package/coverage/coverage-final.json +0 -14
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/config/config.ts.html +0 -250
- package/coverage/lcov-report/config/index.html +0 -146
- package/coverage/lcov-report/config/index.ts.html +0 -91
- package/coverage/lcov-report/config/strings.ts.html +0 -208
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -161
- package/coverage/lcov-report/lib/index.html +0 -161
- package/coverage/lcov-report/lib/models-universe.ts.html +0 -517
- package/coverage/lcov-report/lib/observatory.ts.html +0 -187
- package/coverage/lcov-report/lib/planet-aggregator.ts.html +0 -274
- package/coverage/lcov-report/lib/supercomputer.ts.html +0 -472
- package/coverage/lcov-report/models/index.html +0 -131
- package/coverage/lcov-report/models/index.ts.html +0 -88
- package/coverage/lcov-report/models/planet-aggregator.ts.html +0 -271
- package/coverage/lcov-report/models/time-sync.ts.html +0 -1165
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov-report/util/args.ts.html +0 -289
- package/coverage/lcov-report/util/errors.ts.html +0 -166
- package/coverage/lcov-report/util/index.html +0 -161
- package/coverage/lcov-report/util/units-dealer.ts.html +0 -199
- package/coverage/lcov-report/util/yaml.ts.html +0 -193
- package/coverage/lcov.info +0 -637
- package/src/config/units.yaml +0 -112
- package/tsconfig.build.tsbuildinfo +0 -1
package/build/config/units.yaml
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
carbon:
|
|
2
|
-
description: an amount of carbon emitted into the atmosphere
|
|
3
|
-
unit: gCO2e
|
|
4
|
-
aggregation: sum
|
|
5
|
-
core-units:
|
|
6
|
-
description: number of cores available
|
|
7
|
-
unit: cores
|
|
8
|
-
aggregation: none
|
|
9
|
-
cpu-util:
|
|
10
|
-
description: refers to CPU utilization.
|
|
11
|
-
unit: percentage
|
|
12
|
-
aggregation: avg
|
|
13
|
-
disk-io:
|
|
14
|
-
description: refers to GB of data written/read from disk
|
|
15
|
-
unit: GB
|
|
16
|
-
aggregation: sum
|
|
17
|
-
duration:
|
|
18
|
-
description: refers to the duration of the input
|
|
19
|
-
unit: seconds
|
|
20
|
-
aggregation: sum
|
|
21
|
-
energy:
|
|
22
|
-
description: amount of energy utilised by the component
|
|
23
|
-
unit: kWh
|
|
24
|
-
aggregation: sum
|
|
25
|
-
energy-cpu:
|
|
26
|
-
description: Energy consumed by the CPU of the component
|
|
27
|
-
unit: kWh
|
|
28
|
-
aggregation: sum
|
|
29
|
-
expected-lifespan:
|
|
30
|
-
description: Total Expected Lifespan of the Component in Seconds
|
|
31
|
-
unit: seconds
|
|
32
|
-
aggregation: sum
|
|
33
|
-
energy-memory:
|
|
34
|
-
description: Energy consumed by the Memory of the component
|
|
35
|
-
unit: kWh
|
|
36
|
-
aggregation: sum
|
|
37
|
-
embodied-carbon:
|
|
38
|
-
description: Embodied Emissions of the component
|
|
39
|
-
unit: gCO2e
|
|
40
|
-
aggregation: sum
|
|
41
|
-
energy-network:
|
|
42
|
-
description: Energy consumed by the Network of the component
|
|
43
|
-
unit: kWh
|
|
44
|
-
aggregation: sum
|
|
45
|
-
functional-unit:
|
|
46
|
-
description: the name of the functional unit in which the final SCI value should be expressed, e.g. requests, users
|
|
47
|
-
unit: none
|
|
48
|
-
aggregation: sum
|
|
49
|
-
functional-unit-time:
|
|
50
|
-
description: string describing the unit of time in which the final SCI calculation should be expressed, e.g. "1-min"
|
|
51
|
-
unit: none
|
|
52
|
-
aggregation: none
|
|
53
|
-
gpu-util:
|
|
54
|
-
description: refers to CPU utilization.
|
|
55
|
-
unit: percentage
|
|
56
|
-
aggregation: avg
|
|
57
|
-
grid-carbon-intensity:
|
|
58
|
-
description: Carbon intensity for the grid
|
|
59
|
-
unit: gCO2eq/kWh
|
|
60
|
-
aggregation: avg
|
|
61
|
-
instance-type:
|
|
62
|
-
description: Type of Cloud Instance name used in the cloud provider APIs
|
|
63
|
-
unit: None
|
|
64
|
-
aggregation: None
|
|
65
|
-
location:
|
|
66
|
-
description: Geographic location of provider as string (for watt-time model it is provided as latitude and longitude, comma separated, in decimal degrees)
|
|
67
|
-
unit: None (decimal degrees for watt-time model)
|
|
68
|
-
aggregation: None
|
|
69
|
-
operational-carbon:
|
|
70
|
-
description: Operational Emissions of the component
|
|
71
|
-
unit: gCO2e
|
|
72
|
-
aggregation: sum
|
|
73
|
-
physical-processor:
|
|
74
|
-
description: Name of the physical processor
|
|
75
|
-
unit: None
|
|
76
|
-
aggregation: none
|
|
77
|
-
vendor:
|
|
78
|
-
description: Name of the cloud service provider in the ccf model. Can be aws, gcp or azure
|
|
79
|
-
unit: None
|
|
80
|
-
aggregation: none
|
|
81
|
-
ram-alloc:
|
|
82
|
-
description: refers to GB of memory allocated.
|
|
83
|
-
unit: GB
|
|
84
|
-
aggregation: avg
|
|
85
|
-
ram-util:
|
|
86
|
-
description: refers to percentage of memory utilized.
|
|
87
|
-
unit: percentage
|
|
88
|
-
aggregation: avg
|
|
89
|
-
resources-reserved:
|
|
90
|
-
description: resources reserved for an application
|
|
91
|
-
unit: count
|
|
92
|
-
aggregation: none
|
|
93
|
-
thermal-design-power:
|
|
94
|
-
description: thermal design power for a processor
|
|
95
|
-
unit: kwh
|
|
96
|
-
aggregation: avg
|
|
97
|
-
total-embodied-emissions:
|
|
98
|
-
description: total embodied emissions of some component
|
|
99
|
-
unit: gCO2e
|
|
100
|
-
aggregation: sum
|
|
101
|
-
timestamp:
|
|
102
|
-
description: refers to the time of occurrence of the input
|
|
103
|
-
unit: RFC3339
|
|
104
|
-
aggregation: none
|
|
105
|
-
time-reserved:
|
|
106
|
-
description: time reserved for a component
|
|
107
|
-
unit: seconds
|
|
108
|
-
aggregation: none
|
|
109
|
-
total-resources:
|
|
110
|
-
description: total resources available
|
|
111
|
-
unit: count
|
|
112
|
-
aggregation: none
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { AggregationResult, PlanetAggregatorParams } from '../types/planet-aggregator';
|
|
2
|
-
import { ModelParams } from '../types/model-interface';
|
|
3
|
-
/**
|
|
4
|
-
* Aggregates child node level metrics. Uses provided aggregation `params`.
|
|
5
|
-
*/
|
|
6
|
-
export declare const planetAggregator: (inputs: ModelParams[], params: PlanetAggregatorParams) => AggregationResult;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.planetAggregator = void 0;
|
|
4
|
-
const errors_1 = require("../util/errors");
|
|
5
|
-
const { InvalidAggregationParams } = errors_1.ERRORS;
|
|
6
|
-
/**
|
|
7
|
-
* Aggregates child node level metrics. Uses provided aggregation `params`.
|
|
8
|
-
*/
|
|
9
|
-
const planetAggregator = (inputs, params) => {
|
|
10
|
-
if (!params['aggregation-metrics'] ||
|
|
11
|
-
params['aggregation-metrics'].length === 0) {
|
|
12
|
-
throw new InvalidAggregationParams('Provided aggregation metrics are invalid. Please provide an array of strings.');
|
|
13
|
-
}
|
|
14
|
-
const aggregationMetrics = params['aggregation-metrics'];
|
|
15
|
-
const aggregationMethod = params['aggregation-method'];
|
|
16
|
-
return inputs.reduce((acc, input, index) => {
|
|
17
|
-
for (const metric of aggregationMetrics) {
|
|
18
|
-
if (!(metric in input)) {
|
|
19
|
-
throw new InvalidAggregationParams(`Aggregation metric ${metric} is not found in inputs[${index}].`);
|
|
20
|
-
}
|
|
21
|
-
const accessKey = `aggregated-${metric}`;
|
|
22
|
-
const value = parseFloat(input[metric]);
|
|
23
|
-
acc[accessKey] = acc[accessKey] ?? 0;
|
|
24
|
-
acc[accessKey] += value;
|
|
25
|
-
if (index === inputs.length - 1) {
|
|
26
|
-
if (aggregationMethod === 'avg') {
|
|
27
|
-
acc[accessKey] /= inputs.length;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return acc;
|
|
32
|
-
}, {});
|
|
33
|
-
};
|
|
34
|
-
exports.planetAggregator = planetAggregator;
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWFnZ3JlZ2F0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3BsYW5ldC1hZ2dyZWdhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFzQztBQVN0QyxNQUFNLEVBQUMsd0JBQXdCLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFMUM7O0dBRUc7QUFDSSxNQUFNLGdCQUFnQixHQUFHLENBQzlCLE1BQXFCLEVBQ3JCLE1BQThCLEVBQzlCLEVBQUU7SUFDRixJQUNFLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDO1FBQzlCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQzFDO1FBQ0EsTUFBTSxJQUFJLHdCQUF3QixDQUNoQywrRUFBK0UsQ0FDaEYsQ0FBQztLQUNIO0lBRUQsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQWtCLENBQUM7SUFDMUUsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUV2RCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3pDLEtBQUssTUFBTSxNQUFNLElBQUksa0JBQWtCLEVBQUU7WUFDdkMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxFQUFFO2dCQUN0QixNQUFNLElBQUksd0JBQXdCLENBQ2hDLHNCQUFzQixNQUFNLDJCQUEyQixLQUFLLElBQUksQ0FDakUsQ0FBQzthQUNIO1lBRUQsTUFBTSxTQUFTLEdBQUcsY0FBYyxNQUFNLEVBQUUsQ0FBQztZQUN6QyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDeEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssQ0FBQztZQUV4QixJQUFJLEtBQUssS0FBSyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDL0IsSUFBSSxpQkFBaUIsS0FBSyxLQUFLLEVBQUU7b0JBQy9CLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO2lCQUNqQzthQUNGO1NBQ0Y7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUF1QixDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBdENXLFFBQUEsZ0JBQWdCLG9CQXNDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VSUk9SU30gZnJvbSAnLi4vdXRpbC9lcnJvcnMnO1xuXG5pbXBvcnQge1xuICBBZ2dyZWdhdGlvblJlc3VsdCxcbiAgUGxhbmV0QWdncmVnYXRvclBhcmFtcyxcbn0gZnJvbSAnLi4vdHlwZXMvcGxhbmV0LWFnZ3JlZ2F0b3InO1xuaW1wb3J0IHtNb2RlbFBhcmFtc30gZnJvbSAnLi4vdHlwZXMvbW9kZWwtaW50ZXJmYWNlJztcbmltcG9ydCB7VW5pdEtleU5hbWV9IGZyb20gJy4uL3R5cGVzL3VuaXRzJztcblxuY29uc3Qge0ludmFsaWRBZ2dyZWdhdGlvblBhcmFtc30gPSBFUlJPUlM7XG5cbi8qKlxuICogQWdncmVnYXRlcyBjaGlsZCBub2RlIGxldmVsIG1ldHJpY3MuIFVzZXMgcHJvdmlkZWQgYWdncmVnYXRpb24gYHBhcmFtc2AuXG4gKi9cbmV4cG9ydCBjb25zdCBwbGFuZXRBZ2dyZWdhdG9yID0gKFxuICBpbnB1dHM6IE1vZGVsUGFyYW1zW10sXG4gIHBhcmFtczogUGxhbmV0QWdncmVnYXRvclBhcmFtc1xuKSA9PiB7XG4gIGlmIChcbiAgICAhcGFyYW1zWydhZ2dyZWdhdGlvbi1tZXRyaWNzJ10gfHxcbiAgICBwYXJhbXNbJ2FnZ3JlZ2F0aW9uLW1ldHJpY3MnXS5sZW5ndGggPT09IDBcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBZ2dyZWdhdGlvblBhcmFtcyhcbiAgICAgICdQcm92aWRlZCBhZ2dyZWdhdGlvbiBtZXRyaWNzIGFyZSBpbnZhbGlkLiBQbGVhc2UgcHJvdmlkZSBhbiBhcnJheSBvZiBzdHJpbmdzLidcbiAgICApO1xuICB9XG5cbiAgY29uc3QgYWdncmVnYXRpb25NZXRyaWNzID0gcGFyYW1zWydhZ2dyZWdhdGlvbi1tZXRyaWNzJ10gYXMgVW5pdEtleU5hbWVbXTtcbiAgY29uc3QgYWdncmVnYXRpb25NZXRob2QgPSBwYXJhbXNbJ2FnZ3JlZ2F0aW9uLW1ldGhvZCddO1xuXG4gIHJldHVybiBpbnB1dHMucmVkdWNlKChhY2MsIGlucHV0LCBpbmRleCkgPT4ge1xuICAgIGZvciAoY29uc3QgbWV0cmljIG9mIGFnZ3JlZ2F0aW9uTWV0cmljcykge1xuICAgICAgaWYgKCEobWV0cmljIGluIGlucHV0KSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFnZ3JlZ2F0aW9uUGFyYW1zKFxuICAgICAgICAgIGBBZ2dyZWdhdGlvbiBtZXRyaWMgJHttZXRyaWN9IGlzIG5vdCBmb3VuZCBpbiBpbnB1dHNbJHtpbmRleH1dLmBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWNjZXNzS2V5ID0gYGFnZ3JlZ2F0ZWQtJHttZXRyaWN9YDtcbiAgICAgIGNvbnN0IHZhbHVlID0gcGFyc2VGbG9hdChpbnB1dFttZXRyaWNdKTtcbiAgICAgIGFjY1thY2Nlc3NLZXldID0gYWNjW2FjY2Vzc0tleV0gPz8gMDtcbiAgICAgIGFjY1thY2Nlc3NLZXldICs9IHZhbHVlO1xuXG4gICAgICBpZiAoaW5kZXggPT09IGlucHV0cy5sZW5ndGggLSAxKSB7XG4gICAgICAgIGlmIChhZ2dyZWdhdGlvbk1ldGhvZCA9PT0gJ2F2ZycpIHtcbiAgICAgICAgICBhY2NbYWNjZXNzS2V5XSAvPSBpbnB1dHMubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgQWdncmVnYXRpb25SZXN1bHQpO1xufTtcbiJdfQ==
|
package/build/types/helpers.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type AsyncReturnType<T extends (...args: any) => Promise<any>> = T extends (...args: any) => Promise<infer R> ? R : any;
|
package/build/types/helpers.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBBc3luY1JldHVyblR5cGU8VCBleHRlbmRzICguLi5hcmdzOiBhbnkpID0+IFByb21pc2U8YW55Pj4gPVxuICBUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueSkgPT4gUHJvbWlzZTxpbmZlciBSPiA/IFIgOiBhbnk7XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWFnZ3JlZ2F0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvcGxhbmV0LWFnZ3JlZ2F0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWdncmVnYXRpb25NZXRob2QsIEFnZ3JlZ2F0aW9uTWV0cmljc30gZnJvbSAnLi9pbXBsJztcblxuZXhwb3J0IHR5cGUgUGxhbmV0QWdncmVnYXRvclBhcmFtcyA9IHtcbiAgJ2FnZ3JlZ2F0aW9uLW1ldHJpY3MnOiBBZ2dyZWdhdGlvbk1ldHJpY3NbXTtcbiAgJ2FnZ3JlZ2F0aW9uLW1ldGhvZCc6IEFnZ3JlZ2F0aW9uTWV0aG9kO1xufTtcblxuZXhwb3J0IHR5cGUgQWdncmVnYXRpb25SZXN1bHQgPSBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMtZGVhbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3VuaXRzLWRlYWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1JldHVyblR5cGV9IGZyb20gJy4vaGVscGVycyc7XG5cbmltcG9ydCB7VW5pdHNEZWFsZXJ9IGZyb20gJy4uL3V0aWwvdW5pdHMtZGVhbGVyJztcblxuZXhwb3J0IHR5cGUgVW5pdHNEZWFsZXJVc2FnZSA9IEFzeW5jUmV0dXJuVHlwZTx0eXBlb2YgVW5pdHNEZWFsZXI+O1xuIl19
|
package/build/types/units.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare const UnitKeys: readonly ["carbon", "core-units", "cpu-util", "disk-io", "duration", "energy-cpu", "expected-lifespan", "energy-memory", "embodied-carbon", "energy", "energy-network", "expected-lifespan", "functional-unit", "functional-unit-duration", "functional-unit-time", "gpu-util", "grid-carbon-intensity", "instance-type", "location", "embodied-carbon", "operational-carbon", "physical-processor", "vendor", "ram-alloc", "ram-util", "resources-reserved", "thermal-design-power", "total-embodied-emissions", "timestamp", "time-reserved", "total-resources"];
|
|
2
|
-
type UnitFields = {
|
|
3
|
-
description: string;
|
|
4
|
-
unit: string;
|
|
5
|
-
aggregation: 'sum' | 'none' | 'avg';
|
|
6
|
-
};
|
|
7
|
-
export type UnitKeyName = (typeof UnitKeys)[number];
|
|
8
|
-
export type Units = {
|
|
9
|
-
[K in UnitKeyName]: UnitFields;
|
|
10
|
-
};
|
|
11
|
-
export {};
|
package/build/types/units.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UnitKeys = void 0;
|
|
4
|
-
exports.UnitKeys = [
|
|
5
|
-
'carbon',
|
|
6
|
-
'core-units',
|
|
7
|
-
'cpu-util',
|
|
8
|
-
'disk-io',
|
|
9
|
-
'duration',
|
|
10
|
-
'energy-cpu',
|
|
11
|
-
'expected-lifespan',
|
|
12
|
-
'energy-memory',
|
|
13
|
-
'embodied-carbon',
|
|
14
|
-
'energy',
|
|
15
|
-
'energy-network',
|
|
16
|
-
'expected-lifespan',
|
|
17
|
-
'functional-unit',
|
|
18
|
-
'functional-unit-duration',
|
|
19
|
-
'functional-unit-time',
|
|
20
|
-
'gpu-util',
|
|
21
|
-
'grid-carbon-intensity',
|
|
22
|
-
'instance-type',
|
|
23
|
-
'location',
|
|
24
|
-
'embodied-carbon',
|
|
25
|
-
'operational-carbon',
|
|
26
|
-
'physical-processor',
|
|
27
|
-
'vendor',
|
|
28
|
-
'ram-alloc',
|
|
29
|
-
'ram-util',
|
|
30
|
-
'resources-reserved',
|
|
31
|
-
'thermal-design-power',
|
|
32
|
-
'total-embodied-emissions',
|
|
33
|
-
'timestamp',
|
|
34
|
-
'time-reserved',
|
|
35
|
-
'total-resources',
|
|
36
|
-
];
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvdW5pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxRQUFRLEdBQUc7SUFDdEIsUUFBUTtJQUNSLFlBQVk7SUFDWixVQUFVO0lBQ1YsU0FBUztJQUNULFVBQVU7SUFDVixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsUUFBUTtJQUNSLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLDBCQUEwQjtJQUMxQixzQkFBc0I7SUFDdEIsVUFBVTtJQUNWLHVCQUF1QjtJQUN2QixlQUFlO0lBQ2YsVUFBVTtJQUNWLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ3BCLFFBQVE7SUFDUixXQUFXO0lBQ1gsVUFBVTtJQUNWLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsMEJBQTBCO0lBQzFCLFdBQVc7SUFDWCxlQUFlO0lBQ2YsaUJBQWlCO0NBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBVbml0S2V5cyA9IFtcbiAgJ2NhcmJvbicsXG4gICdjb3JlLXVuaXRzJyxcbiAgJ2NwdS11dGlsJyxcbiAgJ2Rpc2staW8nLFxuICAnZHVyYXRpb24nLFxuICAnZW5lcmd5LWNwdScsXG4gICdleHBlY3RlZC1saWZlc3BhbicsXG4gICdlbmVyZ3ktbWVtb3J5JyxcbiAgJ2VtYm9kaWVkLWNhcmJvbicsXG4gICdlbmVyZ3knLFxuICAnZW5lcmd5LW5ldHdvcmsnLFxuICAnZXhwZWN0ZWQtbGlmZXNwYW4nLFxuICAnZnVuY3Rpb25hbC11bml0JyxcbiAgJ2Z1bmN0aW9uYWwtdW5pdC1kdXJhdGlvbicsXG4gICdmdW5jdGlvbmFsLXVuaXQtdGltZScsXG4gICdncHUtdXRpbCcsXG4gICdncmlkLWNhcmJvbi1pbnRlbnNpdHknLFxuICAnaW5zdGFuY2UtdHlwZScsXG4gICdsb2NhdGlvbicsXG4gICdlbWJvZGllZC1jYXJib24nLFxuICAnb3BlcmF0aW9uYWwtY2FyYm9uJyxcbiAgJ3BoeXNpY2FsLXByb2Nlc3NvcicsXG4gICd2ZW5kb3InLFxuICAncmFtLWFsbG9jJyxcbiAgJ3JhbS11dGlsJyxcbiAgJ3Jlc291cmNlcy1yZXNlcnZlZCcsXG4gICd0aGVybWFsLWRlc2lnbi1wb3dlcicsXG4gICd0b3RhbC1lbWJvZGllZC1lbWlzc2lvbnMnLFxuICAndGltZXN0YW1wJyxcbiAgJ3RpbWUtcmVzZXJ2ZWQnLFxuICAndG90YWwtcmVzb3VyY2VzJyxcbl0gYXMgY29uc3Q7XG5cbnR5cGUgVW5pdEZpZWxkcyA9IHtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgdW5pdDogc3RyaW5nO1xuICBhZ2dyZWdhdGlvbjogJ3N1bScgfCAnbm9uZScgfCAnYXZnJztcbn07XG5cbmV4cG9ydCB0eXBlIFVuaXRLZXlOYW1lID0gKHR5cGVvZiBVbml0S2V5cylbbnVtYmVyXTtcblxuZXhwb3J0IHR5cGUgVW5pdHMgPSB7XG4gIFtLIGluIFVuaXRLZXlOYW1lXTogVW5pdEZpZWxkcztcbn07XG4iXX0=
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { UnitKeyName } from '../types/units';
|
|
2
|
-
/**
|
|
3
|
-
* Units dealer 😎 .
|
|
4
|
-
*/
|
|
5
|
-
export declare const UnitsDealer: () => Promise<{
|
|
6
|
-
/**
|
|
7
|
-
* Returns aggregation method for given `unitName`. If doesn't exist then returns value `sum`.
|
|
8
|
-
*/
|
|
9
|
-
askToGiveMethodFor: (unitName: UnitKeyName) => "sum" | "avg" | "none";
|
|
10
|
-
}>;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UnitsDealer = void 0;
|
|
4
|
-
const path = require("path");
|
|
5
|
-
const yaml_1 = require("./yaml");
|
|
6
|
-
const errors_1 = require("./errors");
|
|
7
|
-
const { FileNotFoundError } = errors_1.ERRORS;
|
|
8
|
-
/**
|
|
9
|
-
* Gets units file as an object.
|
|
10
|
-
*/
|
|
11
|
-
const getUnitsFile = () => (0, yaml_1.openYamlFileAsObject)(path.normalize(`${__dirname}/../config/units.yaml`)).catch((error) => {
|
|
12
|
-
throw FileNotFoundError(error.message);
|
|
13
|
-
});
|
|
14
|
-
/**
|
|
15
|
-
* Units dealer 😎 .
|
|
16
|
-
*/
|
|
17
|
-
const UnitsDealer = async () => {
|
|
18
|
-
const unitsStack = await getUnitsFile();
|
|
19
|
-
return {
|
|
20
|
-
/**
|
|
21
|
-
* Returns aggregation method for given `unitName`. If doesn't exist then returns value `sum`.
|
|
22
|
-
*/
|
|
23
|
-
askToGiveMethodFor: (unitName) => {
|
|
24
|
-
if (unitsStack[unitName]) {
|
|
25
|
-
return unitsStack[unitName].aggregation;
|
|
26
|
-
}
|
|
27
|
-
return 'sum';
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
exports.UnitsDealer = UnitsDealer;
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMtZGVhbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvdW5pdHMtZGVhbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE4QjtBQUU5QixpQ0FBNEM7QUFDNUMscUNBQWdDO0FBSWhDLE1BQU0sRUFBQyxpQkFBaUIsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUVuQzs7R0FFRztBQUNILE1BQU0sWUFBWSxHQUFHLEdBQUcsRUFBRSxDQUN4QixJQUFBLDJCQUFvQixFQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyx1QkFBdUIsQ0FBQyxDQUNwRCxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO0lBQ3ZCLE1BQU0saUJBQWlCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyxDQUFDO0FBRUw7O0dBRUc7QUFDSSxNQUFNLFdBQVcsR0FBRyxLQUFLLElBQUksRUFBRTtJQUNwQyxNQUFNLFVBQVUsR0FBRyxNQUFNLFlBQVksRUFBRSxDQUFDO0lBRXhDLE9BQU87UUFDTDs7V0FFRztRQUNILGtCQUFrQixFQUFFLENBQUMsUUFBcUIsRUFBRSxFQUFFO1lBQzVDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUN4QixPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQUM7YUFDekM7WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBZlcsUUFBQSxXQUFXLGVBZXRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5cbmltcG9ydCB7b3BlbllhbWxGaWxlQXNPYmplY3R9IGZyb20gJy4veWFtbCc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi9lcnJvcnMnO1xuXG5pbXBvcnQge1VuaXRzLCBVbml0S2V5TmFtZX0gZnJvbSAnLi4vdHlwZXMvdW5pdHMnO1xuXG5jb25zdCB7RmlsZU5vdEZvdW5kRXJyb3J9ID0gRVJST1JTO1xuXG4vKipcbiAqIEdldHMgdW5pdHMgZmlsZSBhcyBhbiBvYmplY3QuXG4gKi9cbmNvbnN0IGdldFVuaXRzRmlsZSA9ICgpID0+XG4gIG9wZW5ZYW1sRmlsZUFzT2JqZWN0PFVuaXRzPihcbiAgICBwYXRoLm5vcm1hbGl6ZShgJHtfX2Rpcm5hbWV9Ly4uL2NvbmZpZy91bml0cy55YW1sYClcbiAgKS5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgdGhyb3cgRmlsZU5vdEZvdW5kRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gIH0pO1xuXG4vKipcbiAqIFVuaXRzIGRlYWxlciDwn5iOIC5cbiAqL1xuZXhwb3J0IGNvbnN0IFVuaXRzRGVhbGVyID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCB1bml0c1N0YWNrID0gYXdhaXQgZ2V0VW5pdHNGaWxlKCk7XG5cbiAgcmV0dXJuIHtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFnZ3JlZ2F0aW9uIG1ldGhvZCBmb3IgZ2l2ZW4gYHVuaXROYW1lYC4gSWYgZG9lc24ndCBleGlzdCB0aGVuIHJldHVybnMgdmFsdWUgYHN1bWAuXG4gICAgICovXG4gICAgYXNrVG9HaXZlTWV0aG9kRm9yOiAodW5pdE5hbWU6IFVuaXRLZXlOYW1lKSA9PiB7XG4gICAgICBpZiAodW5pdHNTdGFja1t1bml0TmFtZV0pIHtcbiAgICAgICAgcmV0dXJuIHVuaXRzU3RhY2tbdW5pdE5hbWVdLmFnZ3JlZ2F0aW9uO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJ3N1bSc7XG4gICAgfSxcbiAgfTtcbn07XG4iXX0=
|