@grnsft/if 0.3.0 → 0.3.2
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/CONTRIBUTING.md +8 -0
- package/README.md +3 -0
- package/build/builtins/export-csv-raw.js +2 -2
- package/build/builtins/export-csv.js +15 -2
- package/build/builtins/group-by.js +20 -5
- package/build/builtins/time-sync.js +2 -1
- package/build/config/strings.js +2 -3
- package/build/index.js +3 -3
- package/build/lib/compute.js +8 -8
- package/build/lib/load.js +5 -3
- package/build/lib/parameterize.d.ts +2 -1
- package/build/lib/parameterize.js +4 -4
- package/build/types/compute.d.ts +2 -2
- package/build/types/compute.js +1 -1
- package/build/util/aggregation-helper.js +4 -4
- package/build/util/errors.d.ts +1 -1
- package/build/util/errors.js +3 -3
- package/build/util/helpers.d.ts +2 -2
- package/build/util/helpers.js +12 -14
- package/examples/manifests/boavizta-pipeline.yml +13 -13
- package/examples/manifests/cloud-metadata-teads.yml +41 -0
- package/examples/manifests/cloud-metadata.yml +13 -34
- package/examples/manifests/e-net.yml +1 -1
- package/examples/manifests/generics.yml +14 -14
- package/examples/manifests/group-by.yml +21 -21
- package/examples/manifests/nesting.yml +16 -16
- package/examples/manifests/pipeline-demo-1.yml +4 -4
- package/examples/manifests/pipeline-demo-2.yml +16 -11
- package/examples/manifests/pipeline-demo.yml +10 -10
- package/examples/manifests/pipeline-teads-sci.yml +12 -12
- package/examples/manifests/pipeline-with-generics.yml +26 -21
- package/examples/manifests/pipeline-with-mocks.yml +23 -23
- package/examples/manifests/watt-time.yml +6 -13
- package/github-processes.md +158 -0
- package/package.json +1 -1
- package/src/builtins/README.md +40 -44
- package/examples/manifests/cim.yml +0 -20
- package/examples/manifests/teads-aws.yml +0 -22
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parameterize = void 0;
|
|
4
4
|
const logger_1 = require("../util/logger");
|
|
5
|
-
const config_1 = require("../config");
|
|
6
5
|
const log_memoize_1 = require("../util/log-memoize");
|
|
6
|
+
const config_1 = require("../config");
|
|
7
7
|
const { REJECTING_OVERRIDE, UNKNOWN_PARAM } = config_1.STRINGS;
|
|
8
8
|
/**
|
|
9
9
|
* Parameters manager. Provides get aggregation method and combine functionality.
|
|
@@ -15,7 +15,7 @@ const Parametrize = () => {
|
|
|
15
15
|
*/
|
|
16
16
|
const getAggregationMethod = (unitName) => {
|
|
17
17
|
if (`${unitName}` in parametersStorage) {
|
|
18
|
-
return
|
|
18
|
+
return parametersStorage[unitName].aggregation;
|
|
19
19
|
}
|
|
20
20
|
(0, log_memoize_1.memoizedLog)(logger_1.logger.warn, UNKNOWN_PARAM(unitName));
|
|
21
21
|
return 'sum';
|
|
@@ -29,7 +29,7 @@ const Parametrize = () => {
|
|
|
29
29
|
if (contextParameters) {
|
|
30
30
|
contextParameters.forEach(param => {
|
|
31
31
|
if (`${param.name}` in parameters) {
|
|
32
|
-
logger_1.logger.warn(REJECTING_OVERRIDE);
|
|
32
|
+
logger_1.logger.warn(REJECTING_OVERRIDE(param));
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
35
|
const { description, unit, aggregation, name } = param;
|
|
@@ -48,4 +48,4 @@ const Parametrize = () => {
|
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
exports.parameterize = Parametrize();
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9wYXJhbWV0ZXJpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXNDO0FBQ3RDLHFEQUFnRDtBQUVoRCxzQ0FBOEM7QUFLOUMsTUFBTSxFQUFDLGtCQUFrQixFQUFFLGFBQWEsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFcEQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUU7SUFDdkIsSUFBSSxpQkFBaUIsR0FBRyxtQkFBVSxDQUFDO0lBRW5DOztPQUVHO0lBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtRQUNoRCxJQUFJLEdBQUcsUUFBUSxFQUFFLElBQUksaUJBQWlCLEVBQUU7WUFDdEMsT0FBTyxpQkFBaUIsQ0FBQyxRQUFtQyxDQUFDLENBQUMsV0FBVyxDQUFDO1NBQzNFO1FBRUQsSUFBQSx5QkFBVyxFQUFDLGVBQU0sQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFbEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsTUFBTSxPQUFPLEdBQUcsQ0FDZCxpQkFBeUQsRUFDekQsVUFBc0IsRUFDdEIsRUFBRTtRQUNGLElBQUksaUJBQWlCLEVBQUU7WUFDckIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNoQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLFVBQVUsRUFBRTtvQkFDakMsZUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUV2QyxPQUFPO2lCQUNSO2dCQUVELE1BQU0sRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsR0FBRyxLQUFLLENBQUM7Z0JBRXJELFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRztvQkFDakIsV0FBVztvQkFDWCxJQUFJO29CQUNKLFdBQVc7aUJBQ1osQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxpQkFBaUIsR0FBRyxVQUFVLENBQUM7SUFDakMsQ0FBQyxDQUFDO0lBRUYsT0FBTztRQUNMLE9BQU87UUFDUCxvQkFBb0I7S0FDckIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVXLFFBQUEsWUFBWSxHQUFHLFdBQVcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uL3V0aWwvbG9nZ2VyJztcbmltcG9ydCB7bWVtb2l6ZWRMb2d9IGZyb20gJy4uL3V0aWwvbG9nLW1lbW9pemUnO1xuXG5pbXBvcnQge1NUUklOR1MsIFBBUkFNRVRFUlN9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7TWFuaWZlc3RQYXJhbWV0ZXJ9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7UGFyYW1ldGVyc30gZnJvbSAnLi4vdHlwZXMvcGFyYW1ldGVycyc7XG5cbmNvbnN0IHtSRUpFQ1RJTkdfT1ZFUlJJREUsIFVOS05PV05fUEFSQU19ID0gU1RSSU5HUztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIG1hbmFnZXIuIFByb3ZpZGVzIGdldCBhZ2dyZWdhdGlvbiBtZXRob2QgYW5kIGNvbWJpbmUgZnVuY3Rpb25hbGl0eS5cbiAqL1xuY29uc3QgUGFyYW1ldHJpemUgPSAoKSA9PiB7XG4gIGxldCBwYXJhbWV0ZXJzU3RvcmFnZSA9IFBBUkFNRVRFUlM7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWdncmVnYXRpb24gbWV0aG9kIGZvciBnaXZlbiBgdW5pdE5hbWVgLiBJZiBkb2Vzbid0IGV4aXN0IHRoZW4gcmV0dXJucyB2YWx1ZSBgc3VtYC5cbiAgICovXG4gIGNvbnN0IGdldEFnZ3JlZ2F0aW9uTWV0aG9kID0gKHVuaXROYW1lOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoYCR7dW5pdE5hbWV9YCBpbiBwYXJhbWV0ZXJzU3RvcmFnZSkge1xuICAgICAgcmV0dXJuIHBhcmFtZXRlcnNTdG9yYWdlW3VuaXROYW1lIGFzIGtleW9mIHR5cGVvZiBQQVJBTUVURVJTXS5hZ2dyZWdhdGlvbjtcbiAgICB9XG5cbiAgICBtZW1vaXplZExvZyhsb2dnZXIud2FybiwgVU5LTk9XTl9QQVJBTSh1bml0TmFtZSkpO1xuXG4gICAgcmV0dXJuICdzdW0nO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYWRkaXRpb25hbCBwYXJhbWV0ZXJzIGFyZSBwcm92aWRlZCBpbiBjb250ZXh0LlxuICAgKiBJZiBzbywgdGhlbiBjaGVja3MgaWYgdGhleSBhcmUgY29pbmNpZGVudCB3aXRoIGRlZmF1bHQgb25lcyBhbmQgZXhpdHMgd2l0aCB3YXJuaW5nIG1lc3NhZ2UuXG4gICAqIE90aGVyd2lzZSBhcHBlbmRzIGNvbnRleHQgYmFzZWQgcGFyYW1ldGVycyB0byBkZWZhdWx0cy5cbiAgICovXG4gIGNvbnN0IGNvbWJpbmUgPSAoXG4gICAgY29udGV4dFBhcmFtZXRlcnM6IE1hbmlmZXN0UGFyYW1ldGVyW10gfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIHBhcmFtZXRlcnM6IFBhcmFtZXRlcnNcbiAgKSA9PiB7XG4gICAgaWYgKGNvbnRleHRQYXJhbWV0ZXJzKSB7XG4gICAgICBjb250ZXh0UGFyYW1ldGVycy5mb3JFYWNoKHBhcmFtID0+IHtcbiAgICAgICAgaWYgKGAke3BhcmFtLm5hbWV9YCBpbiBwYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgbG9nZ2VyLndhcm4oUkVKRUNUSU5HX09WRVJSSURFKHBhcmFtKSk7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7ZGVzY3JpcHRpb24sIHVuaXQsIGFnZ3JlZ2F0aW9uLCBuYW1lfSA9IHBhcmFtO1xuXG4gICAgICAgIHBhcmFtZXRlcnNbbmFtZV0gPSB7XG4gICAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgICAgdW5pdCxcbiAgICAgICAgICBhZ2dyZWdhdGlvbixcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHBhcmFtZXRlcnNTdG9yYWdlID0gcGFyYW1ldGVycztcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIGNvbWJpbmUsXG4gICAgZ2V0QWdncmVnYXRpb25NZXRob2QsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgcGFyYW1ldGVyaXplID0gUGFyYW1ldHJpemUoKTtcbiJdfQ==
|
package/build/types/compute.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export type NodeConfig = {
|
|
|
5
5
|
[key: string]: Record<string, any>;
|
|
6
6
|
};
|
|
7
7
|
export type Params = {
|
|
8
|
-
|
|
8
|
+
pluginStorage: PluginStorageInterface;
|
|
9
9
|
context: Context;
|
|
10
10
|
pipeline?: string[];
|
|
11
11
|
config?: NodeConfig;
|
|
@@ -21,5 +21,5 @@ export type Node = {
|
|
|
21
21
|
};
|
|
22
22
|
export type ComputeParams = {
|
|
23
23
|
context: Context;
|
|
24
|
-
|
|
24
|
+
pluginStorage: PluginStorageInterface;
|
|
25
25
|
};
|
package/build/types/compute.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9jb21wdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHtDb250ZXh0fSBmcm9tICcuL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi9wbHVnaW4tc3RvcmFnZSc7XG5cbmV4cG9ydCB0eXBlIE5vZGVDb25maWcgPSB7XG4gIFtrZXk6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJhbXMgPSB7XG4gIHBsdWdpblN0b3JhZ2U6IFBsdWdpblN0b3JhZ2VJbnRlcmZhY2U7XG4gIGNvbnRleHQ6IENvbnRleHQ7XG4gIHBpcGVsaW5lPzogc3RyaW5nW107XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xufTtcblxuZXhwb3J0IHR5cGUgTm9kZSA9IHtcbiAgY2hpbGRyZW4/OiBhbnk7XG4gIHBpcGVsaW5lPzogc3RyaW5nW107XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xuICBpbnB1dHM/OiBQbHVnaW5QYXJhbXNbXTtcbiAgb3V0cHV0cz86IFBsdWdpblBhcmFtc1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQ29tcHV0ZVBhcmFtcyA9IHtcbiAgY29udGV4dDogQ29udGV4dDtcbiAgcGx1Z2luU3RvcmFnZTogUGx1Z2luU3RvcmFnZUludGVyZmFjZTtcbn07XG4iXX0=
|
|
@@ -4,7 +4,7 @@ exports.aggregateInputsIntoOne = void 0;
|
|
|
4
4
|
const errors_1 = require("../util/errors");
|
|
5
5
|
const parameterize_1 = require("../lib/parameterize");
|
|
6
6
|
const config_1 = require("../config");
|
|
7
|
-
const {
|
|
7
|
+
const { InvalidAggregationParamsError } = errors_1.ERRORS;
|
|
8
8
|
const { INVALID_AGGREGATION_METHOD, METRIC_MISSING } = config_1.STRINGS;
|
|
9
9
|
const { AGGREGATION_ADDITIONAL_PARAMS } = config_1.CONFIG;
|
|
10
10
|
/**
|
|
@@ -15,7 +15,7 @@ const checkIfMetricsAreValid = (metrics) => {
|
|
|
15
15
|
metrics.forEach(metric => {
|
|
16
16
|
const method = parameterize_1.parameterize.getAggregationMethod(metric);
|
|
17
17
|
if (method === 'none') {
|
|
18
|
-
throw new
|
|
18
|
+
throw new InvalidAggregationParamsError(INVALID_AGGREGATION_METHOD(metric));
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
};
|
|
@@ -29,7 +29,7 @@ const aggregateInputsIntoOne = (inputs, metrics, isTemporal) => {
|
|
|
29
29
|
return inputs.reduce((acc, input, index) => {
|
|
30
30
|
for (const metric of extendedMetrics) {
|
|
31
31
|
if (!(metric in input)) {
|
|
32
|
-
throw new
|
|
32
|
+
throw new InvalidAggregationParamsError(METRIC_MISSING(metric, index));
|
|
33
33
|
}
|
|
34
34
|
/** Checks if metric is timestamp or duration, then adds to aggregated value. */
|
|
35
35
|
if (AGGREGATION_ADDITIONAL_PARAMS.includes(metric)) {
|
|
@@ -52,4 +52,4 @@ const aggregateInputsIntoOne = (inputs, metrics, isTemporal) => {
|
|
|
52
52
|
}, {});
|
|
53
53
|
};
|
|
54
54
|
exports.aggregateInputsIntoOne = aggregateInputsIntoOne;
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvYWdncmVnYXRpb24taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFzQztBQUN0QyxzREFBaUQ7QUFFakQsc0NBQTBDO0FBSzFDLE1BQU0sRUFBQyw2QkFBNkIsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUMvQyxNQUFNLEVBQUMsMEJBQTBCLEVBQUUsY0FBYyxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUM3RCxNQUFNLEVBQUMsNkJBQTZCLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFL0M7OztHQUdHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE9BQWlCLEVBQUUsRUFBRTtJQUNuRCxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLDJCQUFZLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekQsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSw2QkFBNkIsQ0FDckMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQ25DLENBQUM7U0FDSDtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxzQkFBc0IsR0FBRyxDQUNwQyxNQUFzQixFQUN0QixPQUFpQixFQUNqQixVQUFvQixFQUNwQixFQUFFO0lBQ0Ysc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLDZCQUE2QixDQUFDLENBQUM7SUFFdkUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUN6QyxLQUFLLE1BQU0sTUFBTSxJQUFJLGVBQWUsRUFBRTtZQUNwQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDeEU7WUFFRCxnRkFBZ0Y7WUFDaEYsSUFBSSw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xELElBQUksVUFBVSxFQUFFO29CQUNkLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQzdCO2FBQ0Y7aUJBQU07Z0JBQ0wsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBRXpDLHFDQUFxQztnQkFDckMsSUFBSSxLQUFLLEtBQUssTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQy9CLElBQUksMkJBQVksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLEVBQUU7d0JBQ3ZELEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO3FCQUM5QjtpQkFDRjthQUNGO1NBQ0Y7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUF1QixDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBbENXLFFBQUEsc0JBQXNCLDBCQWtDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VSUk9SU30gZnJvbSAnLi4vdXRpbC9lcnJvcnMnO1xuaW1wb3J0IHtwYXJhbWV0ZXJpemV9IGZyb20gJy4uL2xpYi9wYXJhbWV0ZXJpemUnO1xuXG5pbXBvcnQge0NPTkZJRywgU1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuaW1wb3J0IHtBZ2dyZWdhdGlvblJlc3VsdH0gZnJvbSAnLi4vdHlwZXMvYWdncmVnYXRpb24nO1xuaW1wb3J0IHtQbHVnaW5QYXJhbXN9IGZyb20gJy4uL3R5cGVzL2ludGVyZmFjZSc7XG5cbmNvbnN0IHtJbnZhbGlkQWdncmVnYXRpb25QYXJhbXNFcnJvcn0gPSBFUlJPUlM7XG5jb25zdCB7SU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0QsIE1FVFJJQ19NSVNTSU5HfSA9IFNUUklOR1M7XG5jb25zdCB7QUdHUkVHQVRJT05fQURESVRJT05BTF9QQVJBTVN9ID0gQ09ORklHO1xuXG4vKipcbiAqIFZhbGlkYXRlcyBtZXRyaWNzIGFycmF5IGJlZm9yZSBhcHBseWluZyBhZ2dyZWdhdG9yLlxuICogSWYgYWdncmVnYXRpb24gbWV0aG9kIGlzIGBub25lYCwgdGhlbiB0aHJvd3MgZXJyb3IuXG4gKi9cbmNvbnN0IGNoZWNrSWZNZXRyaWNzQXJlVmFsaWQgPSAobWV0cmljczogc3RyaW5nW10pID0+IHtcbiAgbWV0cmljcy5mb3JFYWNoKG1ldHJpYyA9PiB7XG4gICAgY29uc3QgbWV0aG9kID0gcGFyYW1ldGVyaXplLmdldEFnZ3JlZ2F0aW9uTWV0aG9kKG1ldHJpYyk7XG5cbiAgICBpZiAobWV0aG9kID09PSAnbm9uZScpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQWdncmVnYXRpb25QYXJhbXNFcnJvcihcbiAgICAgICAgSU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0QobWV0cmljKVxuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufTtcblxuLyoqXG4gKiBBZ2dyZWdhdGVzIGNoaWxkIG5vZGUgbGV2ZWwgbWV0cmljcy4gVmFsaWRhdGVzIGlmIG1ldHJpYyBhZ2dyZWdhdGlvbiB0eXBlIGlzIGBub25lYCwgdGhlbiByZWplY3RzIHdpdGggZXJyb3IuXG4gKiBBcHBlbmRzIGFnZ3JlZ2F0aW9uIGFkZGl0aW9uYWwgcGFyYW1zIHRvIG1ldHJpY3MuIE90aGVyd2lzZSBpdGVyYXRlcyBvdmVyIGlucHV0cyBieSBhZ2dyZWdhdGluZyBwZXIgZ2l2ZW4gYG1ldHJpY3NgLlxuICovXG5leHBvcnQgY29uc3QgYWdncmVnYXRlSW5wdXRzSW50b09uZSA9IChcbiAgaW5wdXRzOiBQbHVnaW5QYXJhbXNbXSxcbiAgbWV0cmljczogc3RyaW5nW10sXG4gIGlzVGVtcG9yYWw/OiBib29sZWFuXG4pID0+IHtcbiAgY2hlY2tJZk1ldHJpY3NBcmVWYWxpZChtZXRyaWNzKTtcbiAgY29uc3QgZXh0ZW5kZWRNZXRyaWNzID0gWy4uLm1ldHJpY3MsIC4uLkFHR1JFR0FUSU9OX0FERElUSU9OQUxfUEFSQU1TXTtcblxuICByZXR1cm4gaW5wdXRzLnJlZHVjZSgoYWNjLCBpbnB1dCwgaW5kZXgpID0+IHtcbiAgICBmb3IgKGNvbnN0IG1ldHJpYyBvZiBleHRlbmRlZE1ldHJpY3MpIHtcbiAgICAgIGlmICghKG1ldHJpYyBpbiBpbnB1dCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBZ2dyZWdhdGlvblBhcmFtc0Vycm9yKE1FVFJJQ19NSVNTSU5HKG1ldHJpYywgaW5kZXgpKTtcbiAgICAgIH1cblxuICAgICAgLyoqIENoZWNrcyBpZiBtZXRyaWMgaXMgdGltZXN0YW1wIG9yIGR1cmF0aW9uLCB0aGVuIGFkZHMgdG8gYWdncmVnYXRlZCB2YWx1ZS4gKi9cbiAgICAgIGlmIChBR0dSRUdBVElPTl9BRERJVElPTkFMX1BBUkFNUy5pbmNsdWRlcyhtZXRyaWMpKSB7XG4gICAgICAgIGlmIChpc1RlbXBvcmFsKSB7XG4gICAgICAgICAgYWNjW21ldHJpY10gPSBpbnB1dFttZXRyaWNdO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhY2NbbWV0cmljXSA9IGFjY1ttZXRyaWNdID8/IDA7XG4gICAgICAgIGFjY1ttZXRyaWNdICs9IHBhcnNlRmxvYXQoaW5wdXRbbWV0cmljXSk7XG5cbiAgICAgICAgLyoqIENoZWNrcyBmb3IgdGhlIGxhc3QgaXRlcmF0aW9uLiAqL1xuICAgICAgICBpZiAoaW5kZXggPT09IGlucHV0cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgaWYgKHBhcmFtZXRlcml6ZS5nZXRBZ2dyZWdhdGlvbk1ldGhvZChtZXRyaWMpID09PSAnYXZnJykge1xuICAgICAgICAgICAgYWNjW21ldHJpY10gLz0gaW5wdXRzLmxlbmd0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBBZ2dyZWdhdGlvblJlc3VsdCk7XG59O1xuIl19
|
package/build/util/errors.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const CUSTOM_ERRORS: readonly ["CliInputError", "FileNotFoundError", "MakeDirectoryError", "ManifestValidationError", "ModuleInitializationError", "InputValidationError", "
|
|
1
|
+
declare const CUSTOM_ERRORS: readonly ["CliInputError", "FileNotFoundError", "MakeDirectoryError", "ManifestValidationError", "ModuleInitializationError", "InputValidationError", "InvalidAggregationParamsError", "InvalidGroupingError", "PluginCredentialError", "PluginInitalizationError", "WriteFileError"];
|
|
2
2
|
type CustomErrors = {
|
|
3
3
|
[K in (typeof CUSTOM_ERRORS)[number]]: ErrorConstructor;
|
|
4
4
|
};
|
package/build/util/errors.js
CHANGED
|
@@ -8,8 +8,8 @@ const CUSTOM_ERRORS = [
|
|
|
8
8
|
'ManifestValidationError',
|
|
9
9
|
'ModuleInitializationError',
|
|
10
10
|
'InputValidationError',
|
|
11
|
-
'
|
|
12
|
-
'
|
|
11
|
+
'InvalidAggregationParamsError',
|
|
12
|
+
'InvalidGroupingError',
|
|
13
13
|
'PluginCredentialError',
|
|
14
14
|
'PluginInitalizationError',
|
|
15
15
|
'WriteFileError',
|
|
@@ -26,4 +26,4 @@ exports.ERRORS = CUSTOM_ERRORS.reduce((acc, className) => {
|
|
|
26
26
|
};
|
|
27
27
|
return acc;
|
|
28
28
|
}, {});
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLHlCQUF5QjtJQUN6QiwyQkFBMkI7SUFDM0Isc0JBQXNCO0lBQ3RCLCtCQUErQjtJQUMvQixzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLDBCQUEwQjtJQUMxQixnQkFBZ0I7Q0FDUixDQUFDO0FBTUUsUUFBQSxNQUFNLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRTtJQUM1RCxHQUFHLEdBQUc7UUFDSixHQUFHLEdBQUc7UUFDTixDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQU0sU0FBUSxLQUFLO1lBQzlCLFlBQVksT0FBZTtnQkFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDcEMsQ0FBQztTQUNGO0tBQ0YsQ0FBQztJQUVGLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxFQUFFLEVBQWtCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IENVU1RPTV9FUlJPUlMgPSBbXG4gICdDbGlJbnB1dEVycm9yJyxcbiAgJ0ZpbGVOb3RGb3VuZEVycm9yJyxcbiAgJ01ha2VEaXJlY3RvcnlFcnJvcicsXG4gICdNYW5pZmVzdFZhbGlkYXRpb25FcnJvcicsXG4gICdNb2R1bGVJbml0aWFsaXphdGlvbkVycm9yJyxcbiAgJ0lucHV0VmFsaWRhdGlvbkVycm9yJyxcbiAgJ0ludmFsaWRBZ2dyZWdhdGlvblBhcmFtc0Vycm9yJyxcbiAgJ0ludmFsaWRHcm91cGluZ0Vycm9yJyxcbiAgJ1BsdWdpbkNyZWRlbnRpYWxFcnJvcicsXG4gICdQbHVnaW5Jbml0YWxpemF0aW9uRXJyb3InLFxuICAnV3JpdGVGaWxlRXJyb3InLFxuXSBhcyBjb25zdDtcblxudHlwZSBDdXN0b21FcnJvcnMgPSB7XG4gIFtLIGluICh0eXBlb2YgQ1VTVE9NX0VSUk9SUylbbnVtYmVyXV06IEVycm9yQ29uc3RydWN0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgRVJST1JTID0gQ1VTVE9NX0VSUk9SUy5yZWR1Y2UoKGFjYywgY2xhc3NOYW1lKSA9PiB7XG4gIGFjYyA9IHtcbiAgICAuLi5hY2MsXG4gICAgW2NsYXNzTmFtZV06IGNsYXNzIGV4dGVuZHMgRXJyb3Ige1xuICAgICAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLm5hbWUgPSB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gYWNjO1xufSwge30gYXMgQ3VzdG9tRXJyb3JzKTtcbiJdfQ==
|
package/build/util/helpers.d.ts
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export declare const andHandle: (error: Error) => void;
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Append entries from defaults which are missing from inputs.
|
|
7
7
|
*/
|
|
8
|
-
export declare const mergeObjects: (
|
|
8
|
+
export declare const mergeObjects: (defaults: any, input: any) => Record<string, any>;
|
package/build/util/helpers.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mergeObjects = exports.andHandle = void 0;
|
|
4
|
-
const errors_1 = require("./errors");
|
|
5
4
|
const config_1 = require("../config");
|
|
5
|
+
const errors_1 = require("./errors");
|
|
6
6
|
const logger_1 = require("./logger");
|
|
7
7
|
const { ISSUE_TEMPLATE } = config_1.STRINGS;
|
|
8
8
|
/**
|
|
@@ -17,21 +17,19 @@ const andHandle = (error) => {
|
|
|
17
17
|
};
|
|
18
18
|
exports.andHandle = andHandle;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Append entries from defaults which are missing from inputs.
|
|
21
21
|
*/
|
|
22
|
-
const mergeObjects = (
|
|
23
|
-
const merged =
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
});
|
|
28
|
-
const keys2 = Object.keys(object2);
|
|
29
|
-
keys2.forEach(key2 => {
|
|
30
|
-
if (!keys1.includes(key2)) {
|
|
31
|
-
merged[key2] = object2[key2];
|
|
22
|
+
const mergeObjects = (defaults, input) => {
|
|
23
|
+
const merged = structuredClone(input);
|
|
24
|
+
for (const key in defaults) {
|
|
25
|
+
if (!(key in input)) {
|
|
26
|
+
merged[key] = defaults[key];
|
|
32
27
|
}
|
|
33
|
-
|
|
28
|
+
if (merged[key] === undefined || merged[key] === null) {
|
|
29
|
+
merged[key] = defaults[key];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
34
32
|
return merged;
|
|
35
33
|
};
|
|
36
34
|
exports.mergeObjects = mergeObjects;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0NBQWtDO0FBQ2xDLHFDQUFnQztBQUNoQyxxQ0FBZ0M7QUFFaEMsTUFBTSxFQUFDLGNBQWMsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFakM7O0dBRUc7QUFDSSxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQVksRUFBRSxFQUFFO0lBQ3hDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBTSxDQUFDLENBQUM7SUFFeEMsZUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDckMsZUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUM3QjtBQUNILENBQUMsQ0FBQztBQVJXLFFBQUEsU0FBUyxhQVFwQjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFhLEVBQUUsS0FBVSxFQUFFLEVBQUU7SUFDeEQsTUFBTSxNQUFNLEdBQXdCLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUzRCxLQUFLLE1BQU0sR0FBRyxJQUFJLFFBQVEsRUFBRTtRQUMxQixJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDbkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3QjtRQUVELElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3JELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDN0I7S0FDRjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQWRXLFFBQUEsWUFBWSxnQkFjdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4vbG9nZ2VyJztcblxuY29uc3Qge0lTU1VFX1RFTVBMQVRFfSA9IFNUUklOR1M7XG5cbi8qKlxuICogSW1wYWN0IGVuZ2luZSBlcnJvciBoYW5kbGVyLiBMb2dzIGVycm9ycyBhbmQgYXBwZW5kcyBpc3N1ZSB0ZW1wbGF0ZSBpZiBlcnJvciBpcyB1bmtub3duLlxuICovXG5leHBvcnQgY29uc3QgYW5kSGFuZGxlID0gKGVycm9yOiBFcnJvcikgPT4ge1xuICBjb25zdCBrbm93bkVycm9ycyA9IE9iamVjdC5rZXlzKEVSUk9SUyk7XG5cbiAgbG9nZ2VyLmVycm9yKGVycm9yKTtcblxuICBpZiAoIWtub3duRXJyb3JzLmluY2x1ZGVzKGVycm9yLm5hbWUpKSB7XG4gICAgbG9nZ2VyLndhcm4oSVNTVUVfVEVNUExBVEUpO1xuICB9XG59O1xuXG4vKipcbiAqIEFwcGVuZCBlbnRyaWVzIGZyb20gZGVmYXVsdHMgd2hpY2ggYXJlIG1pc3NpbmcgZnJvbSBpbnB1dHMuXG4gKi9cbmV4cG9ydCBjb25zdCBtZXJnZU9iamVjdHMgPSAoZGVmYXVsdHM6IGFueSwgaW5wdXQ6IGFueSkgPT4ge1xuICBjb25zdCBtZXJnZWQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSBzdHJ1Y3R1cmVkQ2xvbmUoaW5wdXQpO1xuXG4gIGZvciAoY29uc3Qga2V5IGluIGRlZmF1bHRzKSB7XG4gICAgaWYgKCEoa2V5IGluIGlucHV0KSkge1xuICAgICAgbWVyZ2VkW2tleV0gPSBkZWZhdWx0c1trZXldO1xuICAgIH1cblxuICAgIGlmIChtZXJnZWRba2V5XSA9PT0gdW5kZWZpbmVkIHx8IG1lcmdlZFtrZXldID09PSBudWxsKSB7XG4gICAgICBtZXJnZWRba2V5XSA9IGRlZmF1bHRzW2tleV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1lcmdlZDtcbn07XG4iXX0=
|
|
@@ -5,7 +5,7 @@ initialize:
|
|
|
5
5
|
plugins:
|
|
6
6
|
boavizta-cpu:
|
|
7
7
|
method: BoaviztaCpuOutput
|
|
8
|
-
path:
|
|
8
|
+
path: "@grnsft/if-unofficial-plugins"
|
|
9
9
|
global-config:
|
|
10
10
|
allocation: LINEAR
|
|
11
11
|
verbose: true
|
|
@@ -13,10 +13,10 @@ initialize:
|
|
|
13
13
|
path: "@grnsft/if-plugins"
|
|
14
14
|
method: Sum
|
|
15
15
|
global-config:
|
|
16
|
-
input-parameters:
|
|
16
|
+
input-parameters:
|
|
17
17
|
- cpu/energy
|
|
18
18
|
- network/energy
|
|
19
|
-
output-parameter: energy
|
|
19
|
+
output-parameter: energy
|
|
20
20
|
"sci-m":
|
|
21
21
|
path: "@grnsft/if-plugins"
|
|
22
22
|
method: SciM
|
|
@@ -27,8 +27,8 @@ initialize:
|
|
|
27
27
|
path: "@grnsft/if-plugins"
|
|
28
28
|
method: Sci
|
|
29
29
|
global-config:
|
|
30
|
-
functional-unit:
|
|
31
|
-
functional-unit-time:
|
|
30
|
+
functional-unit: ""
|
|
31
|
+
functional-unit-time: "1-day"
|
|
32
32
|
"time-sync":
|
|
33
33
|
method: TimeSync
|
|
34
34
|
path: "builtin"
|
|
@@ -60,26 +60,26 @@ tree:
|
|
|
60
60
|
cpu/name: Intel® Core™ i7-1185G7
|
|
61
61
|
inputs:
|
|
62
62
|
- timestamp: "2023-12-12T00:00:00.000Z"
|
|
63
|
-
cloud/instance-type: A1
|
|
64
|
-
region: uk-west
|
|
63
|
+
cloud/instance-type: A1
|
|
64
|
+
cloud/region: uk-west
|
|
65
65
|
duration: 1
|
|
66
66
|
cpu/utilization: 50
|
|
67
67
|
network/energy: 0.000001
|
|
68
68
|
- timestamp: "2023-12-12T00:00:01.000Z"
|
|
69
69
|
duration: 5
|
|
70
70
|
cpu/utilization: 20
|
|
71
|
-
cloud/instance-type: A1
|
|
72
|
-
region: uk-west
|
|
71
|
+
cloud/instance-type: A1
|
|
72
|
+
cloud/region: uk-west
|
|
73
73
|
network/energy: 0.000001
|
|
74
74
|
- timestamp: "2023-12-12T00:00:06.000Z"
|
|
75
75
|
duration: 7
|
|
76
76
|
cpu/utilization: 15
|
|
77
|
-
cloud/instance-type: A1
|
|
78
|
-
region: uk-west
|
|
77
|
+
cloud/instance-type: A1
|
|
78
|
+
cloud/region: uk-west
|
|
79
79
|
network/energy: 0.000001
|
|
80
80
|
- timestamp: "2023-12-12T00:00:13.000Z"
|
|
81
81
|
duration: 30
|
|
82
|
-
cloud/instance-type: A1
|
|
83
|
-
region: uk-west
|
|
82
|
+
cloud/instance-type: A1
|
|
83
|
+
cloud/region: uk-west
|
|
84
84
|
cpu/utilization: 15
|
|
85
85
|
network/energy: 0.000001
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
name: cloud-metadata-demo
|
|
2
|
+
description: null
|
|
3
|
+
tags: null
|
|
4
|
+
initialize:
|
|
5
|
+
plugins:
|
|
6
|
+
teads-curve:
|
|
7
|
+
path: "@grnsft/if-unofficial-plugins"
|
|
8
|
+
method: TeadsCurve
|
|
9
|
+
global-config:
|
|
10
|
+
interpolation: spline
|
|
11
|
+
cloud-metadata:
|
|
12
|
+
method: CloudMetadata
|
|
13
|
+
path: "@grnsft/if-plugins"
|
|
14
|
+
tree:
|
|
15
|
+
children:
|
|
16
|
+
child-0:
|
|
17
|
+
defaults:
|
|
18
|
+
cpu/thermal-design-power: 100
|
|
19
|
+
cloud/vendor: aws
|
|
20
|
+
cloud/instance-type: m5n.large
|
|
21
|
+
pipeline:
|
|
22
|
+
- teads-curve
|
|
23
|
+
- cloud-metadata
|
|
24
|
+
inputs:
|
|
25
|
+
- timestamp: 2023-07-06T00:00
|
|
26
|
+
duration: 10
|
|
27
|
+
cpu/utilization: 80
|
|
28
|
+
- timestamp: 2023-07-06T00:01
|
|
29
|
+
duration: 10
|
|
30
|
+
cpu/utilization: 80
|
|
31
|
+
outputs:
|
|
32
|
+
- timestamp: 2023-07-06T00:00
|
|
33
|
+
duration: 10
|
|
34
|
+
cpu/utilization: 80
|
|
35
|
+
cpu/thermal-design-power: 100
|
|
36
|
+
cpu/energy: 0.00025568089430894314
|
|
37
|
+
- timestamp: 2023-07-06T00:01
|
|
38
|
+
duration: 10
|
|
39
|
+
cpu/utilization: 80
|
|
40
|
+
cpu/thermal-design-power: 100
|
|
41
|
+
cpu/energy: 0.00025568089430894314
|
|
@@ -1,41 +1,20 @@
|
|
|
1
|
-
name:
|
|
2
|
-
description:
|
|
3
|
-
tags:
|
|
1
|
+
name: cloud-metadata
|
|
2
|
+
description: example impl invoking Cloud Metadata plugin
|
|
3
|
+
tags:
|
|
4
4
|
initialize:
|
|
5
5
|
plugins:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
method: TeadsCurve
|
|
9
|
-
global-config:
|
|
10
|
-
interpolation: spline
|
|
11
|
-
cloud-instance-metadata:
|
|
12
|
-
method: CloudInstanceMetadata
|
|
6
|
+
cloud-metadata:
|
|
7
|
+
method: CloudMetadata
|
|
13
8
|
path: "@grnsft/if-plugins"
|
|
14
9
|
tree:
|
|
15
10
|
children:
|
|
16
|
-
child
|
|
17
|
-
defaults:
|
|
18
|
-
cpu/thermal-design-power: 100
|
|
19
|
-
cloud/vendor: aws
|
|
20
|
-
cloud/instance-type: m5n.large
|
|
11
|
+
child:
|
|
21
12
|
pipeline:
|
|
22
|
-
-
|
|
23
|
-
|
|
13
|
+
- cloud-metadata
|
|
14
|
+
config:
|
|
24
15
|
inputs:
|
|
25
|
-
- timestamp: 2023-07-06T00:00
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
cpu/utilization: 80
|
|
31
|
-
outputs:
|
|
32
|
-
- timestamp: 2023-07-06T00:00
|
|
33
|
-
duration: 10
|
|
34
|
-
cpu/utilization: 80
|
|
35
|
-
cpu/thermal-design-power: 100
|
|
36
|
-
cpu/energy: 0.00025568089430894314
|
|
37
|
-
- timestamp: 2023-07-06T00:01
|
|
38
|
-
duration: 10
|
|
39
|
-
cpu/utilization: 80
|
|
40
|
-
cpu/thermal-design-power: 100
|
|
41
|
-
cpu/energy: 0.00025568089430894314
|
|
16
|
+
- timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred
|
|
17
|
+
cloud/vendor: aws
|
|
18
|
+
cloud/instance-type: m5n.large
|
|
19
|
+
duration: 100
|
|
20
|
+
cpu/utilization: 10
|
|
@@ -4,7 +4,7 @@ tags:
|
|
|
4
4
|
initialize:
|
|
5
5
|
plugins:
|
|
6
6
|
teads-curve:
|
|
7
|
-
path:
|
|
7
|
+
path: "@grnsft/if-unofficial-plugins"
|
|
8
8
|
method: TeadsCurve
|
|
9
9
|
global-config:
|
|
10
10
|
interpolation: spline
|
|
@@ -12,10 +12,10 @@ initialize:
|
|
|
12
12
|
path: "@grnsft/if-plugins"
|
|
13
13
|
method: Sum
|
|
14
14
|
global-config:
|
|
15
|
-
input-parameters:
|
|
15
|
+
input-parameters:
|
|
16
16
|
- cpu/energy
|
|
17
17
|
- network/energy
|
|
18
|
-
output-parameter: energy-sum
|
|
18
|
+
output-parameter: energy-sum
|
|
19
19
|
"coefficient":
|
|
20
20
|
path: "@grnsft/if-plugins"
|
|
21
21
|
method: Coefficient
|
|
@@ -24,11 +24,11 @@ initialize:
|
|
|
24
24
|
coefficient: 2
|
|
25
25
|
output-parameter: energy-doubled
|
|
26
26
|
"multiply":
|
|
27
|
-
path:
|
|
27
|
+
path: "@grnsft/if-plugins"
|
|
28
28
|
method: Multiply
|
|
29
29
|
global-config:
|
|
30
|
-
input-parameters: [
|
|
31
|
-
output-parameter:
|
|
30
|
+
input-parameters: ["cpu/utilization", "duration"]
|
|
31
|
+
output-parameter: "cpu-times-duration"
|
|
32
32
|
tree:
|
|
33
33
|
children:
|
|
34
34
|
child-1:
|
|
@@ -42,8 +42,8 @@ tree:
|
|
|
42
42
|
cpu/thermal-design-power: 100
|
|
43
43
|
inputs:
|
|
44
44
|
- timestamp: "2023-12-12T00:00:00.000Z"
|
|
45
|
-
cloud/instance-type: A1
|
|
46
|
-
region: uk-west
|
|
45
|
+
cloud/instance-type: A1
|
|
46
|
+
cloud/region: uk-west
|
|
47
47
|
duration: 1
|
|
48
48
|
cpu/utilization: 50
|
|
49
49
|
network/energy: 10
|
|
@@ -51,21 +51,21 @@ tree:
|
|
|
51
51
|
- timestamp: "2023-12-12T00:00:01.000Z"
|
|
52
52
|
duration: 5
|
|
53
53
|
cpu/utilization: 20
|
|
54
|
-
cloud/instance-type: A1
|
|
55
|
-
region: uk-west
|
|
54
|
+
cloud/instance-type: A1
|
|
55
|
+
cloud/region: uk-west
|
|
56
56
|
network/energy: 10
|
|
57
57
|
energy: 5
|
|
58
58
|
- timestamp: "2023-12-12T00:00:06.000Z"
|
|
59
59
|
duration: 7
|
|
60
60
|
cpu/utilization: 15
|
|
61
|
-
cloud/instance-type: A1
|
|
62
|
-
region: uk-west
|
|
61
|
+
cloud/instance-type: A1
|
|
62
|
+
cloud/region: uk-west
|
|
63
63
|
network/energy: 10
|
|
64
64
|
energy: 5
|
|
65
65
|
- timestamp: "2023-12-12T00:00:13.000Z"
|
|
66
66
|
duration: 30
|
|
67
|
-
cloud/instance-type: A1
|
|
68
|
-
region: uk-west
|
|
67
|
+
cloud/instance-type: A1
|
|
68
|
+
cloud/region: uk-west
|
|
69
69
|
cpu/utilization: 15
|
|
70
70
|
network/energy: 10
|
|
71
71
|
energy: 5
|
|
@@ -2,47 +2,47 @@ name: groupby-demo
|
|
|
2
2
|
description: demo pipeline
|
|
3
3
|
initialize:
|
|
4
4
|
plugins:
|
|
5
|
-
group-by:
|
|
6
|
-
path:
|
|
5
|
+
group-by:
|
|
6
|
+
path: "builtin"
|
|
7
7
|
method: GroupBy
|
|
8
8
|
tree:
|
|
9
9
|
children:
|
|
10
10
|
my-app:
|
|
11
|
-
pipeline:
|
|
11
|
+
pipeline:
|
|
12
12
|
- group-by
|
|
13
13
|
config:
|
|
14
14
|
group-by:
|
|
15
15
|
group:
|
|
16
|
-
- region
|
|
16
|
+
- cloud/region
|
|
17
17
|
- cloud/instance-type
|
|
18
18
|
inputs:
|
|
19
19
|
- timestamp: 2023-07-06T00:00
|
|
20
|
-
duration: 300
|
|
21
|
-
cloud/instance-type: A1
|
|
22
|
-
region: uk-west
|
|
20
|
+
duration: 300
|
|
21
|
+
cloud/instance-type: A1
|
|
22
|
+
cloud/region: uk-west
|
|
23
23
|
cpu/utilization: 99
|
|
24
|
-
- timestamp: 2023-07-06T05:00
|
|
25
|
-
duration: 300
|
|
26
|
-
cloud/instance-type: A1
|
|
27
|
-
region: uk-west
|
|
28
|
-
cpu/utilization: 23
|
|
24
|
+
- timestamp: 2023-07-06T05:00
|
|
25
|
+
duration: 300
|
|
26
|
+
cloud/instance-type: A1
|
|
27
|
+
cloud/region: uk-west
|
|
28
|
+
cpu/utilization: 23
|
|
29
29
|
- timestamp: 2023-07-06T10:00
|
|
30
30
|
duration: 300
|
|
31
|
-
cloud/instance-type: A1
|
|
32
|
-
region: uk-west
|
|
31
|
+
cloud/instance-type: A1
|
|
32
|
+
cloud/region: uk-west
|
|
33
33
|
cpu/utilization: 12
|
|
34
34
|
- timestamp: 2023-07-06T00:00 # note this time restarts at the start timstamp
|
|
35
|
-
duration: 300
|
|
35
|
+
duration: 300
|
|
36
36
|
cloud/instance-type: B1
|
|
37
|
-
region: uk-west
|
|
37
|
+
cloud/region: uk-west
|
|
38
38
|
cpu/utilization: 11
|
|
39
|
-
- timestamp: 2023-07-06T05:00
|
|
40
|
-
duration: 300
|
|
39
|
+
- timestamp: 2023-07-06T05:00
|
|
40
|
+
duration: 300
|
|
41
41
|
cloud/instance-type: B1
|
|
42
|
-
region: uk-west
|
|
42
|
+
cloud/region: uk-west
|
|
43
43
|
cpu/utilization: 67
|
|
44
44
|
- timestamp: 2023-07-06T10:00
|
|
45
|
-
duration: 300
|
|
45
|
+
duration: 300
|
|
46
46
|
cloud/instance-type: B1
|
|
47
|
-
region: uk-west
|
|
47
|
+
cloud/region: uk-west
|
|
48
48
|
cpu/utilization: 1
|