@golemio/core 1.1.9-dev.425375411 → 1.1.10
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/dist/helpers/Logger.d.ts +2 -1
- package/dist/helpers/Logger.js.map +1 -1
- package/dist/input-gateway/config/abstract.d.ts +2 -0
- package/dist/input-gateway/config/config.js +5 -0
- package/dist/input-gateway/config/config.js.map +1 -1
- package/dist/integration-engine/config/abstract.d.ts +2 -1
- package/dist/integration-engine/config/config.js +5 -0
- package/dist/integration-engine/config/config.js.map +1 -1
- package/dist/integration-engine/datasources/DataSource.js +3 -0
- package/dist/integration-engine/datasources/DataSource.js.map +1 -1
- package/dist/integration-engine/datasources/DataSourceStreamed.js +4 -0
- package/dist/integration-engine/datasources/DataSourceStreamed.js.map +1 -1
- package/dist/monitoring/index.d.ts +1 -0
- package/dist/monitoring/index.js +1 -0
- package/dist/monitoring/index.js.map +1 -1
- package/dist/monitoring/metrics/definitions/api-metrics-definitions.d.ts +13 -0
- package/dist/monitoring/metrics/definitions/api-metrics-definitions.js +55 -0
- package/dist/monitoring/metrics/definitions/api-metrics-definitions.js.map +1 -0
- package/dist/monitoring/metrics/definitions/custom-metrics-definitions.d.ts +6 -0
- package/dist/monitoring/metrics/definitions/custom-metrics-definitions.js +15 -0
- package/dist/monitoring/metrics/definitions/custom-metrics-definitions.js.map +1 -0
- package/dist/monitoring/metrics/definitions/default-buckets.d.ts +3 -0
- package/dist/monitoring/metrics/definitions/default-buckets.js +11 -0
- package/dist/monitoring/metrics/definitions/default-buckets.js.map +1 -0
- package/dist/monitoring/metrics/index.d.ts +2 -0
- package/dist/monitoring/metrics/index.js +15 -0
- package/dist/monitoring/metrics/index.js.map +1 -0
- package/dist/monitoring/metrics/metrics-builder.d.ts +3 -0
- package/dist/monitoring/metrics/metrics-builder.js +47 -0
- package/dist/monitoring/metrics/metrics-builder.js.map +1 -0
- package/dist/monitoring/metrics/metrics-helpers.d.ts +13 -0
- package/dist/monitoring/metrics/metrics-helpers.js +28 -0
- package/dist/monitoring/metrics/metrics-helpers.js.map +1 -0
- package/dist/monitoring/metrics/metrics-interface.d.ts +20 -0
- package/dist/monitoring/metrics/metrics-interface.js +3 -0
- package/dist/monitoring/metrics/metrics-interface.js.map +1 -0
- package/dist/monitoring/metrics/metrics-middleware.d.ts +5 -0
- package/dist/monitoring/metrics/metrics-middleware.js +78 -0
- package/dist/monitoring/metrics/metrics-middleware.js.map +1 -0
- package/dist/monitoring/metrics/metrics-service.d.ts +22 -0
- package/dist/monitoring/metrics/metrics-service.js +80 -0
- package/dist/monitoring/metrics/metrics-service.js.map +1 -0
- package/dist/output-gateway/config/config.d.ts +5 -0
- package/dist/output-gateway/config/config.js +5 -0
- package/dist/output-gateway/config/config.js.map +1 -1
- package/package.json +125 -122
package/dist/helpers/Logger.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import winston from "winston";
|
|
3
3
|
import { IncomingMessage } from "http";
|
|
4
|
+
export declare type ILogger = winston.Logger;
|
|
4
5
|
interface ICreateLoggerArgs {
|
|
5
6
|
projectName: string;
|
|
6
7
|
nodeEnv: string;
|
|
@@ -19,7 +20,7 @@ export declare const logFormat: (nodeEnv: ICreateLoggerArgs["nodeEnv"]) => (info
|
|
|
19
20
|
* Create and configure a Winston logger
|
|
20
21
|
*/
|
|
21
22
|
export declare const createLogger: ({ projectName, nodeEnv, logLevel }: ICreateLoggerArgs) => {
|
|
22
|
-
logger:
|
|
23
|
+
logger: ILogger;
|
|
23
24
|
};
|
|
24
25
|
/**
|
|
25
26
|
* Custom log format string for request logger that will produce a log entry
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/helpers/Logger.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,oDAAgC;AAChC,sDAA2C;AAI3C,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/helpers/Logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IJaegerConfig } from "../../monitoring";
|
|
2
2
|
import { ISentryConfig } from "../../monitoring/sentry/sentry-provider";
|
|
3
|
+
import { IMetricsConfig } from "../../monitoring/metrics/metrics-interface";
|
|
3
4
|
interface ISaveRawDataWhitelist {
|
|
4
5
|
route: string;
|
|
5
6
|
withHeaders: boolean;
|
|
@@ -37,6 +38,7 @@ export interface IConfiguration {
|
|
|
37
38
|
};
|
|
38
39
|
sentry: ISentryConfig;
|
|
39
40
|
saveRawDataWhitelist: ISaveRawDataWhitelist[];
|
|
41
|
+
metrics: IMetricsConfig;
|
|
40
42
|
telemetry: IJaegerConfig;
|
|
41
43
|
}
|
|
42
44
|
export {};
|
|
@@ -47,6 +47,11 @@ exports.config = {
|
|
|
47
47
|
debug: process.env.SENTRY_DEBUG === "true",
|
|
48
48
|
tracesSampleRate: process.env.SENTRY_TRACE_RATE ? parseFloat(process.env.SENTRY_TRACE_RATE) : 0,
|
|
49
49
|
},
|
|
50
|
+
metrics: {
|
|
51
|
+
enabled: process.env.METRICS_ENABLED === "true",
|
|
52
|
+
port: process.env.METRICS_PORT ? parseInt(process.env.METRICS_PORT, 10) : 9001,
|
|
53
|
+
prefix: process.env.METRICS_PREFIX || "",
|
|
54
|
+
},
|
|
50
55
|
telemetry: {
|
|
51
56
|
jaegerEnabled: process.env.JAEGER_ENABLED === "true",
|
|
52
57
|
jaegerHost: process.env.JAEGER_AGENT_HOST,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/input-gateway/config/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/input-gateway/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IJaegerConfig } from "../../monitoring";
|
|
1
|
+
import { IJaegerConfig, IMetricsConfig } from "../../monitoring";
|
|
2
2
|
import { ISentryConfig } from "../../monitoring/sentry/sentry-provider";
|
|
3
3
|
export interface IConfiguration {
|
|
4
4
|
DATA_BATCH_SIZE: string | number;
|
|
@@ -48,6 +48,7 @@ export interface IConfiguration {
|
|
|
48
48
|
wait_for_end_attempts: number;
|
|
49
49
|
wait_for_end_interval: number;
|
|
50
50
|
};
|
|
51
|
+
metrics: IMetricsConfig;
|
|
51
52
|
telemetry: IJaegerConfig;
|
|
52
53
|
vehiclePositions: {
|
|
53
54
|
stepBetweenPoints: number;
|
|
@@ -59,6 +59,11 @@ exports.config = {
|
|
|
59
59
|
wait_for_end_attempts: parseInt(process.env.STREAM_WAIT_FOR_END_ATTEMPTS, 10) || 30,
|
|
60
60
|
wait_for_end_interval: parseInt(process.env.STREAM_WAIT_FOR_END_INTERVAL, 10) || 1000,
|
|
61
61
|
},
|
|
62
|
+
metrics: {
|
|
63
|
+
enabled: process.env.METRICS_ENABLED === "true",
|
|
64
|
+
port: process.env.METRICS_PORT ? parseInt(process.env.METRICS_PORT, 10) : 9001,
|
|
65
|
+
prefix: process.env.METRICS_PREFIX || "",
|
|
66
|
+
},
|
|
62
67
|
telemetry: {
|
|
63
68
|
jaegerEnabled: process.env.JAEGER_ENABLED === "true",
|
|
64
69
|
jaegerHost: process.env.JAEGER_AGENT_HOST,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/integration-engine/config/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/integration-engine/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ exports.DataSource = void 0;
|
|
|
13
13
|
const errors_1 = require("@golemio/errors");
|
|
14
14
|
const helpers_1 = require("../helpers");
|
|
15
15
|
const datasources_1 = require("./");
|
|
16
|
+
const _monitoring_1 = require("../../monitoring");
|
|
16
17
|
class DataSource {
|
|
17
18
|
constructor(name, protocolStrategy, dataTypeStrategy = null, validator = null) {
|
|
18
19
|
this.setProtocolStrategy = (strategy) => {
|
|
@@ -75,12 +76,14 @@ class DataSource {
|
|
|
75
76
|
helpers_1.log.warn(`${this.name}: Data source returned empty data.`);
|
|
76
77
|
// logging number of records
|
|
77
78
|
helpers_1.loggerEvents.emit(helpers_1.LoggerEventType.NumberOfRecords, { name: this.name, numberOfRecords: 0 });
|
|
79
|
+
_monitoring_1.metricsService.recordNumberOfRecords({ name: this.name }, 0);
|
|
78
80
|
}
|
|
79
81
|
else {
|
|
80
82
|
helpers_1.loggerEvents.emit(helpers_1.LoggerEventType.NumberOfRecords, {
|
|
81
83
|
name: this.name,
|
|
82
84
|
numberOfRecords: content instanceof Array ? content.length : 1,
|
|
83
85
|
});
|
|
86
|
+
_monitoring_1.metricsService.recordNumberOfRecords({ name: this.name }, content instanceof Array ? content.length : 1);
|
|
84
87
|
}
|
|
85
88
|
};
|
|
86
89
|
this.formatDataForError = (data) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSource.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/DataSource.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA8C;AAE9C,wCAAiE;AACjE,oCAAoH;
|
|
1
|
+
{"version":3,"file":"DataSource.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/DataSource.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ const errors_1 = require("@golemio/errors");
|
|
|
14
14
|
const config_1 = require("../config");
|
|
15
15
|
const helpers_1 = require("../helpers");
|
|
16
16
|
const datasources_1 = require("./");
|
|
17
|
+
const _monitoring_1 = require("../../monitoring");
|
|
17
18
|
class DataSourceStreamed extends datasources_1.DataSource {
|
|
18
19
|
constructor() {
|
|
19
20
|
super(...arguments);
|
|
@@ -127,15 +128,18 @@ class DataSourceStreamed extends datasources_1.DataSource {
|
|
|
127
128
|
helpers_1.log.warn(`${this.name}: Data source returned empty data.`);
|
|
128
129
|
// logging number of records
|
|
129
130
|
helpers_1.loggerEvents.emit(helpers_1.LoggerEventType.NumberOfRecords, { name: this.name, numberOfRecords: 0 });
|
|
131
|
+
_monitoring_1.metricsService.recordNumberOfRecords({ name: this.name }, 0);
|
|
130
132
|
}
|
|
131
133
|
else {
|
|
132
134
|
if (content instanceof Array) {
|
|
133
135
|
// logging number of records
|
|
134
136
|
helpers_1.loggerEvents.emit(helpers_1.LoggerEventType.NumberOfRecords, { name: this.name, numberOfRecords: content.length });
|
|
137
|
+
_monitoring_1.metricsService.recordNumberOfRecords({ name: this.name }, content.length);
|
|
135
138
|
}
|
|
136
139
|
else {
|
|
137
140
|
// logging number of records
|
|
138
141
|
helpers_1.loggerEvents.emit(helpers_1.LoggerEventType.NumberOfRecords, { name: this.name, numberOfRecords: 1 });
|
|
142
|
+
_monitoring_1.metricsService.recordNumberOfRecords({ name: this.name }, 1);
|
|
139
143
|
}
|
|
140
144
|
this.dataStream.push(content);
|
|
141
145
|
// clear the buffer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataSourceStreamed.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/DataSourceStreamed.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA8C;AAE9C,sCAAoC;AACpC,wCAAiE;AACjE,oCAA4E;
|
|
1
|
+
{"version":3,"file":"DataSourceStreamed.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/DataSourceStreamed.ts"],"names":[],"mappings":"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"}
|
package/dist/monitoring/index.js
CHANGED
|
@@ -12,4 +12,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./opentelemetry/trace-provider"), exports);
|
|
14
14
|
__exportStar(require("./sentry/sentry-provider"), exports);
|
|
15
|
+
__exportStar(require("./metrics"), exports);
|
|
15
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/monitoring/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAA+C;AAC/C,2DAAyC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/monitoring/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAA+C;AAC/C,2DAAyC;AACzC,4CAA0B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Counter, Gauge, Histogram } from "prom-client";
|
|
2
|
+
import { IMetricsConfigurationList } from "../metrics-interface";
|
|
3
|
+
export interface IApiMetrics {
|
|
4
|
+
apiAllRequestTotal: Counter<string>;
|
|
5
|
+
apiRequestTotal: Counter<string>;
|
|
6
|
+
apiAllSuccessTotal: Counter<string>;
|
|
7
|
+
apiAllErrorsTotal: Counter<string>;
|
|
8
|
+
apiRequestDurationMilliseconds: Histogram<string>;
|
|
9
|
+
apiRequestSizeBytes: Histogram<string>;
|
|
10
|
+
apiResponseSizeBytes: Histogram<string>;
|
|
11
|
+
apiAllRequestInProcessingTotal: Gauge<string>;
|
|
12
|
+
}
|
|
13
|
+
export declare const apiMetricsConfig: IMetricsConfigurationList<IApiMetrics>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.apiMetricsConfig = void 0;
|
|
4
|
+
const metrics_helpers_1 = require("../metrics-helpers");
|
|
5
|
+
const default_buckets_1 = require("./default-buckets");
|
|
6
|
+
exports.apiMetricsConfig = {
|
|
7
|
+
apiAllRequestTotal: {
|
|
8
|
+
name: "api_all_request_total",
|
|
9
|
+
type: metrics_helpers_1.MetricsType.COUNTER,
|
|
10
|
+
help: "The total number of all API requests received",
|
|
11
|
+
},
|
|
12
|
+
apiRequestTotal: {
|
|
13
|
+
name: "api_request_total",
|
|
14
|
+
type: metrics_helpers_1.MetricsType.COUNTER,
|
|
15
|
+
help: "The total number of all API requests",
|
|
16
|
+
labelNames: ["method", "route", "status"],
|
|
17
|
+
},
|
|
18
|
+
apiAllSuccessTotal: {
|
|
19
|
+
name: "api_all_success_total",
|
|
20
|
+
type: metrics_helpers_1.MetricsType.COUNTER,
|
|
21
|
+
help: "The total number of all API requests with success response",
|
|
22
|
+
},
|
|
23
|
+
apiAllErrorsTotal: {
|
|
24
|
+
name: "api_all_errors_total",
|
|
25
|
+
type: metrics_helpers_1.MetricsType.COUNTER,
|
|
26
|
+
help: "The total number of all API requests with error response",
|
|
27
|
+
},
|
|
28
|
+
apiRequestDurationMilliseconds: {
|
|
29
|
+
name: "api_request_duration_milliseconds",
|
|
30
|
+
type: metrics_helpers_1.MetricsType.HISTOGRAM,
|
|
31
|
+
help: "API requests duration",
|
|
32
|
+
labelNames: ["method", "route", "status"],
|
|
33
|
+
buckets: default_buckets_1.durationSecondsBuckets,
|
|
34
|
+
},
|
|
35
|
+
apiRequestSizeBytes: {
|
|
36
|
+
name: "api_request_size_bytes",
|
|
37
|
+
type: metrics_helpers_1.MetricsType.HISTOGRAM,
|
|
38
|
+
help: "API requests size",
|
|
39
|
+
labelNames: ["method", "route", "status"],
|
|
40
|
+
buckets: default_buckets_1.sizeBytesBuckets,
|
|
41
|
+
},
|
|
42
|
+
apiResponseSizeBytes: {
|
|
43
|
+
name: "api_response_size_bytes",
|
|
44
|
+
type: metrics_helpers_1.MetricsType.HISTOGRAM,
|
|
45
|
+
help: "API response size",
|
|
46
|
+
labelNames: ["method", "route", "status"],
|
|
47
|
+
buckets: default_buckets_1.sizeBytesBuckets,
|
|
48
|
+
},
|
|
49
|
+
apiAllRequestInProcessingTotal: {
|
|
50
|
+
name: "api_all_request_in_processing_total",
|
|
51
|
+
type: metrics_helpers_1.MetricsType.GAUGE,
|
|
52
|
+
help: "The total number of all API requests currently in flight",
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=api-metrics-definitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-metrics-definitions.js","sourceRoot":"","sources":["../../../../src/monitoring/metrics/definitions/api-metrics-definitions.ts"],"names":[],"mappings":";;;AAEA,wDAAkE;AAClE,uDAA2G;AAa9F,QAAA,gBAAgB,GAA2C;IACpE,kBAAkB,EAAE;QAChB,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,6BAAW,CAAC,OAAO;QACzB,IAAI,EAAE,+CAA+C;KACxD;IACD,eAAe,EAAE;QACb,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,6BAAW,CAAC,OAAO;QACzB,IAAI,EAAE,sCAAsC;QAC5C,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;KAC5C;IACD,kBAAkB,EAAE;QAChB,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,6BAAW,CAAC,OAAO;QACzB,IAAI,EAAE,4DAA4D;KACrE;IACD,iBAAiB,EAAE;QACf,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,6BAAW,CAAC,OAAO;QACzB,IAAI,EAAE,0DAA0D;KACnE;IACD,8BAA8B,EAAE;QAC5B,IAAI,EAAE,mCAAmC;QACzC,IAAI,EAAE,6BAAW,CAAC,SAAS;QAC3B,IAAI,EAAE,uBAAuB;QAC7B,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;QACzC,OAAO,EAAE,wCAAsB;KAClC;IACD,mBAAmB,EAAE;QACjB,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,6BAAW,CAAC,SAAS;QAC3B,IAAI,EAAE,mBAAmB;QACzB,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;QACzC,OAAO,EAAE,kCAAgB;KAC5B;IACD,oBAAoB,EAAE;QAClB,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,6BAAW,CAAC,SAAS;QAC3B,IAAI,EAAE,mBAAmB;QACzB,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;QACzC,OAAO,EAAE,kCAAgB;KAC5B;IACD,8BAA8B,EAAE;QAC5B,IAAI,EAAE,qCAAqC;QAC3C,IAAI,EAAE,6BAAW,CAAC,KAAK;QACvB,IAAI,EAAE,0DAA0D;KACnE;CACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Histogram } from "prom-client";
|
|
2
|
+
import { IMetricsConfigurationList } from "../metrics-interface";
|
|
3
|
+
export interface ICustomMetrics {
|
|
4
|
+
moduleNumberOfRecords: Histogram<string>;
|
|
5
|
+
}
|
|
6
|
+
export declare const customMetricsConfig: IMetricsConfigurationList<ICustomMetrics>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.customMetricsConfig = void 0;
|
|
4
|
+
const metrics_helpers_1 = require("../metrics-helpers");
|
|
5
|
+
const default_buckets_1 = require("./default-buckets");
|
|
6
|
+
exports.customMetricsConfig = {
|
|
7
|
+
moduleNumberOfRecords: {
|
|
8
|
+
name: "module_number_of_records",
|
|
9
|
+
type: metrics_helpers_1.MetricsType.HISTOGRAM,
|
|
10
|
+
help: "The total number of records received",
|
|
11
|
+
labelNames: ["method", "route", "name"],
|
|
12
|
+
buckets: default_buckets_1.countBuckets,
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=custom-metrics-definitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-metrics-definitions.js","sourceRoot":"","sources":["../../../../src/monitoring/metrics/definitions/custom-metrics-definitions.ts"],"names":[],"mappings":";;;AAEA,wDAAkE;AAClE,uDAA+E;AAMlE,QAAA,mBAAmB,GAA8C;IAC1E,qBAAqB,EAAE;QACnB,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,6BAAW,CAAC,SAAS;QAC3B,IAAI,EAAE,sCAAsC;QAC5C,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;QACvC,OAAO,EAAE,8BAAY;KACxB;CACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.countBuckets = exports.sizeBytesBuckets = exports.durationSecondsBuckets = void 0;
|
|
7
|
+
const prom_client_1 = __importDefault(require("prom-client"));
|
|
8
|
+
exports.durationSecondsBuckets = [0.01, 0.025, 0.05, 0.1, 0.5, 1, 2.5, 5, 10];
|
|
9
|
+
exports.sizeBytesBuckets = prom_client_1.default.exponentialBuckets(10, 10, 8);
|
|
10
|
+
exports.countBuckets = prom_client_1.default.exponentialBuckets(1, 2, 18);
|
|
11
|
+
//# sourceMappingURL=default-buckets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-buckets.js","sourceRoot":"","sources":["../../../../src/monitoring/metrics/definitions/default-buckets.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAqC;AAExB,QAAA,sBAAsB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACtE,QAAA,gBAAgB,GAAG,qBAAU,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5D,QAAA,YAAY,GAAG,qBAAU,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./metrics-service"), exports);
|
|
14
|
+
__exportStar(require("./metrics-interface"), exports);
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/monitoring/metrics/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAkC;AAClC,sDAAoC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.registerMetrics = void 0;
|
|
15
|
+
const prom_client_1 = require("prom-client");
|
|
16
|
+
const metrics_helpers_1 = require("./metrics-helpers");
|
|
17
|
+
const registerMetrics = (registry, metricsConfigurationList, prefix) => {
|
|
18
|
+
let registeredMetrics = {};
|
|
19
|
+
for (const prop in metricsConfigurationList) {
|
|
20
|
+
const definition = metricsConfigurationList[prop];
|
|
21
|
+
registeredMetrics[prop] = createMetrics(definition, prefix);
|
|
22
|
+
registry.registerMetric(registeredMetrics[prop]);
|
|
23
|
+
}
|
|
24
|
+
return registeredMetrics;
|
|
25
|
+
};
|
|
26
|
+
exports.registerMetrics = registerMetrics;
|
|
27
|
+
const createMetrics = (definition, prefix) => {
|
|
28
|
+
var _a, _b, _c, _d;
|
|
29
|
+
const { type } = definition, metricsConfig = __rest(definition, ["type"]);
|
|
30
|
+
switch (type) {
|
|
31
|
+
case metrics_helpers_1.MetricsType.COUNTER: {
|
|
32
|
+
return new prom_client_1.Counter(Object.assign(Object.assign({}, metricsConfig), { name: `${prefix}${metricsConfig.name}`, help: (_a = metricsConfig.help) !== null && _a !== void 0 ? _a : `${metricsConfig.name}_counter` }));
|
|
33
|
+
}
|
|
34
|
+
case metrics_helpers_1.MetricsType.HISTOGRAM: {
|
|
35
|
+
return new prom_client_1.Histogram(Object.assign(Object.assign({}, metricsConfig), { name: `${prefix}${metricsConfig.name}`, help: (_b = metricsConfig.help) !== null && _b !== void 0 ? _b : `${metricsConfig.name}_histogram` }));
|
|
36
|
+
}
|
|
37
|
+
case metrics_helpers_1.MetricsType.GAUGE: {
|
|
38
|
+
return new prom_client_1.Gauge(Object.assign(Object.assign({}, metricsConfig), { name: `${prefix}${metricsConfig.name}`, help: (_c = metricsConfig.help) !== null && _c !== void 0 ? _c : `${metricsConfig.name}_gauge` }));
|
|
39
|
+
}
|
|
40
|
+
case metrics_helpers_1.MetricsType.SUMMARY: {
|
|
41
|
+
return new prom_client_1.Summary(Object.assign(Object.assign({}, metricsConfig), { name: `${prefix}${metricsConfig.name}`, help: (_d = metricsConfig.help) !== null && _d !== void 0 ? _d : `${metricsConfig.name}_summary` }));
|
|
42
|
+
}
|
|
43
|
+
default:
|
|
44
|
+
throw new Error("Unexpected metrics type");
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=metrics-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-builder.js","sourceRoot":"","sources":["../../../src/monitoring/metrics/metrics-builder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,6CAA2E;AAE3E,uDAAkE;AAE3D,MAAM,eAAe,GAAG,CAC3B,QAAkB,EAClB,wBAAsD,EACtD,MAAc,EACb,EAAE;IACH,IAAI,iBAAiB,GAAQ,EAAE,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,wBAAwB,EAAE;QACzC,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAClD,iBAAiB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5D,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;KACpD;IAED,OAAO,iBAAiB,CAAC;AAC7B,CAAC,CAAC;AAdW,QAAA,eAAe,mBAc1B;AAEF,MAAM,aAAa,GAAG,CAAC,UAAiC,EAAE,MAAc,EAAE,EAAE;;IACxE,MAAM,EAAE,IAAI,KAAuB,UAAU,EAA5B,aAAa,UAAK,UAAU,EAAvC,QAA0B,CAAa,CAAC;IAE9C,QAAQ,IAAI,EAAE;QACV,KAAK,6BAAW,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,IAAI,qBAAO,iCACX,aAAa,KAChB,IAAI,EAAE,GAAG,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,EACtC,IAAI,EAAE,MAAA,aAAa,CAAC,IAAI,mCAAI,GAAG,aAAa,CAAC,IAAI,UAAU,IAC7D,CAAC;SACN;QACD,KAAK,6BAAW,CAAC,SAAS,CAAC,CAAC;YACxB,OAAO,IAAI,uBAAS,iCACb,aAAa,KAChB,IAAI,EAAE,GAAG,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,EACtC,IAAI,EAAE,MAAA,aAAa,CAAC,IAAI,mCAAI,GAAG,aAAa,CAAC,IAAI,YAAY,IAC/D,CAAC;SACN;QACD,KAAK,6BAAW,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,IAAI,mBAAK,iCACT,aAAa,KAChB,IAAI,EAAE,GAAG,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,EACtC,IAAI,EAAE,MAAA,aAAa,CAAC,IAAI,mCAAI,GAAG,aAAa,CAAC,IAAI,QAAQ,IAC3D,CAAC;SACN;QACD,KAAK,6BAAW,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,IAAI,qBAAO,iCACX,aAAa,KAChB,IAAI,EAAE,GAAG,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,EACtC,IAAI,EAAE,MAAA,aAAa,CAAC,IAAI,mCAAI,GAAG,aAAa,CAAC,IAAI,UAAU,IAC7D,CAAC;SACN;QACD;YACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAClD;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare enum MetricsType {
|
|
2
|
+
COUNTER = "COUNTER",
|
|
3
|
+
HISTOGRAM = "HISTOGRAM",
|
|
4
|
+
SUMMARY = "SUMMARY",
|
|
5
|
+
GAUGE = "GAUGE"
|
|
6
|
+
}
|
|
7
|
+
export declare enum StatusCodeTypes {
|
|
8
|
+
INFO = "INFO",
|
|
9
|
+
SUCCESS = "SUCCESS",
|
|
10
|
+
REDIRECT = "REDIRECT",
|
|
11
|
+
ERROR = "ERROR"
|
|
12
|
+
}
|
|
13
|
+
export declare const getStatusCodeType: (statusCode: number) => StatusCodeTypes;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getStatusCodeType = exports.StatusCodeTypes = exports.MetricsType = void 0;
|
|
4
|
+
var MetricsType;
|
|
5
|
+
(function (MetricsType) {
|
|
6
|
+
MetricsType["COUNTER"] = "COUNTER";
|
|
7
|
+
MetricsType["HISTOGRAM"] = "HISTOGRAM";
|
|
8
|
+
MetricsType["SUMMARY"] = "SUMMARY";
|
|
9
|
+
MetricsType["GAUGE"] = "GAUGE";
|
|
10
|
+
})(MetricsType = exports.MetricsType || (exports.MetricsType = {}));
|
|
11
|
+
var StatusCodeTypes;
|
|
12
|
+
(function (StatusCodeTypes) {
|
|
13
|
+
StatusCodeTypes["INFO"] = "INFO";
|
|
14
|
+
StatusCodeTypes["SUCCESS"] = "SUCCESS";
|
|
15
|
+
StatusCodeTypes["REDIRECT"] = "REDIRECT";
|
|
16
|
+
StatusCodeTypes["ERROR"] = "ERROR";
|
|
17
|
+
})(StatusCodeTypes = exports.StatusCodeTypes || (exports.StatusCodeTypes = {}));
|
|
18
|
+
const getStatusCodeType = (statusCode) => {
|
|
19
|
+
if (statusCode < 200)
|
|
20
|
+
return StatusCodeTypes.INFO;
|
|
21
|
+
if (statusCode < 300)
|
|
22
|
+
return StatusCodeTypes.SUCCESS;
|
|
23
|
+
if (statusCode < 400)
|
|
24
|
+
return StatusCodeTypes.REDIRECT;
|
|
25
|
+
return StatusCodeTypes.ERROR;
|
|
26
|
+
};
|
|
27
|
+
exports.getStatusCodeType = getStatusCodeType;
|
|
28
|
+
//# sourceMappingURL=metrics-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-helpers.js","sourceRoot":"","sources":["../../../src/monitoring/metrics/metrics-helpers.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAKX;AALD,WAAY,WAAW;IACnB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;IACvB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;AACnB,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAED,IAAY,eAKX;AALD,WAAY,eAAe;IACvB,gCAAa,CAAA;IACb,sCAAmB,CAAA;IACnB,wCAAqB,CAAA;IACrB,kCAAe,CAAA;AACnB,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AAEM,MAAM,iBAAiB,GAAG,CAAC,UAAkB,EAAE,EAAE;IACpD,IAAI,UAAU,GAAG,GAAG;QAAE,OAAO,eAAe,CAAC,IAAI,CAAC;IAClD,IAAI,UAAU,GAAG,GAAG;QAAE,OAAO,eAAe,CAAC,OAAO,CAAC;IACrD,IAAI,UAAU,GAAG,GAAG;QAAE,OAAO,eAAe,CAAC,QAAQ,CAAC;IACtD,OAAO,eAAe,CAAC,KAAK,CAAC;AACjC,CAAC,CAAC;AALW,QAAA,iBAAiB,qBAK5B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface IMetricsConfig {
|
|
2
|
+
enabled: boolean;
|
|
3
|
+
port: number;
|
|
4
|
+
prefix: string;
|
|
5
|
+
}
|
|
6
|
+
export interface IMetricsClientConfig {
|
|
7
|
+
app_name: string;
|
|
8
|
+
app_version?: string;
|
|
9
|
+
metrics: IMetricsConfig;
|
|
10
|
+
}
|
|
11
|
+
export interface IMetricsConfiguration {
|
|
12
|
+
type: string;
|
|
13
|
+
name: string;
|
|
14
|
+
help: string;
|
|
15
|
+
labelNames?: string[];
|
|
16
|
+
buckets?: number[];
|
|
17
|
+
}
|
|
18
|
+
export declare type IMetricsConfigurationList<T extends Record<string, any>> = {
|
|
19
|
+
[name in keyof T]: IMetricsConfiguration;
|
|
20
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-interface.js","sourceRoot":"","sources":["../../../src/monitoring/metrics/metrics-interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Request, Response, NextFunction } from "express";
|
|
2
|
+
import { Registry } from "prom-client";
|
|
3
|
+
import { IMetricsClientConfig } from "./metrics-interface";
|
|
4
|
+
import { ILogger } from "../../helpers";
|
|
5
|
+
export declare const apiMetricsMiddleware: (registry: Registry, config: IMetricsClientConfig, log: ILogger) => (req: Request, res: Response, next: NextFunction) => void;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.apiMetricsMiddleware = void 0;
|
|
4
|
+
const metrics_helpers_1 = require("./metrics-helpers");
|
|
5
|
+
const metrics_builder_1 = require("./metrics-builder");
|
|
6
|
+
const api_metrics_definitions_1 = require("./definitions/api-metrics-definitions");
|
|
7
|
+
const apiMetricsMiddleware = (registry, config, log) => {
|
|
8
|
+
if (!config.metrics.enabled) {
|
|
9
|
+
return noopMiddleware;
|
|
10
|
+
}
|
|
11
|
+
const apiMetrics = (0, metrics_builder_1.registerMetrics)(registry, api_metrics_definitions_1.apiMetricsConfig, config.metrics.prefix);
|
|
12
|
+
return (req, res, next) => {
|
|
13
|
+
handleRequest(apiMetrics, req, res, log);
|
|
14
|
+
return next();
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
exports.apiMetricsMiddleware = apiMetricsMiddleware;
|
|
18
|
+
const noopMiddleware = (req, res, next) => {
|
|
19
|
+
return next();
|
|
20
|
+
};
|
|
21
|
+
const setMetricsRequestProp = (req) => {
|
|
22
|
+
req._metrics = {
|
|
23
|
+
initialBytesWritten: req.socket.bytesWritten || 0,
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
const getResponseContentLength = (req, res) => {
|
|
27
|
+
const resSize = res.get("Content-Length");
|
|
28
|
+
if (resSize) {
|
|
29
|
+
return resSize;
|
|
30
|
+
}
|
|
31
|
+
let initial = req._metrics.initialBytesWritten;
|
|
32
|
+
let written = req.socket.bytesWritten - initial;
|
|
33
|
+
if ("_header" in res) {
|
|
34
|
+
// @ts-ignore
|
|
35
|
+
const headerBufferLength = Buffer.from(res["_header"]).length;
|
|
36
|
+
written -= headerBufferLength;
|
|
37
|
+
}
|
|
38
|
+
return written;
|
|
39
|
+
};
|
|
40
|
+
const handleRequest = (metrics, req, res, log) => {
|
|
41
|
+
setMetricsRequestProp(req);
|
|
42
|
+
let endMeasurement;
|
|
43
|
+
try {
|
|
44
|
+
endMeasurement = metrics.apiRequestDurationMilliseconds.startTimer();
|
|
45
|
+
metrics.apiAllRequestTotal.inc();
|
|
46
|
+
metrics.apiAllRequestInProcessingTotal.inc();
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
log.warn(`ApiMetricsMiddleware: handleRequest error: ${err}`);
|
|
50
|
+
}
|
|
51
|
+
res.on("finish", () => {
|
|
52
|
+
try {
|
|
53
|
+
const routeNormalized = req.baseUrl + req.path;
|
|
54
|
+
const labels = { method: req.method, route: routeNormalized, status: res.statusCode };
|
|
55
|
+
metrics.apiRequestTotal.labels(labels).inc();
|
|
56
|
+
const reqSize = req.get("Content-Length") || 0;
|
|
57
|
+
metrics.apiRequestSizeBytes.observe(labels, Number(reqSize));
|
|
58
|
+
const resSize = getResponseContentLength(req, res);
|
|
59
|
+
metrics.apiResponseSizeBytes.observe(labels, Number(resSize));
|
|
60
|
+
switch ((0, metrics_helpers_1.getStatusCodeType)(res.statusCode)) {
|
|
61
|
+
case metrics_helpers_1.StatusCodeTypes.SUCCESS:
|
|
62
|
+
metrics.apiAllSuccessTotal.inc();
|
|
63
|
+
break;
|
|
64
|
+
case metrics_helpers_1.StatusCodeTypes.ERROR:
|
|
65
|
+
metrics.apiAllErrorsTotal.inc();
|
|
66
|
+
break;
|
|
67
|
+
default:
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
metrics.apiAllRequestInProcessingTotal.dec();
|
|
71
|
+
endMeasurement(labels);
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
log.warn(`ApiMetricsMiddleware: handleRequest on finish error: ${err}`);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=metrics-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-middleware.js","sourceRoot":"","sources":["../../../src/monitoring/metrics/metrics-middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/// <reference types="qs" />
|
|
2
|
+
import express, { Request } from "express";
|
|
3
|
+
import { Server } from "http";
|
|
4
|
+
import { ILogger } from "../../helpers";
|
|
5
|
+
import { IMetricsClientConfig } from "./metrics-interface";
|
|
6
|
+
import { ICustomMetrics } from "./definitions/custom-metrics-definitions";
|
|
7
|
+
export interface IWorkerLabelData {
|
|
8
|
+
name: string;
|
|
9
|
+
}
|
|
10
|
+
export declare type INumberOfRecordsLabelData = Request | IWorkerLabelData;
|
|
11
|
+
declare class MetricsService {
|
|
12
|
+
private registry;
|
|
13
|
+
private metricsConfig;
|
|
14
|
+
private log;
|
|
15
|
+
customMetrics: ICustomMetrics | undefined;
|
|
16
|
+
init: (config: IMetricsClientConfig, log: ILogger) => void;
|
|
17
|
+
metricsMiddleware: () => (req: express.Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>, res: express.Response<any, Record<string, any>>, next: express.NextFunction) => void;
|
|
18
|
+
serveMetrics: () => Server | undefined;
|
|
19
|
+
recordNumberOfRecords: (labelsObject: INumberOfRecordsLabelData, numberOfRecords: number) => void;
|
|
20
|
+
}
|
|
21
|
+
declare const metricsService: MetricsService;
|
|
22
|
+
export { metricsService };
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.metricsService = void 0;
|
|
16
|
+
const prom_client_1 = __importDefault(require("prom-client"));
|
|
17
|
+
const express_1 = __importDefault(require("express"));
|
|
18
|
+
const metrics_middleware_1 = require("./metrics-middleware");
|
|
19
|
+
const metrics_builder_1 = require("./metrics-builder");
|
|
20
|
+
const custom_metrics_definitions_1 = require("./definitions/custom-metrics-definitions");
|
|
21
|
+
class MetricsService {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.init = (config, log) => {
|
|
24
|
+
prom_client_1.default.register.setDefaultLabels({ appName: config.app_name, appVersion: config.app_version });
|
|
25
|
+
prom_client_1.default.collectDefaultMetrics({
|
|
26
|
+
prefix: config.metrics.prefix,
|
|
27
|
+
});
|
|
28
|
+
this.metricsConfig = config;
|
|
29
|
+
this.registry = prom_client_1.default.register;
|
|
30
|
+
this.log = log;
|
|
31
|
+
this.customMetrics = (0, metrics_builder_1.registerMetrics)(this.registry, custom_metrics_definitions_1.customMetricsConfig, this.metricsConfig.metrics.prefix);
|
|
32
|
+
};
|
|
33
|
+
this.metricsMiddleware = () => {
|
|
34
|
+
if (!this.registry || !this.metricsConfig || !this.log) {
|
|
35
|
+
throw new Error("Metrics service not initialized.");
|
|
36
|
+
}
|
|
37
|
+
return (0, metrics_middleware_1.apiMetricsMiddleware)(this.registry, this.metricsConfig, this.log);
|
|
38
|
+
};
|
|
39
|
+
this.serveMetrics = () => {
|
|
40
|
+
if (!this.registry || !this.metricsConfig || !this.log) {
|
|
41
|
+
throw new Error("Metrics service not initialized.");
|
|
42
|
+
}
|
|
43
|
+
if (!this.metricsConfig.metrics.enabled)
|
|
44
|
+
return;
|
|
45
|
+
const metricsApp = (0, express_1.default)();
|
|
46
|
+
metricsApp.use("/metrics", (req, res, _) => __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
const response = yield this.registry.metrics();
|
|
48
|
+
res.writeHead(200, { "Content-Type": "text/plain" });
|
|
49
|
+
res.end(response);
|
|
50
|
+
}));
|
|
51
|
+
return metricsApp.listen(this.metricsConfig.metrics.port, () => {
|
|
52
|
+
this.log.info(`Serving metrics on http://localhost:${this.metricsConfig.metrics.port}/metrics`);
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
this.recordNumberOfRecords = (labelsObject, numberOfRecords) => {
|
|
56
|
+
if (!this.metricsConfig || !this.log || !this.customMetrics) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const isRequestObject = (obj) => {
|
|
60
|
+
return obj.method !== undefined && obj.originalUrl !== undefined;
|
|
61
|
+
};
|
|
62
|
+
let labels;
|
|
63
|
+
if (isRequestObject(labelsObject)) {
|
|
64
|
+
labels = { method: labelsObject.method, route: labelsObject.originalUrl };
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
labels = { name: labelsObject.name };
|
|
68
|
+
}
|
|
69
|
+
if (this.metricsConfig.metrics.enabled) {
|
|
70
|
+
this.customMetrics.moduleNumberOfRecords.labels(labels).observe(numberOfRecords);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this.log.verbose(`NumberOfRecords: ${labels.toString()} : ${numberOfRecords}`);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
const metricsService = new MetricsService();
|
|
79
|
+
exports.metricsService = metricsService;
|
|
80
|
+
//# sourceMappingURL=metrics-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-service.js","sourceRoot":"","sources":["../../../src/monitoring/metrics/metrics-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,11 @@ exports.config = {
|
|
|
41
41
|
debug: process.env.SENTRY_DEBUG === "true",
|
|
42
42
|
tracesSampleRate: process.env.SENTRY_TRACE_RATE ? parseFloat(process.env.SENTRY_TRACE_RATE) : 0,
|
|
43
43
|
},
|
|
44
|
+
metrics: {
|
|
45
|
+
enabled: process.env.METRICS_ENABLED === "true",
|
|
46
|
+
port: process.env.METRICS_PORT ? parseInt(process.env.METRICS_PORT, 10) : 9001,
|
|
47
|
+
prefix: process.env.METRICS_PREFIX || "",
|
|
48
|
+
},
|
|
44
49
|
telemetry: {
|
|
45
50
|
jaegerEnabled: process.env.JAEGER_ENABLED === "true",
|
|
46
51
|
jaegerHost: process.env.JAEGER_AGENT_HOST,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/output-gateway/config/config.ts"],"names":[],"mappings":";;;AAAA,MAAM,qBAAqB,GAAG,GAAW,EAAE;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAChB,OAAO,MAAM,CAAC;SACjB;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAW,EAAE;IACjC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE;QAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAChB,OAAO,MAAM,CAAC;SACjB;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEW,QAAA,MAAM,GAAG;IAClB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;IAC5C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,gBAAgB;IAClD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;IAChC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;IACxC,aAAa,EAAE,eAAe,EAAE;IAChC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;IAC/C,oBAAoB,EAAE,qBAAqB,EAAE;IAC7C,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;IACtB,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;IAC9C,6BAA6B,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa;IACxF,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;IACxC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM,IAAI,KAAK;IAC1D,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;IACxC,MAAM,EAAE;QACJ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM;QAC9C,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;QAC3B,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE;QACrE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAC3C,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM;QAC1C,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;KAClG;IACD,SAAS,EAAE;QACP,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM;QACpD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QACzC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACnG,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;KACvG;CACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/output-gateway/config/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,124 +1,127 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
2
|
+
"name": "@golemio/core",
|
|
3
|
+
"version": "1.1.10",
|
|
4
|
+
"description": "Golemio Core Module",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"golemio-import-test-data": "bin/import-test-data.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "rimraf ./dist && ttsc -p ./tsconfig.build.json",
|
|
12
|
+
"build-minimal": "run-s 'build --sourceMap false --declaration false'",
|
|
13
|
+
"build-watch": "run-s 'build --watch --preserveWatchOutput'",
|
|
14
|
+
"test": "cross-env NODE_ENV=test TS_NODE_COMPILER='ttypescript' mocha --exit --check-leaks --timeout 120000 -r ts-node/register -r dotenv/config 'test/**/*.test.ts'",
|
|
15
|
+
"test-debug": "run-s 'test --inspect-brk=9230'",
|
|
16
|
+
"code-coverage": "nyc run-s 'test -r source-map-support/register'",
|
|
17
|
+
"generate-docs": "typedoc --out docs/typedoc src",
|
|
18
|
+
"lint": "eslint '{src,test}/**/*.ts'"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"golemio"
|
|
22
|
+
],
|
|
23
|
+
"author": "Operator ICT, a.s.",
|
|
24
|
+
"license": "MIT",
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "https://gitlab.com/operator-ict/golemio/code/modules/core"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@commitlint/cli": "^11.0.0",
|
|
31
|
+
"@commitlint/config-conventional": "^11.0.0",
|
|
32
|
+
"@golemio/eslint-config": "^1.0.2",
|
|
33
|
+
"@types/amqplib": "^0.5.17",
|
|
34
|
+
"@types/apicache": "^1.2.3",
|
|
35
|
+
"@types/chai": "4.2.3",
|
|
36
|
+
"@types/chai-as-promised": "7.1.2",
|
|
37
|
+
"@types/content-type": "^1.1.3",
|
|
38
|
+
"@types/debug": "0.0.31",
|
|
39
|
+
"@types/decompress": "^4.2.3",
|
|
40
|
+
"@types/ioredis": "^4.17.10",
|
|
41
|
+
"@types/lodash": "^4.14.165",
|
|
42
|
+
"@types/mocha": "^8.2.0",
|
|
43
|
+
"@types/morgan": "^1.9.2",
|
|
44
|
+
"@types/node": "^14.14.20",
|
|
45
|
+
"@types/redis": "^2.8.28",
|
|
46
|
+
"@types/sinon": "7.0.13",
|
|
47
|
+
"@types/ssh2-sftp-client": "^5.3.1",
|
|
48
|
+
"@types/supertest": "^2.0.11",
|
|
49
|
+
"@zerollup/ts-transform-paths": "^1.7.18",
|
|
50
|
+
"chai": "4.2.0",
|
|
51
|
+
"chai-as-promised": "7.1.1",
|
|
52
|
+
"cross-env": "^7.0.3",
|
|
53
|
+
"eslint": "^7.17.0",
|
|
54
|
+
"husky": "^4.3.7",
|
|
55
|
+
"mocha": "^9.1.2",
|
|
56
|
+
"nock": "^13.0.5",
|
|
57
|
+
"npm-run-all": "^4.1.5",
|
|
58
|
+
"nyc": "^15.1.0",
|
|
59
|
+
"prettier": "^2.2.1",
|
|
60
|
+
"pretty-quick": "^3.1.0",
|
|
61
|
+
"rimraf": "^3.0.2",
|
|
62
|
+
"sinon": "7.1.1",
|
|
63
|
+
"source-map-support": "0.5.9",
|
|
64
|
+
"supertest": "^6.1.6",
|
|
65
|
+
"ts-node": "^9.1.1",
|
|
66
|
+
"ttypescript": "^1.5.12",
|
|
67
|
+
"typedoc": "^0.21.4",
|
|
68
|
+
"typescript": "^4.1.3"
|
|
69
|
+
},
|
|
70
|
+
"dependencies": {
|
|
71
|
+
"@golemio/errors": "^1.0.1",
|
|
72
|
+
"@golemio/utils": "^1.0.0",
|
|
73
|
+
"@golemio/validator": "0.2.0",
|
|
74
|
+
"@google-cloud/storage": "^5.7.1",
|
|
75
|
+
"@opentelemetry/api": "^1.0.2",
|
|
76
|
+
"@opentelemetry/exporter-jaeger": "^0.24.0",
|
|
77
|
+
"@opentelemetry/instrumentation-express": "^0.24.0",
|
|
78
|
+
"@opentelemetry/instrumentation-http": "^0.24.0",
|
|
79
|
+
"@opentelemetry/instrumentation-ioredis": "^0.24.0",
|
|
80
|
+
"@opentelemetry/node": "^0.24.0",
|
|
81
|
+
"@opentelemetry/resources": "^0.24.0",
|
|
82
|
+
"@opentelemetry/tracing": "^0.24.0",
|
|
83
|
+
"@sentry/node": "^6.11.0",
|
|
84
|
+
"@sentry/tracing": "^6.11.0",
|
|
85
|
+
"@types/express": "^4.16.0",
|
|
86
|
+
"@types/request-promise": "^4.1.45",
|
|
87
|
+
"amqplib": "^0.7.1",
|
|
88
|
+
"apicache": "^1.6.3",
|
|
89
|
+
"aws-sdk": "^2.823.0",
|
|
90
|
+
"axios": "^0.21.2",
|
|
91
|
+
"basic-ftp": "^4.6.6",
|
|
92
|
+
"content-type": "^1.0.4",
|
|
93
|
+
"debug": "3.1.0",
|
|
94
|
+
"decompress": "^4.2.1",
|
|
95
|
+
"dotenv": "^8.2.0",
|
|
96
|
+
"express": "^4.16.4",
|
|
97
|
+
"express-validator": "^5.3.1",
|
|
98
|
+
"fast-csv": "^4.3.6",
|
|
99
|
+
"fast-glob": "^3.2.5",
|
|
100
|
+
"iconv-lite": "^0.6.2",
|
|
101
|
+
"influx": "^5.6.3",
|
|
102
|
+
"ioredis": "^4.19.4",
|
|
103
|
+
"lightship": "^6.7.2",
|
|
104
|
+
"lodash": "^4.17.21",
|
|
105
|
+
"moment-timezone": "^0.5.26",
|
|
106
|
+
"mongodb-restore-dump": "1.0.1",
|
|
107
|
+
"mongoose": "^5.3.6",
|
|
108
|
+
"morgan": "^1.10.0",
|
|
109
|
+
"opentelemetry-instrumentation-amqplib": "^0.24.0",
|
|
110
|
+
"opentelemetry-instrumentation-aws-sdk": "^0.24.1",
|
|
111
|
+
"opentelemetry-instrumentation-mongoose": "^0.24.0",
|
|
112
|
+
"opentelemetry-instrumentation-sequelize": "^0.24.0",
|
|
113
|
+
"path-to-regexp": "^6.2.0",
|
|
114
|
+
"pg": "^8.6.0",
|
|
115
|
+
"prom-client": "^14.0.0",
|
|
116
|
+
"redis": "^3.1.1",
|
|
117
|
+
"request": "2.88.0",
|
|
118
|
+
"request-promise": "^4.2.5",
|
|
119
|
+
"sequelize": "^6.6.5",
|
|
120
|
+
"ssh2-sftp-client": "^7.1.0",
|
|
121
|
+
"winston": "^3.3.3",
|
|
122
|
+
"xml2js-es6-promise": "^1.1.1"
|
|
123
|
+
},
|
|
124
|
+
"resolutions": {
|
|
125
|
+
"mpath": "^0.8.4"
|
|
126
|
+
}
|
|
124
127
|
}
|