@grnsft/if 0.2.1 → 0.3.1
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/.commitlintrc.js +4 -7
- package/README.md +5 -1
- package/Refactor-migration-guide.md +342 -0
- package/build/{models/export-csv.d.ts → builtins/export-csv-raw.d.ts} +1 -1
- package/build/builtins/export-csv-raw.js +129 -0
- package/build/builtins/export-csv.d.ts +10 -0
- package/build/builtins/export-csv.js +86 -0
- package/build/builtins/export-log.js +18 -0
- package/build/builtins/export-yaml.js +27 -0
- package/build/builtins/group-by.d.ts +5 -0
- package/build/builtins/group-by.js +56 -0
- package/build/{models → builtins}/index.js +1 -1
- package/build/{models → builtins}/time-sync.d.ts +2 -2
- package/build/builtins/time-sync.js +304 -0
- package/build/config/config.js +2 -2
- package/build/config/params.js +56 -1
- package/build/config/strings.d.ts +4 -2
- package/build/config/strings.js +7 -9
- package/build/index.js +3 -1
- package/build/lib/aggregate.d.ts +1 -1
- package/build/lib/aggregate.js +4 -3
- package/build/lib/compute.js +9 -10
- package/build/lib/exhaust.js +8 -5
- package/build/lib/initialize.d.ts +2 -2
- package/build/lib/initialize.js +9 -5
- package/build/lib/load.d.ts +33 -2
- package/build/lib/load.js +4 -4
- package/build/lib/parameterize.d.ts +1 -1
- package/build/lib/parameterize.js +6 -4
- package/build/types/aggregation.d.ts +0 -1
- package/build/types/aggregation.js +1 -1
- package/build/types/compute.d.ts +3 -3
- package/build/types/compute.js +1 -1
- package/build/types/interface.d.ts +14 -1
- package/build/types/interface.js +6 -1
- package/build/types/manifest.d.ts +9 -40
- package/build/types/manifest.js +1 -1
- package/build/types/parameters.d.ts +2 -12
- package/build/types/parameters.js +1 -1
- package/build/types/plugin-storage.d.ts +6 -0
- package/build/types/plugin-storage.js +3 -0
- package/build/util/aggregation-helper.d.ts +1 -1
- package/build/util/aggregation-helper.js +11 -12
- package/build/util/errors.d.ts +1 -1
- package/build/util/errors.js +2 -2
- package/build/util/json.js +25 -5
- package/build/util/log-memoize.d.ts +3 -0
- package/build/util/log-memoize.js +19 -0
- package/build/util/logger.d.ts +1 -1
- package/build/util/logger.js +2 -3
- package/build/util/plugin-storage.d.ts +14 -0
- package/build/util/plugin-storage.js +34 -0
- package/build/util/validations.d.ts +144 -11
- package/build/util/validations.js +19 -17
- package/examples/manifests/asim-demo.yml +74 -0
- package/examples/manifests/basic-demo.yml +4 -9
- package/examples/manifests/boavizta-cloud.yml +20 -0
- package/examples/manifests/cim.yml +3 -3
- package/examples/manifests/divide.yml +38 -0
- package/examples/manifests/generics.yml +4 -4
- package/examples/manifests/group-by.yml +13 -13
- package/examples/manifests/mock-observation.yml +2 -2
- package/examples/manifests/nesting-demo.yml +2 -2
- package/examples/manifests/nesting.yml +16 -16
- package/examples/manifests/pipeline-demo-1.yml +4 -4
- package/examples/manifests/pipeline-demo-2.yml +9 -9
- package/examples/manifests/pipeline-demo.yml +10 -10
- package/examples/manifests/pipeline-teads-sci.yml +4 -4
- package/examples/manifests/pipeline-with-generics.yml +8 -8
- package/examples/manifests/pipeline-with-mocks.yml +10 -10
- package/examples/manifests/regex.yml +23 -0
- package/package.json +6 -3
- package/src/builtins/README.md +852 -0
- package/build/models/export-csv.js +0 -129
- package/build/models/export-log.js +0 -18
- package/build/models/export-yaml.js +0 -24
- package/build/models/group-by.d.ts +0 -11
- package/build/models/group-by.js +0 -56
- package/build/models/time-sync.js +0 -304
- package/build/types/initialize.d.ts +0 -4
- package/build/types/initialize.js +0 -3
- package/build/types/load.d.ts +0 -7
- package/build/types/load.js +0 -3
- package/src/models/README.md +0 -268
- /package/build/{models → builtins}/export-log.d.ts +0 -0
- /package/build/{models → builtins}/export-yaml.d.ts +0 -0
- /package/build/{models → builtins}/index.d.ts +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validate = exports.validateManifest = void 0;
|
|
3
|
+
exports.validate = exports.validateManifest = exports.manifestSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const errors_1 = require("./errors");
|
|
6
6
|
const aggregation_1 = require("../types/aggregation");
|
|
@@ -9,16 +9,24 @@ const { ManifestValidationError, InputValidationError } = errors_1.ERRORS;
|
|
|
9
9
|
/**
|
|
10
10
|
* Validation schema for manifests.
|
|
11
11
|
*/
|
|
12
|
-
|
|
12
|
+
exports.manifestSchema = zod_1.z.object({
|
|
13
13
|
name: zod_1.z.string(),
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
description: zod_1.z.string().optional().nullable(),
|
|
15
|
+
tags: zod_1.z
|
|
16
|
+
.object({
|
|
17
|
+
kind: zod_1.z.string().optional().nullable(),
|
|
18
|
+
complexity: zod_1.z.string().optional().nullable(),
|
|
19
|
+
category: zod_1.z.string().optional().nullable(),
|
|
20
|
+
})
|
|
21
|
+
.optional()
|
|
22
|
+
.nullable(),
|
|
16
23
|
aggregation: zod_1.z
|
|
17
24
|
.object({
|
|
18
25
|
metrics: zod_1.z.array(zod_1.z.string()),
|
|
19
26
|
type: zod_1.z.enum(aggregation_1.AGGREGATION_METHODS),
|
|
20
27
|
})
|
|
21
|
-
.optional()
|
|
28
|
+
.optional()
|
|
29
|
+
.nullable(),
|
|
22
30
|
params: zod_1.z
|
|
23
31
|
.array(zod_1.z.object({
|
|
24
32
|
name: zod_1.z.string(),
|
|
@@ -28,14 +36,6 @@ const manifestValidation = zod_1.z.object({
|
|
|
28
36
|
}))
|
|
29
37
|
.optional()
|
|
30
38
|
.nullable(),
|
|
31
|
-
tags: zod_1.z
|
|
32
|
-
.object({
|
|
33
|
-
kind: zod_1.z.string().optional(),
|
|
34
|
-
complexity: zod_1.z.string().optional(),
|
|
35
|
-
category: zod_1.z.string().optional(),
|
|
36
|
-
})
|
|
37
|
-
.nullable()
|
|
38
|
-
.default({}),
|
|
39
39
|
initialize: zod_1.z.object({
|
|
40
40
|
plugins: zod_1.z.record(zod_1.z.string(), zod_1.z.object({
|
|
41
41
|
path: zod_1.z.string(),
|
|
@@ -45,13 +45,12 @@ const manifestValidation = zod_1.z.object({
|
|
|
45
45
|
outputs: zod_1.z.array(zod_1.z.string()).optional(),
|
|
46
46
|
}),
|
|
47
47
|
tree: zod_1.z.record(zod_1.z.string(), zod_1.z.any()),
|
|
48
|
+
'if-version': zod_1.z.string().optional().nullable(),
|
|
48
49
|
});
|
|
49
50
|
/**
|
|
50
51
|
* Validates given `manifest` object to match pattern.
|
|
51
52
|
*/
|
|
52
|
-
const validateManifest = (manifest) =>
|
|
53
|
-
return (0, exports.validate)(manifestValidation, manifest, ManifestValidationError);
|
|
54
|
-
};
|
|
53
|
+
const validateManifest = (manifest) => (0, exports.validate)(exports.manifestSchema, manifest, ManifestValidationError);
|
|
55
54
|
exports.validateManifest = validateManifest;
|
|
56
55
|
/**
|
|
57
56
|
* Validates given `object` with given `schema`.
|
|
@@ -64,6 +63,9 @@ const validate = (schema, object, errorConstructor = InputValidationError) => {
|
|
|
64
63
|
return validationResult.data;
|
|
65
64
|
};
|
|
66
65
|
exports.validate = validate;
|
|
66
|
+
/**
|
|
67
|
+
* Beautify error message from zod issue.
|
|
68
|
+
*/
|
|
67
69
|
const prettifyErrorMessage = (issues) => {
|
|
68
70
|
const issuesArray = JSON.parse(issues);
|
|
69
71
|
return issuesArray.map((issue) => {
|
|
@@ -76,4 +78,4 @@ const prettifyErrorMessage = (issues) => {
|
|
|
76
78
|
return `"${fullPath}" parameter is ${message.toLowerCase()}. Error code: ${code}.`;
|
|
77
79
|
});
|
|
78
80
|
};
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC92YWxpZGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBMkM7QUFFM0MscUNBQWdDO0FBRWhDLHNEQUF5RDtBQUN6RCxvREFBc0Q7QUFFdEQsTUFBTSxFQUFDLHVCQUF1QixFQUFFLG9CQUFvQixFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9EOztHQUVHO0FBQ1UsUUFBQSxjQUFjLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNyQyxJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QyxJQUFJLEVBQUUsT0FBQztTQUNKLE1BQU0sQ0FBQztRQUNOLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQ3RDLFVBQVUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQzVDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0tBQzNDLENBQUM7U0FDRCxRQUFRLEVBQUU7U0FDVixRQUFRLEVBQUU7SUFDYixXQUFXLEVBQUUsT0FBQztTQUNYLE1BQU0sQ0FBQztRQUNOLE9BQU8sRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1QixJQUFJLEVBQUUsT0FBQyxDQUFDLElBQUksQ0FBQyxpQ0FBbUIsQ0FBQztLQUNsQyxDQUFDO1NBQ0QsUUFBUSxFQUFFO1NBQ1YsUUFBUSxFQUFFO0lBQ2IsTUFBTSxFQUFFLE9BQUM7U0FDTixLQUFLLENBQ0osT0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNQ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QUksR0FBRyxDQUFDO0lBQ3JGLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtab2RJc3N1ZSwgWm9kU2NoZW1hLCB6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi9lcnJvcnMnO1xuXG5pbXBvcnQge0FHR1JFR0FUSU9OX01FVEhPRFN9IGZyb20gJy4uL3R5cGVzL2FnZ3JlZ2F0aW9uJztcbmltcG9ydCB7QUdHUkVHQVRJT05fVFlQRVN9IGZyb20gJy4uL3R5cGVzL3BhcmFtZXRlcnMnO1xuXG5jb25zdCB7TWFuaWZlc3RWYWxpZGF0aW9uRXJyb3IsIElucHV0VmFsaWRhdGlvbkVycm9yfSA9IEVSUk9SUztcblxuLyoqXG4gKiBWYWxpZGF0aW9uIHNjaGVtYSBmb3IgbWFuaWZlc3RzLlxuICovXG5leHBvcnQgY29uc3QgbWFuaWZlc3RTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIG5hbWU6IHouc3RyaW5nKCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCkubnVsbGFibGUoKSxcbiAgdGFnczogelxuICAgIC5vYmplY3Qoe1xuICAgICAga2luZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLm51bGxhYmxlKCksXG4gICAgICBjb21wbGV4aXR5OiB6LnN0cmluZygpLm9wdGlvbmFsKCkubnVsbGFibGUoKSxcbiAgICAgIGNhdGVnb3J5OiB6LnN0cmluZygpLm9wdGlvbmFsKCkubnVsbGFibGUoKSxcbiAgICB9KVxuICAgIC5vcHRpb25hbCgpXG4gICAgLm51bGxhYmxlKCksXG4gIGFnZ3JlZ2F0aW9uOiB6XG4gICAgLm9iamVjdCh7XG4gICAgICBtZXRyaWNzOiB6LmFycmF5KHouc3RyaW5nKCkpLFxuICAgICAgdHlwZTogei5lbnVtKEFHR1JFR0FUSU9OX01FVEhPRFMpLFxuICAgIH0pXG4gICAgLm9wdGlvbmFsKClcbiAgICAubnVsbGFibGUoKSxcbiAgcGFyYW1zOiB6XG4gICAgLmFycmF5KFxuICAgICAgei5vYmplY3Qoe1xuICAgICAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgICAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKSxcbiAgICAgICAgYWdncmVnYXRpb246IHouZW51bShBR0dSRUdBVElPTl9UWVBFUyksXG4gICAgICAgIHVuaXQ6IHouc3RyaW5nKCksXG4gICAgICB9KVxuICAgIClcbiAgICAub3B0aW9uYWwoKVxuICAgIC5udWxsYWJsZSgpLFxuICBpbml0aWFsaXplOiB6Lm9iamVjdCh7XG4gICAgcGx1Z2luczogei5yZWNvcmQoXG4gICAgICB6LnN0cmluZygpLFxuICAgICAgei5vYmplY3Qoe1xuICAgICAgICBwYXRoOiB6LnN0cmluZygpLFxuICAgICAgICBtZXRob2Q6IHouc3RyaW5nKCksXG4gICAgICAgICdnbG9iYWwtY29uZmlnJzogei5yZWNvcmQoei5zdHJpbmcoKSwgei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgICAgIH0pXG4gICAgKSxcbiAgICBvdXRwdXRzOiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG4gIH0pLFxuICB0cmVlOiB6LnJlY29yZCh6LnN0cmluZygpLCB6LmFueSgpKSxcbiAgJ2lmLXZlcnNpb24nOiB6LnN0cmluZygpLm9wdGlvbmFsKCkubnVsbGFibGUoKSxcbn0pO1xuXG4vKipcbiAqIFZhbGlkYXRlcyBnaXZlbiBgbWFuaWZlc3RgIG9iamVjdCB0byBtYXRjaCBwYXR0ZXJuLlxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVNYW5pZmVzdCA9IChtYW5pZmVzdDogYW55KSA9PlxuICB2YWxpZGF0ZShtYW5pZmVzdFNjaGVtYSwgbWFuaWZlc3QsIE1hbmlmZXN0VmFsaWRhdGlvbkVycm9yKTtcblxuLyoqXG4gKiBWYWxpZGF0ZXMgZ2l2ZW4gYG9iamVjdGAgd2l0aCBnaXZlbiBgc2NoZW1hYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlID0gPFQ+KFxuICBzY2hlbWE6IFpvZFNjaGVtYTxUPixcbiAgb2JqZWN0OiBhbnksXG4gIGVycm9yQ29uc3RydWN0b3I6IEVycm9yQ29uc3RydWN0b3IgPSBJbnB1dFZhbGlkYXRpb25FcnJvclxuKSA9PiB7XG4gIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBzY2hlbWEuc2FmZVBhcnNlKG9iamVjdCk7XG5cbiAgaWYgKCF2YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICB0aHJvdyBuZXcgZXJyb3JDb25zdHJ1Y3RvcihcbiAgICAgIHByZXR0aWZ5RXJyb3JNZXNzYWdlKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZSlcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHZhbGlkYXRpb25SZXN1bHQuZGF0YTtcbn07XG5cbi8qKlxuICogQmVhdXRpZnkgZXJyb3IgbWVzc2FnZSBmcm9tIHpvZCBpc3N1ZS5cbiAqL1xuY29uc3QgcHJldHRpZnlFcnJvck1lc3NhZ2UgPSAoaXNzdWVzOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgaXNzdWVzQXJyYXkgPSBKU09OLnBhcnNlKGlzc3Vlcyk7XG5cbiAgcmV0dXJuIGlzc3Vlc0FycmF5Lm1hcCgoaXNzdWU6IFpvZElzc3VlKSA9PiB7XG4gICAgY29uc3Qge2NvZGUsIHBhdGgsIG1lc3NhZ2V9ID0gaXNzdWU7XG4gICAgY29uc3QgZmxhdHRlblBhdGggPSBwYXRoLm1hcChwYXJ0ID0+XG4gICAgICB0eXBlb2YgcGFydCA9PT0gJ251bWJlcicgPyBgWyR7cGFydH1dYCA6IHBhcnRcbiAgICApO1xuICAgIGNvbnN0IGZ1bGxQYXRoID0gZmxhdHRlblBhdGguam9pbignLicpO1xuXG4gICAgaWYgKGNvZGUgPT09ICdjdXN0b20nKSB7XG4gICAgICByZXR1cm4gYCR7bWVzc2FnZS50b0xvd2VyQ2FzZSgpfS4gRXJyb3IgY29kZTogJHtjb2RlfS5gO1xuICAgIH1cblxuICAgIHJldHVybiBgXCIke2Z1bGxQYXRofVwiIHBhcmFtZXRlciBpcyAke21lc3NhZ2UudG9Mb3dlckNhc2UoKX0uIEVycm9yIGNvZGU6ICR7Y29kZX0uYDtcbiAgfSk7XG59O1xuIl19
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
name: My Manifest File
|
|
2
|
+
description: My First Manifest File 💚
|
|
3
|
+
# aggregation:
|
|
4
|
+
# metrics:
|
|
5
|
+
# - 'carbon'
|
|
6
|
+
# type: 'both'
|
|
7
|
+
initialize:
|
|
8
|
+
outputs: ['yaml', 'csv']
|
|
9
|
+
plugins:
|
|
10
|
+
group-by:
|
|
11
|
+
path: 'builtin'
|
|
12
|
+
method: GroupBy
|
|
13
|
+
operational-carbon:
|
|
14
|
+
path: '@grnsft/if-plugins'
|
|
15
|
+
method: Multiply
|
|
16
|
+
global-config:
|
|
17
|
+
input-parameters: ['cpu/energy', 'grid/carbon-intensity']
|
|
18
|
+
output-parameter: 'carbon'
|
|
19
|
+
watttime:
|
|
20
|
+
path: '@grnsft/if-unofficial-plugins'
|
|
21
|
+
method: WattTimeGridEmissions
|
|
22
|
+
teads-curve:
|
|
23
|
+
path: '@grnsft/if-unofficial-plugins'
|
|
24
|
+
method: TeadsCurve
|
|
25
|
+
global-config:
|
|
26
|
+
interpolation: spline
|
|
27
|
+
cloud-metadata:
|
|
28
|
+
method: CloudMetadata
|
|
29
|
+
path: "@grnsft/if-plugins"
|
|
30
|
+
mock-observations:
|
|
31
|
+
path: '@grnsft/if-plugins'
|
|
32
|
+
method: MockObservations
|
|
33
|
+
global-config:
|
|
34
|
+
timestamp-from: '2024-03-05T00:00:00.000Z'
|
|
35
|
+
timestamp-to: '2024-03-05T00:01:00.000Z'
|
|
36
|
+
duration: 10
|
|
37
|
+
components:
|
|
38
|
+
- name: server-1
|
|
39
|
+
cloud/instance-type: Standard_E64_v3
|
|
40
|
+
cloud/region: westus3
|
|
41
|
+
- name: server-2
|
|
42
|
+
cloud/instance-type: Standard_E64_v3
|
|
43
|
+
cloud/region: westus3
|
|
44
|
+
generators:
|
|
45
|
+
common:
|
|
46
|
+
cloud/vendor: azure
|
|
47
|
+
randint:
|
|
48
|
+
cpu/utilization:
|
|
49
|
+
min: 1
|
|
50
|
+
max: 99
|
|
51
|
+
'time-sync':
|
|
52
|
+
method: TimeSync
|
|
53
|
+
path: "builtin"
|
|
54
|
+
global-config:
|
|
55
|
+
start-time: '2024-03-05T00:00:00.000Z'
|
|
56
|
+
end-time: '2024-03-05T00:01:00.000Z'
|
|
57
|
+
interval: 5
|
|
58
|
+
allow-padding: true
|
|
59
|
+
tree:
|
|
60
|
+
pipeline:
|
|
61
|
+
- mock-observations
|
|
62
|
+
- group-by
|
|
63
|
+
- time-sync
|
|
64
|
+
- cloud-metadata
|
|
65
|
+
- watttime
|
|
66
|
+
- teads-curve
|
|
67
|
+
- operational-carbon
|
|
68
|
+
defaults:
|
|
69
|
+
config:
|
|
70
|
+
group-by:
|
|
71
|
+
group:
|
|
72
|
+
- cloud/region
|
|
73
|
+
- name
|
|
74
|
+
inputs: null
|
|
@@ -31,7 +31,7 @@ initialize:
|
|
|
31
31
|
path: "builtin"
|
|
32
32
|
method: GroupBy
|
|
33
33
|
cloud-metadata:
|
|
34
|
-
method:
|
|
34
|
+
method: CloudMetadata
|
|
35
35
|
path: "@grnsft/if-plugins"
|
|
36
36
|
operational-carbon:
|
|
37
37
|
path: "@grnsft/if-plugins"
|
|
@@ -42,11 +42,6 @@ initialize:
|
|
|
42
42
|
watttime:
|
|
43
43
|
path: "@grnsft/if-unofficial-plugins"
|
|
44
44
|
method: WattTimeGridEmissions
|
|
45
|
-
global-config:
|
|
46
|
-
# username: ENV_WATT_TIME_USERNAME
|
|
47
|
-
# password: ENV_WATT_TIME_PASSWORD
|
|
48
|
-
username: manushak
|
|
49
|
-
password: "@watt-time17"
|
|
50
45
|
tree:
|
|
51
46
|
children:
|
|
52
47
|
application:
|
|
@@ -59,7 +54,7 @@ tree:
|
|
|
59
54
|
- operational-carbon
|
|
60
55
|
defaults:
|
|
61
56
|
grid/carbon-intensity: 250
|
|
62
|
-
geolocation:
|
|
57
|
+
geolocation: 48.8567,2.3522
|
|
63
58
|
# config:
|
|
64
59
|
# group-by:
|
|
65
60
|
# group:
|
|
@@ -70,6 +65,6 @@ tree:
|
|
|
70
65
|
duration: 60
|
|
71
66
|
cloud/instance-type: Standard_A1_v2
|
|
72
67
|
cloud/vendor: azure
|
|
73
|
-
cloud/region:
|
|
74
|
-
geolocation:
|
|
68
|
+
cloud/region: francesouth
|
|
69
|
+
geolocation: 48.8567,2.3522
|
|
75
70
|
cpu/utilization: 15
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
name: boavizta cloud demo
|
|
2
|
+
description: calls boavizta api
|
|
3
|
+
tags:
|
|
4
|
+
initialize:
|
|
5
|
+
plugins:
|
|
6
|
+
"boavizta-cloud":
|
|
7
|
+
method: BoaviztaCloudOutput
|
|
8
|
+
path: "@grnsft/if-unofficial-plugins"
|
|
9
|
+
tree:
|
|
10
|
+
children:
|
|
11
|
+
child:
|
|
12
|
+
pipeline:
|
|
13
|
+
- boavizta-cloud
|
|
14
|
+
defaults:
|
|
15
|
+
instance-type: r6g.medium
|
|
16
|
+
provider: aws
|
|
17
|
+
inputs:
|
|
18
|
+
- timestamp: "2021-01-01T00:00:00Z"
|
|
19
|
+
duration: 15 # Secs
|
|
20
|
+
cpu/utilization: 34
|
|
@@ -3,14 +3,14 @@ description: example impl invoking Cloud Instance Metadata plugin
|
|
|
3
3
|
tags:
|
|
4
4
|
initialize:
|
|
5
5
|
plugins:
|
|
6
|
-
cloud-
|
|
7
|
-
method:
|
|
6
|
+
cloud-metadata:
|
|
7
|
+
method: CloudMetadata
|
|
8
8
|
path: "@grnsft/if-plugins"
|
|
9
9
|
tree:
|
|
10
10
|
children:
|
|
11
11
|
child:
|
|
12
12
|
pipeline:
|
|
13
|
-
- cloud-
|
|
13
|
+
- cloud-metadata
|
|
14
14
|
config:
|
|
15
15
|
inputs:
|
|
16
16
|
- timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
name: divide-demo
|
|
2
|
+
description:
|
|
3
|
+
tags:
|
|
4
|
+
initialize:
|
|
5
|
+
plugins:
|
|
6
|
+
cloud-metadata:
|
|
7
|
+
method: CloudMetadata
|
|
8
|
+
path: "@grnsft/if-plugins"
|
|
9
|
+
divide:
|
|
10
|
+
method: Divide
|
|
11
|
+
path: "@grnsft/if-plugins"
|
|
12
|
+
global-config:
|
|
13
|
+
numerator: vcpus-allocated
|
|
14
|
+
denominator: 2
|
|
15
|
+
output: cpu/number-cores
|
|
16
|
+
boavizta-cpu:
|
|
17
|
+
method: BoaviztaCpuOutput
|
|
18
|
+
path: "@grnsft/if-unofficial-plugins"
|
|
19
|
+
global-config:
|
|
20
|
+
allocation: LINEAR
|
|
21
|
+
verbose: true
|
|
22
|
+
tree:
|
|
23
|
+
children:
|
|
24
|
+
child:
|
|
25
|
+
pipeline:
|
|
26
|
+
- cloud-metadata
|
|
27
|
+
- divide
|
|
28
|
+
- boavizta-cpu
|
|
29
|
+
config:
|
|
30
|
+
divide:
|
|
31
|
+
defaults:
|
|
32
|
+
cloud/vendor: aws
|
|
33
|
+
cloud/instance-type: m5n.large
|
|
34
|
+
cpu/name: Intel® Core™ i7-1185G7
|
|
35
|
+
inputs:
|
|
36
|
+
- timestamp: 2023-08-06T00:00
|
|
37
|
+
duration: 3600
|
|
38
|
+
cpu/utilization: 80
|
|
@@ -42,7 +42,7 @@ tree:
|
|
|
42
42
|
cpu/thermal-design-power: 100
|
|
43
43
|
inputs:
|
|
44
44
|
- timestamp: "2023-12-12T00:00:00.000Z"
|
|
45
|
-
instance-type: A1
|
|
45
|
+
cloud/instance-type: A1
|
|
46
46
|
region: uk-west
|
|
47
47
|
duration: 1
|
|
48
48
|
cpu/utilization: 50
|
|
@@ -51,20 +51,20 @@ tree:
|
|
|
51
51
|
- timestamp: "2023-12-12T00:00:01.000Z"
|
|
52
52
|
duration: 5
|
|
53
53
|
cpu/utilization: 20
|
|
54
|
-
instance-type: A1
|
|
54
|
+
cloud/instance-type: A1
|
|
55
55
|
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
|
-
instance-type: A1
|
|
61
|
+
cloud/instance-type: A1
|
|
62
62
|
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
|
-
instance-type: A1
|
|
67
|
+
cloud/instance-type: A1
|
|
68
68
|
region: uk-west
|
|
69
69
|
cpu/utilization: 15
|
|
70
70
|
network/energy: 10
|
|
@@ -14,35 +14,35 @@ tree:
|
|
|
14
14
|
group-by:
|
|
15
15
|
group:
|
|
16
16
|
- region
|
|
17
|
-
- instance-type
|
|
17
|
+
- cloud/instance-type
|
|
18
18
|
inputs:
|
|
19
19
|
- timestamp: 2023-07-06T00:00
|
|
20
20
|
duration: 300
|
|
21
|
-
instance-type: A1
|
|
21
|
+
cloud/instance-type: A1
|
|
22
22
|
region: uk-west
|
|
23
|
-
cpu
|
|
23
|
+
cpu/utilization: 99
|
|
24
24
|
- timestamp: 2023-07-06T05:00
|
|
25
25
|
duration: 300
|
|
26
|
-
instance-type: A1
|
|
26
|
+
cloud/instance-type: A1
|
|
27
27
|
region: uk-west
|
|
28
|
-
cpu
|
|
28
|
+
cpu/utilization: 23
|
|
29
29
|
- timestamp: 2023-07-06T10:00
|
|
30
30
|
duration: 300
|
|
31
|
-
instance-type: A1
|
|
31
|
+
cloud/instance-type: A1
|
|
32
32
|
region: uk-west
|
|
33
|
-
cpu
|
|
33
|
+
cpu/utilization: 12
|
|
34
34
|
- timestamp: 2023-07-06T00:00 # note this time restarts at the start timstamp
|
|
35
35
|
duration: 300
|
|
36
|
-
instance-type: B1
|
|
36
|
+
cloud/instance-type: B1
|
|
37
37
|
region: uk-west
|
|
38
|
-
cpu
|
|
38
|
+
cpu/utilization: 11
|
|
39
39
|
- timestamp: 2023-07-06T05:00
|
|
40
40
|
duration: 300
|
|
41
|
-
instance-type: B1
|
|
41
|
+
cloud/instance-type: B1
|
|
42
42
|
region: uk-west
|
|
43
|
-
cpu
|
|
43
|
+
cpu/utilization: 67
|
|
44
44
|
- timestamp: 2023-07-06T10:00
|
|
45
45
|
duration: 300
|
|
46
|
-
instance-type: B1
|
|
46
|
+
cloud/instance-type: B1
|
|
47
47
|
region: uk-west
|
|
48
|
-
cpu
|
|
48
|
+
cpu/utilization: 1
|
|
@@ -59,7 +59,7 @@ tree:
|
|
|
59
59
|
- time-sync
|
|
60
60
|
- sci
|
|
61
61
|
inputs:
|
|
62
|
-
- timestamp: 2023-12-12T00:00
|
|
62
|
+
- timestamp: "2023-12-12T00:00:00.000Z"
|
|
63
63
|
duration: 10
|
|
64
64
|
cpu/utilization: 50
|
|
65
65
|
network/energy: 1
|
|
@@ -82,7 +82,7 @@ tree:
|
|
|
82
82
|
- time-sync
|
|
83
83
|
- sci
|
|
84
84
|
inputs:
|
|
85
|
-
- timestamp: 2023-12-12T00:00
|
|
85
|
+
- timestamp: "2023-12-12T00:00:00.000Z"
|
|
86
86
|
duration: 10
|
|
87
87
|
cpu/utilization: 30
|
|
88
88
|
network/energy: 1
|
|
@@ -65,7 +65,7 @@ tree:
|
|
|
65
65
|
- sci
|
|
66
66
|
inputs:
|
|
67
67
|
- timestamp: "2023-12-12T00:00:00.000Z"
|
|
68
|
-
instance-type: A1
|
|
68
|
+
cloud/instance-type: A1
|
|
69
69
|
region: uk-west
|
|
70
70
|
duration: 1
|
|
71
71
|
cpu/utilization: 50
|
|
@@ -73,18 +73,18 @@ tree:
|
|
|
73
73
|
- timestamp: "2023-12-12T00:00:01.000Z"
|
|
74
74
|
duration: 5
|
|
75
75
|
cpu/utilization: 20
|
|
76
|
-
instance-type: A1
|
|
76
|
+
cloud/instance-type: A1
|
|
77
77
|
region: uk-west
|
|
78
78
|
network/energy: 0.000001
|
|
79
79
|
- timestamp: "2023-12-12T00:00:06.000Z"
|
|
80
80
|
duration: 7
|
|
81
81
|
cpu/utilization: 15
|
|
82
|
-
instance-type: A1
|
|
82
|
+
cloud/instance-type: A1
|
|
83
83
|
region: uk-west
|
|
84
84
|
network/energy: 0.000001
|
|
85
85
|
- timestamp: "2023-12-12T00:00:13.000Z"
|
|
86
86
|
duration: 30
|
|
87
|
-
instance-type: A1
|
|
87
|
+
cloud/instance-type: A1
|
|
88
88
|
region: uk-west
|
|
89
89
|
cpu/utilization: 15
|
|
90
90
|
network/energy: 0.000001
|
|
@@ -106,7 +106,7 @@ tree:
|
|
|
106
106
|
- sci
|
|
107
107
|
inputs:
|
|
108
108
|
- timestamp: "2023-12-12T00:00:00.000Z"
|
|
109
|
-
instance-type: A1
|
|
109
|
+
cloud/instance-type: A1
|
|
110
110
|
region: uk-west
|
|
111
111
|
duration: 1
|
|
112
112
|
cpu/utilization: 50
|
|
@@ -114,18 +114,18 @@ tree:
|
|
|
114
114
|
- timestamp: "2023-12-12T00:00:01.000Z"
|
|
115
115
|
duration: 5
|
|
116
116
|
cpu/utilization: 20
|
|
117
|
-
instance-type: A1
|
|
117
|
+
cloud/instance-type: A1
|
|
118
118
|
region: uk-west
|
|
119
119
|
network/energy: 0.000001
|
|
120
120
|
- timestamp: "2023-12-12T00:00:06.000Z"
|
|
121
121
|
duration: 7
|
|
122
122
|
cpu/utilization: 15
|
|
123
|
-
instance-type: A1
|
|
123
|
+
cloud/instance-type: A1
|
|
124
124
|
region: uk-west
|
|
125
125
|
network/energy: 0.000001
|
|
126
126
|
- timestamp: "2023-12-12T00:00:13.000Z"
|
|
127
127
|
duration: 30
|
|
128
|
-
instance-type: A1
|
|
128
|
+
cloud/instance-type: A1
|
|
129
129
|
region: uk-west
|
|
130
130
|
cpu/utilization: 15
|
|
131
131
|
network/energy: 0.000001
|
|
@@ -149,7 +149,7 @@ tree:
|
|
|
149
149
|
- sci
|
|
150
150
|
inputs:
|
|
151
151
|
- timestamp: "2023-12-12T00:00:00.000Z"
|
|
152
|
-
instance-type: A1
|
|
152
|
+
cloud/instance-type: A1
|
|
153
153
|
region: uk-west
|
|
154
154
|
duration: 1
|
|
155
155
|
cpu/utilization: 50
|
|
@@ -157,18 +157,18 @@ tree:
|
|
|
157
157
|
- timestamp: "2023-12-12T00:00:01.000Z"
|
|
158
158
|
duration: 5
|
|
159
159
|
cpu/utilization: 20
|
|
160
|
-
instance-type: A1
|
|
160
|
+
cloud/instance-type: A1
|
|
161
161
|
region: uk-west
|
|
162
162
|
network/energy: 0.000001
|
|
163
163
|
- timestamp: "2023-12-12T00:00:06.000Z"
|
|
164
164
|
duration: 7
|
|
165
165
|
cpu/utilization: 15
|
|
166
|
-
instance-type: A1
|
|
166
|
+
cloud/instance-type: A1
|
|
167
167
|
region: uk-west
|
|
168
168
|
network/energy: 0.000001
|
|
169
169
|
- timestamp: "2023-12-12T00:00:13.000Z"
|
|
170
170
|
duration: 30
|
|
171
|
-
instance-type: A1
|
|
171
|
+
cloud/instance-type: A1
|
|
172
172
|
region: uk-west
|
|
173
173
|
cpu/utilization: 15
|
|
174
174
|
network/energy: 0.000001
|
|
@@ -190,7 +190,7 @@ tree:
|
|
|
190
190
|
- sci
|
|
191
191
|
inputs:
|
|
192
192
|
- timestamp: "2023-12-12T00:00:00.000Z"
|
|
193
|
-
instance-type: A1
|
|
193
|
+
cloud/instance-type: A1
|
|
194
194
|
region: uk-west
|
|
195
195
|
duration: 1
|
|
196
196
|
cpu/utilization: 50
|
|
@@ -198,18 +198,18 @@ tree:
|
|
|
198
198
|
- timestamp: "2023-12-12T00:00:01.000Z"
|
|
199
199
|
duration: 5
|
|
200
200
|
cpu/utilization: 20
|
|
201
|
-
instance-type: A1
|
|
201
|
+
cloud/instance-type: A1
|
|
202
202
|
region: uk-west
|
|
203
203
|
network/energy: 0.000001
|
|
204
204
|
- timestamp: "2023-12-12T00:00:06.000Z"
|
|
205
205
|
duration: 7
|
|
206
206
|
cpu/utilization: 15
|
|
207
|
-
instance-type: A1
|
|
207
|
+
cloud/instance-type: A1
|
|
208
208
|
region: uk-west
|
|
209
209
|
network/energy: 0.000001
|
|
210
210
|
- timestamp: "2023-12-12T00:00:13.000Z"
|
|
211
211
|
duration: 30
|
|
212
|
-
instance-type: A1
|
|
212
|
+
cloud/instance-type: A1
|
|
213
213
|
region: uk-west
|
|
214
214
|
cpu/utilization: 15
|
|
215
215
|
network/energy: 0.000001
|
|
@@ -60,7 +60,7 @@ tree:
|
|
|
60
60
|
cpu/name: Intel® Core™ i7-1185G7
|
|
61
61
|
inputs:
|
|
62
62
|
- timestamp: "2023-12-12T00:00:00.000Z"
|
|
63
|
-
instance-type: A1
|
|
63
|
+
cloud/instance-type: A1
|
|
64
64
|
region: uk-west
|
|
65
65
|
duration: 1
|
|
66
66
|
cpu/utilization: 50
|
|
@@ -68,18 +68,18 @@ tree:
|
|
|
68
68
|
- timestamp: "2023-12-12T00:00:01.000Z"
|
|
69
69
|
duration: 5
|
|
70
70
|
cpu/utilization: 20
|
|
71
|
-
instance-type: A1
|
|
71
|
+
cloud/instance-type: A1
|
|
72
72
|
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
|
-
instance-type: A1
|
|
77
|
+
cloud/instance-type: A1
|
|
78
78
|
region: uk-west
|
|
79
79
|
network/energy: 0.000001
|
|
80
80
|
- timestamp: "2023-12-12T00:00:13.000Z"
|
|
81
81
|
duration: 30
|
|
82
|
-
instance-type: A1
|
|
82
|
+
cloud/instance-type: A1
|
|
83
83
|
region: uk-west
|
|
84
84
|
cpu/utilization: 15
|
|
85
85
|
network/energy: 0.000001
|
|
@@ -57,7 +57,7 @@ tree:
|
|
|
57
57
|
group-by:
|
|
58
58
|
group:
|
|
59
59
|
- region
|
|
60
|
-
- instance-type
|
|
60
|
+
- cloud/instance-type
|
|
61
61
|
defaults:
|
|
62
62
|
cpu/thermal-design-power: 100
|
|
63
63
|
grid/carbon-intensity: 800
|
|
@@ -69,7 +69,7 @@ tree:
|
|
|
69
69
|
functional-unit-time: "1 min"
|
|
70
70
|
inputs:
|
|
71
71
|
- timestamp: "2023-12-12T00:00:00.000Z"
|
|
72
|
-
instance-type: A1
|
|
72
|
+
cloud/instance-type: A1
|
|
73
73
|
region: uk-west
|
|
74
74
|
duration: 1
|
|
75
75
|
cpu/utilization: 10
|
|
@@ -78,20 +78,20 @@ tree:
|
|
|
78
78
|
- timestamp: "2023-12-12T00:00:01.000Z"
|
|
79
79
|
duration: 5
|
|
80
80
|
cpu/utilization: 20
|
|
81
|
-
instance-type: A1
|
|
81
|
+
cloud/instance-type: A1
|
|
82
82
|
region: uk-west
|
|
83
83
|
network/energy: 10
|
|
84
84
|
energy: 5
|
|
85
85
|
- timestamp: "2023-12-12T00:00:06.000Z"
|
|
86
86
|
duration: 7
|
|
87
87
|
cpu/utilization: 15
|
|
88
|
-
instance-type: A1
|
|
88
|
+
cloud/instance-type: A1
|
|
89
89
|
region: uk-west
|
|
90
90
|
network/energy: 10
|
|
91
91
|
energy: 5
|
|
92
92
|
- timestamp: "2023-12-12T00:00:13.000Z"
|
|
93
93
|
duration: 30
|
|
94
|
-
instance-type: A1
|
|
94
|
+
cloud/instance-type: A1
|
|
95
95
|
region: uk-west
|
|
96
96
|
cpu/utilization: 15
|
|
97
97
|
network/energy: 10
|
|
@@ -122,28 +122,28 @@ tree:
|
|
|
122
122
|
- timestamp: "2023-12-12T00:00:00.000Z"
|
|
123
123
|
duration: 1
|
|
124
124
|
cpu/utilization: 30
|
|
125
|
-
instance-type: A1
|
|
125
|
+
cloud/instance-type: A1
|
|
126
126
|
region: uk-west
|
|
127
127
|
network/energy: 10
|
|
128
128
|
energy: 5
|
|
129
129
|
- timestamp: "2023-12-12T00:00:01.000Z"
|
|
130
130
|
duration: 5
|
|
131
131
|
cpu/utilization: 28
|
|
132
|
-
instance-type: A1
|
|
132
|
+
cloud/instance-type: A1
|
|
133
133
|
region: uk-west
|
|
134
134
|
network/energy: 10
|
|
135
135
|
energy: 5
|
|
136
136
|
- timestamp: "2023-12-12T00:00:06.000Z"
|
|
137
137
|
duration: 7
|
|
138
138
|
cpu/utilization: 40
|
|
139
|
-
instance-type: A1
|
|
139
|
+
cloud/instance-type: A1
|
|
140
140
|
region: uk-west
|
|
141
141
|
network/energy: 10
|
|
142
142
|
energy: 5
|
|
143
143
|
- timestamp: "2023-12-12T00:00:13.000Z"
|
|
144
144
|
duration: 30
|
|
145
145
|
cpu/utilization: 33
|
|
146
|
-
instance-type: A1
|
|
146
|
+
cloud/instance-type: A1
|
|
147
147
|
region: uk-west
|
|
148
148
|
network/energy: 10
|
|
149
149
|
energy: 5
|