@digital-alchemy/core 24.7.1 → 24.8.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/README.md +0 -2
- package/dist/extensions/cache.extension.js +9 -9
- package/dist/extensions/cache.extension.js.map +1 -1
- package/dist/extensions/configuration.extension.d.ts +2 -2
- package/dist/extensions/fetch.extension.d.ts +1 -1
- package/dist/extensions/fetch.extension.js +5 -5
- package/dist/extensions/fetch.extension.js.map +1 -1
- package/dist/extensions/index.d.ts +1 -0
- package/dist/extensions/index.js +1 -0
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/internal.extension.d.ts +1 -1
- package/dist/extensions/is.extension.d.ts +1 -1
- package/dist/extensions/is.extension.js +3 -0
- package/dist/extensions/is.extension.js.map +1 -1
- package/dist/extensions/metrics.extension.d.ts +18 -0
- package/dist/extensions/metrics.extension.js +156 -0
- package/dist/extensions/metrics.extension.js.map +1 -0
- package/dist/extensions/scheduler.extension.js +9 -9
- package/dist/extensions/scheduler.extension.js.map +1 -1
- package/dist/extensions/wiring.extension.d.ts +16 -4
- package/dist/extensions/wiring.extension.js +31 -9
- package/dist/extensions/wiring.extension.js.map +1 -1
- package/dist/helpers/cache-memory.helper.d.ts +1 -1
- package/dist/helpers/cache-memory.helper.js +5 -6
- package/dist/helpers/cache-memory.helper.js.map +1 -1
- package/dist/helpers/cache-redis.helper.d.ts +1 -1
- package/dist/helpers/cache-redis.helper.js +6 -7
- package/dist/helpers/cache-redis.helper.js.map +1 -1
- package/dist/helpers/cache.helper.d.ts +1 -1
- package/dist/helpers/index.d.ts +0 -1
- package/dist/helpers/index.js +0 -1
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/utilities.helper.d.ts +3 -0
- package/dist/helpers/utilities.helper.js +3 -0
- package/dist/helpers/utilities.helper.js.map +1 -1
- package/dist/helpers/wiring.helper.d.ts +9 -0
- package/dist/helpers/wiring.helper.js.map +1 -1
- package/package.json +24 -1
- package/dist/helpers/metrics.helper.d.ts +0 -69
- package/dist/helpers/metrics.helper.js +0 -132
- package/dist/helpers/metrics.helper.js.map +0 -1
package/README.md
CHANGED
|
@@ -46,5 +46,3 @@ Each is designed to extend the capabilities the core library, offering specializ
|
|
|
46
46
|
| `hass` | Home Assistant integration for smart home automation. | [GitHub](https://github.com/Digital-Alchemy-TS/hass) | [npm](https://www.npmjs.com/package/@digital-alchemy/hass) |
|
|
47
47
|
| `synapse` | Tools for generating entities within home assistant | [GitHub](https://github.com/Digital-Alchemy-TS/synapse) | [npm](https://www.npmjs.com/package/@digital-alchemy/synapse) |
|
|
48
48
|
| `automation` | Advanced automation tools for creating dynamic workflows. | [GitHub](https://github.com/Digital-Alchemy-TS/automation) | [npm](https://www.npmjs.com/package/@digital-alchemy/automation) |
|
|
49
|
-
| `terminal` | Tools and components for complex terminal applications | [GitHub](https://github.com/Digital-Alchemy-TS/terminal) | [npm](https://www.npmjs.com/package/@digital-alchemy/terminal) |
|
|
50
|
-
| `gotify` | Integration for Gotify notifications, enabling seamless alerting and messaging. | [GitHub](https://github.com/Digital-Alchemy-TS/gotify) | [npm](https://www.npmjs.com/package/@digital-alchemy/gotify-extension) |
|
|
@@ -16,10 +16,10 @@ function Cache({ logger, lifecycle, config, internal, }) {
|
|
|
16
16
|
}
|
|
17
17
|
logger.trace({ name: "onPostConfig", provider: config.boilerplate.CACHE_PROVIDER }, `init cache`);
|
|
18
18
|
if (config.boilerplate.CACHE_PROVIDER === "redis") {
|
|
19
|
-
client = await (0, __1.createRedisDriver)({ config, lifecycle, logger });
|
|
19
|
+
client = await (0, __1.createRedisDriver)({ config, internal, lifecycle, logger });
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
|
-
client = await (0, __1.createMemoryDriver)({ config, lifecycle, logger });
|
|
22
|
+
client = await (0, __1.createMemoryDriver)({ config, internal, lifecycle, logger });
|
|
23
23
|
});
|
|
24
24
|
// #MARK: Return object
|
|
25
25
|
return {
|
|
@@ -28,13 +28,13 @@ function Cache({ logger, lifecycle, config, internal, }) {
|
|
|
28
28
|
try {
|
|
29
29
|
const fullKey = fullKeyName(key);
|
|
30
30
|
await client.del(fullKey);
|
|
31
|
-
|
|
31
|
+
internal.boilerplate.metrics.CACHE_DELETE_OPERATIONS_TOTAL.inc({
|
|
32
32
|
key: fullKey,
|
|
33
33
|
prefix: prefix(),
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
36
|
catch (error) {
|
|
37
|
-
|
|
37
|
+
internal.boilerplate.metrics.CACHE_DRIVER_ERROR_COUNT.labels("del").inc();
|
|
38
38
|
logger.error({ error, name: "del" }, `cache error`);
|
|
39
39
|
}
|
|
40
40
|
},
|
|
@@ -42,7 +42,7 @@ function Cache({ logger, lifecycle, config, internal, }) {
|
|
|
42
42
|
try {
|
|
43
43
|
const fullKey = fullKeyName(key);
|
|
44
44
|
const result = await client.get(fullKey);
|
|
45
|
-
|
|
45
|
+
internal.boilerplate.metrics.CACHE_GET_OPERATIONS_TOTAL.inc({
|
|
46
46
|
hit_miss: _1.is.undefined(result) ? "miss" : "hit",
|
|
47
47
|
key: fullKey,
|
|
48
48
|
prefix: prefix(),
|
|
@@ -51,7 +51,7 @@ function Cache({ logger, lifecycle, config, internal, }) {
|
|
|
51
51
|
}
|
|
52
52
|
catch (error) {
|
|
53
53
|
logger.warn({ defaultValue, error, key, name: "get" }, `cache error`);
|
|
54
|
-
|
|
54
|
+
internal.boilerplate.metrics.CACHE_DRIVER_ERROR_COUNT.labels("get").inc();
|
|
55
55
|
return defaultValue;
|
|
56
56
|
}
|
|
57
57
|
},
|
|
@@ -62,7 +62,7 @@ function Cache({ logger, lifecycle, config, internal, }) {
|
|
|
62
62
|
return keys.map((key) => key.slice(Math.max(__1.NONE, prefix().length)));
|
|
63
63
|
}
|
|
64
64
|
catch (error) {
|
|
65
|
-
|
|
65
|
+
internal.boilerplate.metrics.CACHE_DRIVER_ERROR_COUNT.labels("keys").inc();
|
|
66
66
|
logger.warn({ error, name: "keys" }, `cache error`);
|
|
67
67
|
return [];
|
|
68
68
|
}
|
|
@@ -71,13 +71,13 @@ function Cache({ logger, lifecycle, config, internal, }) {
|
|
|
71
71
|
try {
|
|
72
72
|
const fullKey = fullKeyName(key);
|
|
73
73
|
await client.set(fullKey, value, ttl);
|
|
74
|
-
|
|
74
|
+
internal.boilerplate.metrics.CACHE_SET_OPERATIONS_TOTAL.inc({
|
|
75
75
|
key: fullKey,
|
|
76
76
|
prefix: config.boilerplate.CACHE_PREFIX,
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
79
|
catch (error) {
|
|
80
|
-
|
|
80
|
+
internal.boilerplate.metrics.CACHE_DRIVER_ERROR_COUNT.labels("set").inc();
|
|
81
81
|
logger.error({ error, name: "set" }, `cache error`);
|
|
82
82
|
}
|
|
83
83
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.extension.js","sourceRoot":"","sources":["../../src/extensions/cache.extension.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"cache.extension.js","sourceRoot":"","sources":["../../src/extensions/cache.extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export declare function Configuration({ context, event, lifecycle, internal, log
|
|
|
23
23
|
CACHE_PROVIDER: "redis" | "memory";
|
|
24
24
|
CACHE_TTL: number;
|
|
25
25
|
CONFIG: string;
|
|
26
|
-
LOG_LEVEL:
|
|
26
|
+
LOG_LEVEL: "debug" | "error" | "info" | "trace" | "warn" | "silent";
|
|
27
27
|
REDIS_URL: string;
|
|
28
28
|
}>;
|
|
29
29
|
}> & Partial<Partial<{
|
|
@@ -32,7 +32,7 @@ export declare function Configuration({ context, event, lifecycle, internal, log
|
|
|
32
32
|
CACHE_PROVIDER: "redis" | "memory";
|
|
33
33
|
CACHE_TTL: number;
|
|
34
34
|
CONFIG: string;
|
|
35
|
-
LOG_LEVEL:
|
|
35
|
+
LOG_LEVEL: "debug" | "error" | "info" | "trace" | "warn" | "silent";
|
|
36
36
|
REDIS_URL: string;
|
|
37
37
|
}>;
|
|
38
38
|
}>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DownloadOptions, FetchArguments, FetcherOptions, TFetchBody, TServiceParams } from "..";
|
|
2
|
-
export declare function Fetch({ logger, context: parentContext }: TServiceParams): ({ headers: base_headers, baseUrl: base_url, context: logContext, }: FetcherOptions) => {
|
|
2
|
+
export declare function Fetch({ logger, context: parentContext, internal, }: TServiceParams): ({ headers: base_headers, baseUrl: base_url, context: logContext, }: FetcherOptions) => {
|
|
3
3
|
base_headers: Record<string, string>;
|
|
4
4
|
base_url: string;
|
|
5
5
|
download: ({ destination, body, headers, label, context, method, ...fetchWith }: DownloadOptions) => Promise<void>;
|
|
@@ -7,7 +7,7 @@ const util_1 = require("util");
|
|
|
7
7
|
const __1 = require("..");
|
|
8
8
|
const _1 = require(".");
|
|
9
9
|
const streamPipeline = (0, util_1.promisify)(stream_1.pipeline);
|
|
10
|
-
function Fetch({ logger, context: parentContext }) {
|
|
10
|
+
function Fetch({ logger, context: parentContext, internal, }) {
|
|
11
11
|
return ({ headers: base_headers, baseUrl: base_url, context: logContext,
|
|
12
12
|
// eslint-disable-next-line sonarjs/cognitive-complexity
|
|
13
13
|
}) => {
|
|
@@ -67,14 +67,14 @@ function Fetch({ logger, context: parentContext }) {
|
|
|
67
67
|
try {
|
|
68
68
|
const out = await exec();
|
|
69
69
|
if (!_1.is.empty(label)) {
|
|
70
|
-
|
|
70
|
+
internal.boilerplate.metrics.FETCH_REQUESTS_SUCCESSFUL.labels(context, label).inc();
|
|
71
71
|
}
|
|
72
72
|
return out;
|
|
73
73
|
}
|
|
74
74
|
catch (error) {
|
|
75
75
|
logger.error({ error, name: logContext }, `request failed`);
|
|
76
76
|
if (!_1.is.empty(label)) {
|
|
77
|
-
|
|
77
|
+
internal.boilerplate.metrics.FETCH_REQUESTS_FAILED.labels(context, label).inc();
|
|
78
78
|
}
|
|
79
79
|
throw error;
|
|
80
80
|
}
|
|
@@ -96,7 +96,7 @@ function Fetch({ logger, context: parentContext }) {
|
|
|
96
96
|
});
|
|
97
97
|
return await fetchHandleResponse(process, result);
|
|
98
98
|
});
|
|
99
|
-
|
|
99
|
+
internal.boilerplate.metrics.FETCH_REQUESTS_SUCCESSFUL.labels(context, label).inc();
|
|
100
100
|
return out;
|
|
101
101
|
}
|
|
102
102
|
async function download({ destination, body, headers = {}, label, context = logContext || parentContext, method = "get", ...fetchWith }) {
|
|
@@ -109,7 +109,7 @@ function Fetch({ logger, context: parentContext }) {
|
|
|
109
109
|
const stream = (0, fs_1.createWriteStream)(destination);
|
|
110
110
|
await streamPipeline(response.body, stream);
|
|
111
111
|
if (!_1.is.empty(label)) {
|
|
112
|
-
|
|
112
|
+
internal.boilerplate.metrics.FETCH_DOWNLOAD_REQUESTS_SUCCESSFUL.labels(context, label).inc();
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
// #MARK: return object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.extension.js","sourceRoot":"","sources":["../../src/extensions/fetch.extension.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"fetch.extension.js","sourceRoot":"","sources":["../../src/extensions/fetch.extension.ts"],"names":[],"mappings":"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"}
|
package/dist/extensions/index.js
CHANGED
|
@@ -7,6 +7,7 @@ tslib_1.__exportStar(require("./fetch.extension"), exports);
|
|
|
7
7
|
tslib_1.__exportStar(require("./internal.extension"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./is.extension"), exports);
|
|
9
9
|
tslib_1.__exportStar(require("./logger.extension"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./metrics.extension"), exports);
|
|
10
11
|
tslib_1.__exportStar(require("./scheduler.extension"), exports);
|
|
11
12
|
tslib_1.__exportStar(require("./wiring.extension"), exports);
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC;AAClC,oEAA0C;AAC1C,4DAAkC;AAClC,+DAAqC;AACrC,yDAA+B;AAC/B,6DAAmC;AACnC,gEAAsC;AACtC,6DAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC;AAClC,oEAA0C;AAC1C,4DAAkC;AAClC,+DAAqC;AACrC,yDAA+B;AAC/B,6DAAmC;AACnC,8DAAoC;AACpC,gEAAsC;AACtC,6DAAmC"}
|
|
@@ -46,7 +46,7 @@ export declare class InternalDefinition {
|
|
|
46
46
|
/**
|
|
47
47
|
* Utility methods provided by boilerplate
|
|
48
48
|
*/
|
|
49
|
-
boilerplate: Pick<GetApis<typeof LIB_BOILERPLATE>, "configuration" | "fetch" | "logger">;
|
|
49
|
+
boilerplate: Pick<GetApis<typeof LIB_BOILERPLATE>, "configuration" | "fetch" | "logger" | "metrics">;
|
|
50
50
|
boot: {
|
|
51
51
|
/**
|
|
52
52
|
* Options that were passed into bootstrap
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TBlackHole, TContext } from "../helpers";
|
|
2
|
-
type MaybeEmptyTypes = string | undefined | Array<unknown> | Set<unknown> | Map<unknown, unknown> | object;
|
|
2
|
+
type MaybeEmptyTypes = string | undefined | Array<unknown> | number | Set<unknown> | Map<unknown, unknown> | object;
|
|
3
3
|
type MaybeFunction = (...parameters: unknown[]) => TBlackHole;
|
|
4
4
|
/**
|
|
5
5
|
* type testing and basic conversion tools
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is.extension.js","sourceRoot":"","sources":["../../src/extensions/is.extension.ts"],"names":[],"mappings":";;;AAAA,+BAAgD;AAEhD,wCAA+D;
|
|
1
|
+
{"version":3,"file":"is.extension.js","sourceRoot":"","sources":["../../src/extensions/is.extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Counter, Gauge, Histogram, Summary } from "prom-client";
|
|
2
|
+
export declare function Metrics(): {
|
|
3
|
+
CACHE_DELETE_OPERATIONS_TOTAL: Counter<"prefix" | "key">;
|
|
4
|
+
CACHE_DRIVER_ERROR_COUNT: Counter<"methodName">;
|
|
5
|
+
CACHE_GET_OPERATIONS_TOTAL: Counter<"prefix" | "key" | "hit_miss">;
|
|
6
|
+
CACHE_SET_OPERATIONS_TOTAL: Counter<"prefix" | "key">;
|
|
7
|
+
FETCH_DOWNLOAD_REQUESTS_SUCCESSFUL: Counter<"context" | "label">;
|
|
8
|
+
FETCH_REQUESTS_FAILED: Counter<"context" | "label">;
|
|
9
|
+
FETCH_REQUESTS_INITIATED: Counter<string>;
|
|
10
|
+
FETCH_REQUESTS_SUCCESSFUL: Counter<"context" | "label">;
|
|
11
|
+
LOGGER_CONTEXT_ENTRIES_COUNT: Gauge<string>;
|
|
12
|
+
MEMORY_CACHE_ERROR_COUNT: Counter<string>;
|
|
13
|
+
REDIS_ERROR_COUNT: Gauge<string>;
|
|
14
|
+
REDIS_OPERATION_LATENCY_MS: Histogram<string>;
|
|
15
|
+
SCHEDULE_ERRORS: Counter<"context" | "label">;
|
|
16
|
+
SCHEDULE_EXECUTION_COUNT: Counter<"context" | "label">;
|
|
17
|
+
SCHEDULE_EXECUTION_TIME: Summary<"context" | "label">;
|
|
18
|
+
};
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Metrics = Metrics;
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-magic-numbers */
|
|
5
|
+
const prom_client_1 = require("prom-client");
|
|
6
|
+
const build = () => {
|
|
7
|
+
/**
|
|
8
|
+
* Cache delete operations counter
|
|
9
|
+
*/
|
|
10
|
+
const CACHE_DELETE_OPERATIONS_TOTAL = new prom_client_1.Counter({
|
|
11
|
+
help: "Total number of cache delete operations",
|
|
12
|
+
labelNames: ["prefix", "key"],
|
|
13
|
+
name: "digital_alchemy_boilerplate_cache_delete_operations_total",
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
* Cache get operations counter
|
|
17
|
+
*/
|
|
18
|
+
const CACHE_GET_OPERATIONS_TOTAL = new prom_client_1.Counter({
|
|
19
|
+
help: "Total number of cache get operations",
|
|
20
|
+
labelNames: ["prefix", "key", "hit_miss"],
|
|
21
|
+
name: "digital_alchemy_boilerplate_cache_get_operations_total",
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Tracks the number of times a scheduled task has been executed.
|
|
25
|
+
* Labels:
|
|
26
|
+
* - context: The broader category or module the schedule belongs to.
|
|
27
|
+
* - label: A user-defined label to identify the specific schedule.
|
|
28
|
+
*/
|
|
29
|
+
const SCHEDULE_EXECUTION_COUNT = new prom_client_1.Counter({
|
|
30
|
+
help: "Counts the number of times a scheduled task has been executed",
|
|
31
|
+
labelNames: ["context", "label"],
|
|
32
|
+
name: "digital_alchemy_boilerplate_schedule_execution_count",
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* Counts the number of errors occurred during scheduled task executions.
|
|
36
|
+
* Labels:
|
|
37
|
+
* - context: The broader category or module the schedule belongs to.
|
|
38
|
+
* - label: A user-defined label to identify the specific schedule where the error occurred.
|
|
39
|
+
*/
|
|
40
|
+
const SCHEDULE_ERRORS = new prom_client_1.Counter({
|
|
41
|
+
help: "Counts the number of errors during scheduled task executions",
|
|
42
|
+
labelNames: ["context", "label"],
|
|
43
|
+
name: "digital_alchemy_boilerplate_schedule_errors",
|
|
44
|
+
});
|
|
45
|
+
/**
|
|
46
|
+
* Summary for Execution Time
|
|
47
|
+
*/
|
|
48
|
+
const SCHEDULE_EXECUTION_TIME = new prom_client_1.Summary({
|
|
49
|
+
help: "Measures the duration of each cron job or interval execution",
|
|
50
|
+
labelNames: ["context", "label"],
|
|
51
|
+
name: "digital_alchemy_boilerplate_schedule_execution_time",
|
|
52
|
+
// These percentiles are just examples; adjust them based on what's relevant for your analysis
|
|
53
|
+
percentiles: [0.5, 0.9, 0.99],
|
|
54
|
+
});
|
|
55
|
+
/**
|
|
56
|
+
* Metric to count errors in cache driver
|
|
57
|
+
*/
|
|
58
|
+
const CACHE_DRIVER_ERROR_COUNT = new prom_client_1.Counter({
|
|
59
|
+
help: "Counts the number of errors caught in the cache driver",
|
|
60
|
+
labelNames: ["methodName"],
|
|
61
|
+
name: "digital_alchemy_boilerplate_cache_driver_error_count",
|
|
62
|
+
});
|
|
63
|
+
/**
|
|
64
|
+
* Cache set operations counter
|
|
65
|
+
*/
|
|
66
|
+
const CACHE_SET_OPERATIONS_TOTAL = new prom_client_1.Counter({
|
|
67
|
+
help: "Total number of cache set operations",
|
|
68
|
+
labelNames: ["prefix", "key"],
|
|
69
|
+
name: "digital_alchemy_boilerplate_cache_set_operations_total",
|
|
70
|
+
});
|
|
71
|
+
/**
|
|
72
|
+
* Counts the total number of initiated fetch requests.
|
|
73
|
+
*/
|
|
74
|
+
const FETCH_REQUESTS_INITIATED = new prom_client_1.Counter({
|
|
75
|
+
help: "Total number of fetch requests that have been initiated",
|
|
76
|
+
name: "digital_alchemy_boilerplate_fetch_requests_initiated_total",
|
|
77
|
+
});
|
|
78
|
+
/**
|
|
79
|
+
* Counts the total number of successfully completed fetch requests.
|
|
80
|
+
*/
|
|
81
|
+
const FETCH_REQUESTS_SUCCESSFUL = new prom_client_1.Counter({
|
|
82
|
+
help: "Total number of fetch requests that have been successfully completed",
|
|
83
|
+
labelNames: ["context", "label"],
|
|
84
|
+
name: "digital_alchemy_boilerplate_fetch_requests_successful_total",
|
|
85
|
+
});
|
|
86
|
+
/**
|
|
87
|
+
* Counts the total number of successfully completed fetch requests.
|
|
88
|
+
*/
|
|
89
|
+
const FETCH_DOWNLOAD_REQUESTS_SUCCESSFUL = new prom_client_1.Counter({
|
|
90
|
+
help: "Total number of fetch download requests that have been successfully completed",
|
|
91
|
+
labelNames: ["context", "label"],
|
|
92
|
+
name: "digital_alchemy_boilerplate_fetch_download_requests_successful_total",
|
|
93
|
+
});
|
|
94
|
+
/**
|
|
95
|
+
* Counts the total number of failed fetch requests.
|
|
96
|
+
*/
|
|
97
|
+
const FETCH_REQUESTS_FAILED = new prom_client_1.Counter({
|
|
98
|
+
help: "Total number of fetch requests that have failed",
|
|
99
|
+
labelNames: ["context", "label"],
|
|
100
|
+
name: "digital_alchemy_boilerplate_fetch_requests_failed_total",
|
|
101
|
+
});
|
|
102
|
+
/**
|
|
103
|
+
* Gauge to count the number of errors encountered in Redis operations.
|
|
104
|
+
*/
|
|
105
|
+
const REDIS_ERROR_COUNT = new prom_client_1.Gauge({
|
|
106
|
+
help: "Counts the number of errors encountered in Redis operations",
|
|
107
|
+
name: "digital_alchemy_boilerplate_redis_error_count",
|
|
108
|
+
});
|
|
109
|
+
/**
|
|
110
|
+
* Histogram to track the latency of Redis operations in milliseconds.
|
|
111
|
+
* Buckets range from 0.1 ms to 1000 ms (1 second) for granular latency measurement.
|
|
112
|
+
*/
|
|
113
|
+
const REDIS_OPERATION_LATENCY_MS = new prom_client_1.Histogram({
|
|
114
|
+
buckets: [0.1, 0.5, 1, 5, 10, 20, 50, 100, 200, 500, 1000],
|
|
115
|
+
help: "Histogram for tracking the latency of Redis operations in milliseconds",
|
|
116
|
+
name: "digital_alchemy_boilerplate_redis_operation_latency_ms",
|
|
117
|
+
});
|
|
118
|
+
/**
|
|
119
|
+
* Counter to track the number of errors encountered in memory cache operations.
|
|
120
|
+
*/
|
|
121
|
+
const MEMORY_CACHE_ERROR_COUNT = new prom_client_1.Counter({
|
|
122
|
+
help: "Counts the number of errors encountered in memory cache operations",
|
|
123
|
+
name: "digital_alchemy_boilerplate_memory_cache_error_count",
|
|
124
|
+
});
|
|
125
|
+
/**
|
|
126
|
+
* A Prometheus gauge metric that tracks the number of unique context entries in the logger's context cache.
|
|
127
|
+
* This helps in monitoring and managing the memory usage associated with the caching of logger contexts.
|
|
128
|
+
*/
|
|
129
|
+
const LOGGER_CONTEXT_ENTRIES_COUNT = new prom_client_1.Gauge({
|
|
130
|
+
help: "Number of unique context entries in the logger context cache",
|
|
131
|
+
name: "digital_alchemy_boilerplate_logger_context_entries_count",
|
|
132
|
+
});
|
|
133
|
+
return {
|
|
134
|
+
CACHE_DELETE_OPERATIONS_TOTAL,
|
|
135
|
+
CACHE_DRIVER_ERROR_COUNT,
|
|
136
|
+
CACHE_GET_OPERATIONS_TOTAL,
|
|
137
|
+
CACHE_SET_OPERATIONS_TOTAL,
|
|
138
|
+
FETCH_DOWNLOAD_REQUESTS_SUCCESSFUL,
|
|
139
|
+
FETCH_REQUESTS_FAILED,
|
|
140
|
+
FETCH_REQUESTS_INITIATED,
|
|
141
|
+
FETCH_REQUESTS_SUCCESSFUL,
|
|
142
|
+
LOGGER_CONTEXT_ENTRIES_COUNT,
|
|
143
|
+
MEMORY_CACHE_ERROR_COUNT,
|
|
144
|
+
REDIS_ERROR_COUNT,
|
|
145
|
+
REDIS_OPERATION_LATENCY_MS,
|
|
146
|
+
SCHEDULE_ERRORS,
|
|
147
|
+
SCHEDULE_EXECUTION_COUNT,
|
|
148
|
+
SCHEDULE_EXECUTION_TIME,
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
let metrics;
|
|
152
|
+
function Metrics() {
|
|
153
|
+
metrics ??= build();
|
|
154
|
+
return metrics;
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=metrics.extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.extension.js","sourceRoot":"","sources":["../../src/extensions/metrics.extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,10 +27,10 @@ function Scheduler({ logger, lifecycle, internal }) {
|
|
|
27
27
|
[scheduleList].flat().forEach((cronSchedule) => {
|
|
28
28
|
logger.trace({ context, label, name: cron, schedule: cronSchedule }, `init`);
|
|
29
29
|
const cronJob = (0, node_cron_1.schedule)(cronSchedule, async () => await internal.safeExec({
|
|
30
|
-
duration:
|
|
31
|
-
errors:
|
|
30
|
+
duration: internal.boilerplate.metrics.SCHEDULE_EXECUTION_TIME,
|
|
31
|
+
errors: internal.boilerplate.metrics.SCHEDULE_ERRORS,
|
|
32
32
|
exec,
|
|
33
|
-
executions:
|
|
33
|
+
executions: internal.boilerplate.metrics.SCHEDULE_EXECUTION_COUNT,
|
|
34
34
|
labels: { context, label },
|
|
35
35
|
}));
|
|
36
36
|
lifecycle.onReady(() => {
|
|
@@ -53,10 +53,10 @@ function Scheduler({ logger, lifecycle, internal }) {
|
|
|
53
53
|
lifecycle.onReady(() => {
|
|
54
54
|
logger.trace({ context, name: "interval" }, "starting");
|
|
55
55
|
runningInterval = setInterval(async () => await internal.safeExec({
|
|
56
|
-
duration:
|
|
57
|
-
errors:
|
|
56
|
+
duration: internal.boilerplate.metrics.SCHEDULE_EXECUTION_TIME,
|
|
57
|
+
errors: internal.boilerplate.metrics.SCHEDULE_ERRORS,
|
|
58
58
|
exec,
|
|
59
|
-
executions:
|
|
59
|
+
executions: internal.boilerplate.metrics.SCHEDULE_EXECUTION_COUNT,
|
|
60
60
|
labels: { context, label },
|
|
61
61
|
}), interval);
|
|
62
62
|
});
|
|
@@ -97,10 +97,10 @@ function Scheduler({ logger, lifecycle, internal }) {
|
|
|
97
97
|
if (nextTime) {
|
|
98
98
|
timeout = setTimeout(async () => {
|
|
99
99
|
await internal.safeExec({
|
|
100
|
-
duration:
|
|
101
|
-
errors:
|
|
100
|
+
duration: internal.boilerplate.metrics.SCHEDULE_EXECUTION_TIME,
|
|
101
|
+
errors: internal.boilerplate.metrics.SCHEDULE_ERRORS,
|
|
102
102
|
exec,
|
|
103
|
-
executions:
|
|
103
|
+
executions: internal.boilerplate.metrics.SCHEDULE_EXECUTION_COUNT,
|
|
104
104
|
labels: { context, label },
|
|
105
105
|
});
|
|
106
106
|
}, Math.abs((0, dayjs_1.default)().diff(nextTime, "ms")));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.extension.js","sourceRoot":"","sources":["../../src/extensions/scheduler.extension.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"scheduler.extension.js","sourceRoot":"","sources":["../../src/extensions/scheduler.extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import { ApplicationConfigurationOptions, ApplicationDefinition,
|
|
1
|
+
import { ApplicationConfigurationOptions, ApplicationDefinition, OptionalModuleConfiguration, ServiceMap } from "../helpers";
|
|
2
|
+
import { Metrics } from ".";
|
|
2
3
|
import { Cache } from "./cache.extension";
|
|
3
4
|
import { Configuration } from "./configuration.extension";
|
|
4
5
|
import { Fetch } from "./fetch.extension";
|
|
5
|
-
import { Logger
|
|
6
|
+
import { Logger } from "./logger.extension";
|
|
6
7
|
import { Scheduler } from "./scheduler.extension";
|
|
7
8
|
declare function CreateBoilerplate(): import("../helpers").LibraryDefinition<{
|
|
8
9
|
cache: typeof Cache;
|
|
9
10
|
configuration: typeof Configuration;
|
|
10
11
|
fetch: typeof Fetch;
|
|
11
12
|
logger: typeof Logger;
|
|
13
|
+
metrics: typeof Metrics;
|
|
12
14
|
scheduler: typeof Scheduler;
|
|
13
15
|
}, {
|
|
14
16
|
CACHE_PREFIX: {
|
|
@@ -16,7 +18,12 @@ declare function CreateBoilerplate(): import("../helpers").LibraryDefinition<{
|
|
|
16
18
|
description: string;
|
|
17
19
|
type: "string";
|
|
18
20
|
};
|
|
19
|
-
CACHE_PROVIDER:
|
|
21
|
+
CACHE_PROVIDER: {
|
|
22
|
+
default: "memory";
|
|
23
|
+
description: string;
|
|
24
|
+
enum: ("redis" | "memory")[];
|
|
25
|
+
type: "string";
|
|
26
|
+
};
|
|
20
27
|
CACHE_TTL: {
|
|
21
28
|
default: number;
|
|
22
29
|
description: string;
|
|
@@ -26,7 +33,12 @@ declare function CreateBoilerplate(): import("../helpers").LibraryDefinition<{
|
|
|
26
33
|
description: string;
|
|
27
34
|
type: "string";
|
|
28
35
|
};
|
|
29
|
-
LOG_LEVEL:
|
|
36
|
+
LOG_LEVEL: {
|
|
37
|
+
default: "trace";
|
|
38
|
+
description: string;
|
|
39
|
+
enum: ("debug" | "error" | "info" | "trace" | "warn" | "silent")[];
|
|
40
|
+
type: "string";
|
|
41
|
+
};
|
|
30
42
|
REDIS_URL: {
|
|
31
43
|
default: string;
|
|
32
44
|
description: string;
|