terafoundation 0.60.0 → 0.62.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAKnC,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAoLvE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAMnC,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAsNvE"}
@@ -27,6 +27,7 @@ const events_1 = require("events");
27
27
  const ts = __importStar(require("@terascope/utils"));
28
28
  const connector_utils_1 = require("../connector-utils");
29
29
  const utils_1 = require("./utils");
30
+ const prom_metrics_api_1 = require("./prom-metrics/prom-metrics-api");
30
31
  /*
31
32
  * This module controls the API endpoints that are exposed under context.apis.
32
33
  */
@@ -131,7 +132,8 @@ function registerApis(context) {
131
132
  });
132
133
  }
133
134
  return workers;
134
- }
135
+ },
136
+ promMetrics: new prom_metrics_api_1.PromMetrics(context, context.logger)
135
137
  };
136
138
  function _registerFoundationAPIs() {
137
139
  registerAPI('foundation', foundationApis);
@@ -164,6 +166,39 @@ function registerApis(context) {
164
166
  };
165
167
  _registerFoundationAPIs();
166
168
  _registerLegacyAPIs();
169
+ /*
170
+ * Setup proxy for 'foundation.promMetrics' here to have access to 'PromMetrics' functions.
171
+ * This proxy allows the interception of the 'promMetrics' function calls in the case that
172
+ * 'PromMetrics' has not been initialized.
173
+ */
174
+ const promMetricsProxy = new Proxy(context.apis.foundation.promMetrics, {
175
+ get(promMetrics, funcName) {
176
+ const apiExists = promMetrics.verifyAPI();
177
+ if (apiExists) {
178
+ if (funcName === 'init') {
179
+ throw new Error('Prom metrics API cannot be initialized more than once.');
180
+ }
181
+ return promMetrics[funcName];
182
+ }
183
+ if (funcName === 'init') {
184
+ return promMetrics[funcName];
185
+ }
186
+ if (funcName === 'hasMetric' || funcName === 'deleteMetric') {
187
+ return () => false;
188
+ }
189
+ if (funcName === 'set' || funcName === 'addMetric'
190
+ || funcName === 'addSummary' || funcName === 'inc'
191
+ || funcName === 'dec' || funcName === 'observe'
192
+ || funcName === 'shutdown') {
193
+ return () => {
194
+ /// return empty function
195
+ };
196
+ }
197
+ return promMetrics[funcName];
198
+ }
199
+ });
200
+ /// Set the global promMetrics to the promMetricsProxy to override functions everywhere
201
+ context.apis.foundation.promMetrics = promMetricsProxy;
167
202
  }
168
203
  exports.default = registerApis;
169
204
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Logger } from '@terascope/utils';
2
+ import { PromMetricsAPIConfig } from '../../interfaces';
3
+ export type CloseExporter = () => void;
4
+ export default class Exporter {
5
+ private metricServer;
6
+ logger: Logger;
7
+ constructor(logger: Logger);
8
+ create(promMetricsAPIConfig: PromMetricsAPIConfig): Promise<void>;
9
+ shutdown(): Promise<void>;
10
+ deleteMetric(name: string): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=exporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../../../src/api/prom-metrics/exporter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC;AAEvC,MAAM,CAAC,OAAO,OAAO,QAAQ;IACzB,OAAO,CAAC,YAAY,CAAU;IAC9B,MAAM,EAAE,MAAM,CAAC;gBAEH,MAAM,EAAE,MAAM;IAIpB,MAAM,CACR,oBAAoB,EAAE,oBAAoB;IA0BxC,QAAQ;IAIR,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGlD"}
@@ -0,0 +1,44 @@
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
+ const prom_client_1 = __importDefault(require("prom-client"));
7
+ const express_1 = __importDefault(require("express"));
8
+ class Exporter {
9
+ constructor(logger) {
10
+ this.logger = logger.child({ module: 'prometheus_exporter' });
11
+ }
12
+ async create(promMetricsAPIConfig) {
13
+ try {
14
+ if (promMetricsAPIConfig.default_metrics) {
15
+ const defaultMetricsConfig = {
16
+ prefix: promMetricsAPIConfig.prefix,
17
+ labels: promMetricsAPIConfig.labels
18
+ };
19
+ prom_client_1.default.collectDefaultMetrics(defaultMetricsConfig);
20
+ }
21
+ const { port } = promMetricsAPIConfig;
22
+ const app = (0, express_1.default)();
23
+ app.get('/', async (_req, res) => {
24
+ res.status(404).send('See the \'/metrics\' endpoint for the teraslice metric exporter\n');
25
+ });
26
+ app.get('/metrics', async (_req, res) => {
27
+ res.set('Content-Type', prom_client_1.default.register.contentType);
28
+ res.end(await prom_client_1.default.register.metrics());
29
+ });
30
+ this.metricServer = app.listen(port);
31
+ }
32
+ catch (err) {
33
+ this.logger.error('Prometheus exporter creation failed: ', err);
34
+ }
35
+ }
36
+ async shutdown() {
37
+ this.metricServer.close();
38
+ }
39
+ async deleteMetric(name) {
40
+ prom_client_1.default.register.removeSingleMetric(name);
41
+ }
42
+ }
43
+ exports.default = Exporter;
44
+ //# sourceMappingURL=exporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/api/prom-metrics/exporter.ts"],"names":[],"mappings":";;;;;AAAA,8DAAqC;AACrC,sDAAqD;AAOrD,MAAqB,QAAQ;IAIzB,YAAY,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,MAAM,CACR,oBAA0C;QAE1C,IAAI;YACA,IAAI,oBAAoB,CAAC,eAAe,EAAE;gBACtC,MAAM,oBAAoB,GAAG;oBACzB,MAAM,EAAE,oBAAoB,CAAC,MAAM;oBACnC,MAAM,EAAE,oBAAoB,CAAC,MAAM;iBACtC,CAAC;gBACF,qBAAU,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;aAC1D;YACD,MAAM,EAAE,IAAI,EAAE,GAAG,oBAAoB,CAAC;YACtC,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;YACtB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAa,EAAE,GAAa,EAAE,EAAE;gBAChD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;YAC9F,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,IAAa,EAAE,GAAa,EAAE,EAAE;gBACvD,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,qBAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACzD,GAAG,CAAC,GAAG,CAAC,MAAM,qBAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACxC;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;SACnE;IACL,CAAC;IACD,KAAK,CAAC,QAAQ;QACV,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC3B,qBAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;CACJ;AA1CD,2BA0CC"}
@@ -0,0 +1,95 @@
1
+ import { Logger } from '@terascope/utils';
2
+ import * as i from '../../interfaces';
3
+ export declare class PromMetrics {
4
+ readonly metricList: i.MetricList;
5
+ default_labels: Record<string, string>;
6
+ prefix: string;
7
+ private metricExporter;
8
+ context: i.FoundationContext;
9
+ apiConfig: i.PromMetricsAPIConfig;
10
+ apiRunning: boolean;
11
+ logger: Logger;
12
+ constructor(context: i.FoundationContext, logger: Logger);
13
+ /**
14
+ * Initialize the promMetrics API and create an exporter server. Will not initialize a new API
15
+ * if in native clustering or if the API has already been initialized.
16
+ * @param {i.PromMetricsInitConfig} config PromMetricsInitConfig values override those
17
+ * of terafoundation. This allows jobs to set different metrics configurations than the master.
18
+ * @returns {Promise<boolean>} Was the API initialized
19
+ */
20
+ init(config: i.PromMetricsInitConfig): Promise<boolean>;
21
+ /**
22
+ * [set metric to value]
23
+ * @param {string} name [metric name]
24
+ * @param {Record<string, string>} labels [list of labels and labels values]
25
+ * @param {number} value [metric value]
26
+ * @return {void}
27
+ */
28
+ set(name: string, labels: Record<string, string>, value: number): void;
29
+ /**
30
+ * [increment metric by value]
31
+ * @param {string} name [metric name]
32
+ * @param {Record<string, string>} labels [list of labels and labels values]
33
+ * @param {number} value [metric value, default = 1]
34
+ * @return {void}
35
+ */
36
+ inc(name: string, labels: Record<string, string>, value?: number): void;
37
+ /**
38
+ * [decrement metric by value]
39
+ * @param {string} name [metric name]
40
+ * @param {Record<string, string>} labels [list of labels and labels values]
41
+ * @param {number} value [metric value, default = 1]
42
+ * @return {void}
43
+ */
44
+ dec(name: string, labels: Record<string, string>, value?: number): void;
45
+ /**
46
+ * [observe value, used by summary metric type]
47
+ * @param {string} name [metric name]
48
+ * @param {Array<string, string>} labels [list of labels and labels values]
49
+ * @param {number} value [metric value]
50
+ * @return {void}
51
+ */
52
+ observe(name: string, labels: Record<string, string>, value: number): void;
53
+ /**
54
+ * [addMetric (define) new metric]
55
+ * @param {string} name [metric name]
56
+ * @param {string} help [metric help]
57
+ * @param {Array<string>} labelsNames [list of label names]
58
+ * @param {'gauge' | 'counter' | 'histogram'} type [gauge,counter,histogram,or summary]
59
+ * @param {Array<number>} buckets [default buckets]
60
+ * @return {Promise<void>}
61
+ */
62
+ addMetric(name: string, help: string, labelsNames: Array<string>, type: 'gauge' | 'counter' | 'histogram', buckets?: Array<number>): Promise<void>;
63
+ /**
64
+ * [hasMetric check if metricList contains metric]
65
+ * @param {string} name [metric name]
66
+ * @return {boolean}
67
+ */
68
+ hasMetric(name: string): boolean;
69
+ /**
70
+ * [deleteMetric delete metric from metricList]
71
+ * @param {string} name [metric name]
72
+ * @return {Promise<boolean>} [was the metric successfully deleted]
73
+ */
74
+ deleteMetric(name: string): Promise<boolean>;
75
+ /**
76
+ * [addSummary (define) new summary metric]
77
+ * @param {string} name [metric name]
78
+ * @param {string} help [metric help]
79
+ * @param {Array<string>} labelsNames [list of label names]
80
+ * @param {Array<number>} percentiles [metric percentiles, default[0.01, 0.1, 0.9, 0.99] ]
81
+ * @param {number} maxAgeSeconds [how old a bucket can be before it is reset ]
82
+ * @param {number} ageBuckets [how many buckets for sliding window ]
83
+ * @return {Promise<void>}
84
+ */
85
+ addSummary(name: string, help: string, labelsNames: Array<string>, maxAgeSeconds?: number, ageBuckets?: number, percentiles?: Array<number>): Promise<void>;
86
+ private _createGaugeMetric;
87
+ private _createCounterMetric;
88
+ private _createHistogramMetric;
89
+ private _createSummaryMetric;
90
+ private _setPodName;
91
+ private createAPI;
92
+ verifyAPI(): boolean;
93
+ shutdown(): Promise<void>;
94
+ }
95
+ //# sourceMappingURL=prom-metrics-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prom-metrics-api.d.ts","sourceRoot":"","sources":["../../../../src/api/prom-metrics/prom-metrics-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAM1C,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AAItC,qBAAa,WAAW;IACpB,QAAQ,CAAC,UAAU,EAAG,CAAC,CAAC,UAAU,CAAC;IAEnC,cAAc,EAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC;IAC7B,SAAS,EAAE,CAAC,CAAC,oBAAoB,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;gBAGX,OAAO,EAAE,CAAC,CAAC,iBAAiB,EAC5B,MAAM,EAAE,MAAM;IAUlB;;;;;;OAMG;IACG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,qBAAqB;IA0C1C;;;;;;OAMG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAgBtE;;;;;;OAMG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,SAAI,GAAG,IAAI;IAiBlE;;;;;;OAMG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,SAAI,GAAG,IAAI;IAgBlE;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAiB1E;;;;;;;;OAQG;IACG,SAAS,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAC1B,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,EACvC,OAAO,GAAE,KAAK,CAAC,MAAM,CAA8B,GACpD,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;;OAIG;IAEH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIhC;;;;OAIG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBlD;;;;;;;;;OASG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EACzB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAC1B,aAAa,SAAM,EACnB,UAAU,SAAI,EACd,WAAW,GAAE,KAAK,CAAC,MAAM,CAA0B,GACpD,OAAO,CAAC,IAAI,CAAC;IAchB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,WAAW;YAQL,SAAS;IAoBvB,SAAS,IAAI,OAAO;IAId,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CASlC"}
@@ -0,0 +1,294 @@
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.PromMetrics = void 0;
7
+ const os_1 = __importDefault(require("os"));
8
+ const prom_client_1 = require("prom-client");
9
+ const exporter_1 = __importDefault(require("./exporter"));
10
+ class PromMetrics {
11
+ constructor(context, logger) {
12
+ this.context = context;
13
+ this.apiRunning = false;
14
+ this.apiConfig = {};
15
+ this.prefix = '';
16
+ this.logger = logger.child({ module: 'prom_metrics' });
17
+ this.metricList = {};
18
+ }
19
+ /**
20
+ * Initialize the promMetrics API and create an exporter server. Will not initialize a new API
21
+ * if in native clustering or if the API has already been initialized.
22
+ * @param {i.PromMetricsInitConfig} config PromMetricsInitConfig values override those
23
+ * of terafoundation. This allows jobs to set different metrics configurations than the master.
24
+ * @returns {Promise<boolean>} Was the API initialized
25
+ */
26
+ async init(config) {
27
+ const { terafoundation, teraslice } = config.context.sysconfig;
28
+ const metricsEnabledInTF = terafoundation.prom_metrics_enabled;
29
+ const portToUse = config.port || terafoundation.prom_metrics_port;
30
+ if (teraslice.cluster_manager_type === 'native') {
31
+ this.logger.warn('Skipping PromMetricsAPI initialization: incompatible with native clustering.');
32
+ return false;
33
+ }
34
+ // If prom_metrics_add_default is defined in jobSpec use that value.
35
+ // If not use the terafoundation value.
36
+ const useDefaultMetrics = config.default_metrics !== undefined
37
+ ? config.default_metrics
38
+ : terafoundation.prom_metrics_add_default;
39
+ // If prom_metrics_enabled is true in jobConfig, or if not specified in
40
+ // jobSpec and true in terafoundation, then we enable metrics.
41
+ if (config.metrics_enabled_by_job === true
42
+ || (config.metrics_enabled_by_job === undefined && metricsEnabledInTF)) {
43
+ const apiConfig = {
44
+ assignment: config.assignment,
45
+ port: portToUse,
46
+ default_metrics: useDefaultMetrics,
47
+ labels: config.labels,
48
+ prefix: config.prefix
49
+ };
50
+ this.prefix = apiConfig.prefix || `teraslice_${apiConfig.assignment}_`;
51
+ this.default_labels = {
52
+ name: this.context.sysconfig.teraslice.name,
53
+ assignment: apiConfig.assignment,
54
+ ...apiConfig.labels
55
+ };
56
+ await this.createAPI(apiConfig);
57
+ return true;
58
+ }
59
+ this.logger.warn('Cannot create PromMetricsAPI because metrics are disabled.');
60
+ return false;
61
+ }
62
+ /**
63
+ * [set metric to value]
64
+ * @param {string} name [metric name]
65
+ * @param {Record<string, string>} labels [list of labels and labels values]
66
+ * @param {number} value [metric value]
67
+ * @return {void}
68
+ */
69
+ set(name, labels, value) {
70
+ const metric = this.metricList[name];
71
+ if (!metric.functions || !metric.metric) {
72
+ throw new Error(`Metric ${name} is not setup`);
73
+ }
74
+ if (metric.metric instanceof prom_client_1.Gauge) {
75
+ const labelValues = Object.keys(labels).map((key) => labels[key]);
76
+ const res = metric.metric.labels(...labelValues.concat(Object.values(this.default_labels)));
77
+ res.set(value);
78
+ }
79
+ else {
80
+ throw new Error(`set not available on ${name} metric`);
81
+ }
82
+ }
83
+ /**
84
+ * [increment metric by value]
85
+ * @param {string} name [metric name]
86
+ * @param {Record<string, string>} labels [list of labels and labels values]
87
+ * @param {number} value [metric value, default = 1]
88
+ * @return {void}
89
+ */
90
+ inc(name, labels, value = 1) {
91
+ const metric = this.metricList[name];
92
+ if (!metric.functions || !metric.metric) {
93
+ throw new Error(`Metric ${name} is not setup`);
94
+ }
95
+ if (metric.metric instanceof prom_client_1.Counter || metric.metric instanceof prom_client_1.Gauge) {
96
+ const labelValues = Object.keys(labels).map((key) => labels[key]);
97
+ const res = metric.metric.labels(...labelValues.concat(Object.values(this.default_labels)));
98
+ res.inc(value);
99
+ }
100
+ else {
101
+ throw new Error(`inc not available on ${name} metric`);
102
+ }
103
+ }
104
+ /**
105
+ * [decrement metric by value]
106
+ * @param {string} name [metric name]
107
+ * @param {Record<string, string>} labels [list of labels and labels values]
108
+ * @param {number} value [metric value, default = 1]
109
+ * @return {void}
110
+ */
111
+ dec(name, labels, value = 1) {
112
+ const metric = this.metricList[name];
113
+ if (!metric.functions || !metric.metric) {
114
+ throw new Error(`Metric ${name} is not setup`);
115
+ }
116
+ if (metric.metric instanceof prom_client_1.Gauge) {
117
+ const labelValues = Object.keys(labels).map((key) => labels[key]);
118
+ const res = metric.metric.labels(...labelValues.concat(Object.values(this.default_labels)));
119
+ res.dec(value);
120
+ }
121
+ else {
122
+ throw new Error(`dec not available on ${name} metric`);
123
+ }
124
+ }
125
+ /**
126
+ * [observe value, used by summary metric type]
127
+ * @param {string} name [metric name]
128
+ * @param {Array<string, string>} labels [list of labels and labels values]
129
+ * @param {number} value [metric value]
130
+ * @return {void}
131
+ */
132
+ observe(name, labels, value) {
133
+ const metric = this.metricList[name];
134
+ if (!metric.functions || !metric.metric) {
135
+ throw new Error(`Metric ${name} is not setup`);
136
+ }
137
+ if (metric.metric instanceof prom_client_1.Summary || metric.metric instanceof prom_client_1.Histogram) {
138
+ const labelValues = Object.keys(labels).map((key) => labels[key]);
139
+ const res = metric.metric.labels(...labelValues.concat(Object.values(this.default_labels)));
140
+ res.observe(value);
141
+ }
142
+ else {
143
+ throw new Error(`observe not available on ${name} metric`);
144
+ }
145
+ }
146
+ /**
147
+ * [addMetric (define) new metric]
148
+ * @param {string} name [metric name]
149
+ * @param {string} help [metric help]
150
+ * @param {Array<string>} labelsNames [list of label names]
151
+ * @param {'gauge' | 'counter' | 'histogram'} type [gauge,counter,histogram,or summary]
152
+ * @param {Array<number>} buckets [default buckets]
153
+ * @return {Promise<void>}
154
+ */
155
+ async addMetric(name, help, labelsNames, type, buckets = [0.1, 5, 15, 50, 100, 500]) {
156
+ if (!this.hasMetric(name)) {
157
+ const fullname = this.prefix + name;
158
+ if (type === 'gauge') {
159
+ this.metricList[name] = this._createGaugeMetric(fullname, help, labelsNames.concat(Object.keys(this.default_labels)));
160
+ }
161
+ if (type === 'counter') {
162
+ this.metricList[name] = this._createCounterMetric(fullname, help, labelsNames.concat(Object.keys(this.default_labels)));
163
+ }
164
+ if (type === 'histogram') {
165
+ this.metricList[name] = this._createHistogramMetric(fullname, help, labelsNames.concat(Object.keys(this.default_labels)), buckets);
166
+ }
167
+ }
168
+ else {
169
+ this.logger.info(`metric ${name} already defined in metric list`);
170
+ }
171
+ }
172
+ /**
173
+ * [hasMetric check if metricList contains metric]
174
+ * @param {string} name [metric name]
175
+ * @return {boolean}
176
+ */
177
+ hasMetric(name) {
178
+ return (name in this.metricList);
179
+ }
180
+ /**
181
+ * [deleteMetric delete metric from metricList]
182
+ * @param {string} name [metric name]
183
+ * @return {Promise<boolean>} [was the metric successfully deleted]
184
+ */
185
+ async deleteMetric(name) {
186
+ let deleted = false;
187
+ const fullname = this.prefix + name;
188
+ this.logger.info(`delete metric ${fullname}`);
189
+ if (this.hasMetric(name)) {
190
+ deleted = delete this.metricList[name];
191
+ try {
192
+ await this.metricExporter.deleteMetric(fullname);
193
+ }
194
+ catch (err) {
195
+ deleted = false;
196
+ throw new Error(`unable to delete metric ${fullname} from exporter`);
197
+ }
198
+ }
199
+ else {
200
+ throw new Error(`metric ${name} not defined in metric list`);
201
+ }
202
+ return deleted;
203
+ }
204
+ /**
205
+ * [addSummary (define) new summary metric]
206
+ * @param {string} name [metric name]
207
+ * @param {string} help [metric help]
208
+ * @param {Array<string>} labelsNames [list of label names]
209
+ * @param {Array<number>} percentiles [metric percentiles, default[0.01, 0.1, 0.9, 0.99] ]
210
+ * @param {number} maxAgeSeconds [how old a bucket can be before it is reset ]
211
+ * @param {number} ageBuckets [how many buckets for sliding window ]
212
+ * @return {Promise<void>}
213
+ */
214
+ async addSummary(name, help, labelsNames, maxAgeSeconds = 600, ageBuckets = 5, percentiles = [0.01, 0.1, 0.9, 0.99]) {
215
+ if (!(name in this.metricList)) {
216
+ const fullname = this.prefix + name;
217
+ this.metricList[name] = this._createSummaryMetric(fullname, help, labelsNames.concat(Object.keys(this.default_labels)), percentiles, maxAgeSeconds, ageBuckets);
218
+ }
219
+ }
220
+ _createGaugeMetric(name, help, labelsNames) {
221
+ const gauge = new prom_client_1.Gauge({
222
+ name,
223
+ help,
224
+ labelNames: labelsNames,
225
+ });
226
+ return { name, metric: gauge, functions: new Set(['inc', 'dec', 'set']) };
227
+ }
228
+ _createCounterMetric(name, help, labelsNames) {
229
+ const counter = new prom_client_1.Counter({
230
+ name,
231
+ help,
232
+ labelNames: labelsNames,
233
+ });
234
+ return { name, metric: counter, functions: new Set(['inc']) };
235
+ }
236
+ _createHistogramMetric(name, help, labelsNames, buckets) {
237
+ const histogram = new prom_client_1.Histogram({
238
+ name,
239
+ help,
240
+ labelNames: labelsNames,
241
+ buckets
242
+ });
243
+ return { name, metric: histogram, functions: new Set(['observe']) };
244
+ }
245
+ _createSummaryMetric(name, help, labelsNames, percentiles, ageBuckets, maxAgeSeconds) {
246
+ const histogram = new prom_client_1.Summary({
247
+ name,
248
+ help,
249
+ labelNames: labelsNames,
250
+ percentiles,
251
+ maxAgeSeconds,
252
+ ageBuckets
253
+ });
254
+ return { name, metric: histogram, functions: new Set(['observe']) };
255
+ }
256
+ _setPodName() {
257
+ // in a pod the hostname is the pod name
258
+ const host = os_1.default.hostname();
259
+ if (host.startsWith('ts-wkr-')) {
260
+ this.default_labels.pod_name = host;
261
+ }
262
+ }
263
+ async createAPI(apiConfig) {
264
+ this._setPodName();
265
+ try {
266
+ if (!this.metricExporter) {
267
+ apiConfig.labels = Object.assign({}, apiConfig.labels, this.default_labels);
268
+ this.metricExporter = new exporter_1.default(this.logger);
269
+ await this.metricExporter.create(apiConfig);
270
+ this.logger.info(`prom_metrics_API exporter created on port ${apiConfig.port}`);
271
+ }
272
+ }
273
+ catch (err) {
274
+ this.logger.info('prom_metrics_API exporter already running');
275
+ this.logger.error(err);
276
+ }
277
+ this.apiRunning = true;
278
+ }
279
+ verifyAPI() {
280
+ return this.apiRunning;
281
+ }
282
+ async shutdown() {
283
+ this.logger.info('prom_metrics_API exporter shutdown');
284
+ try {
285
+ await this.metricExporter.shutdown();
286
+ this.apiRunning = false;
287
+ }
288
+ catch (err) {
289
+ this.logger.error(`shutting down metric exporter ${err}`);
290
+ }
291
+ }
292
+ }
293
+ exports.PromMetrics = PromMetrics;
294
+ //# sourceMappingURL=prom-metrics-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prom-metrics-api.js","sourceRoot":"","sources":["../../../../src/api/prom-metrics/prom-metrics-api.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import { Format } from 'convict';
4
+ import type { Gauge, Counter, Histogram, Summary } from 'prom-client';
4
5
  import { EventEmitter } from 'events';
5
6
  import { Logger, Overwrite } from '@terascope/utils';
6
7
  import { Cluster as NodeJSCluster, Worker as NodeJSWorker } from 'cluster';
@@ -41,6 +42,7 @@ export interface FoundationAPIs {
41
42
  client: any;
42
43
  }>;
43
44
  startWorkers(num: number, envOptions: Record<string, string>): void;
45
+ promMetrics: PromMetrics;
44
46
  }
45
47
  export interface LegacyFoundationApis {
46
48
  /** Create a child logger */
@@ -82,9 +84,12 @@ export type FoundationSysConfig<S> = {
82
84
  log_path: string;
83
85
  log_level: LogLevelConfig;
84
86
  logging: LogType[];
85
- asset_storage_connection_type?: string;
86
- asset_storage_connection?: string;
87
+ asset_storage_connection_type: string;
88
+ asset_storage_connection: string;
87
89
  asset_storage_bucket?: string;
90
+ prom_metrics_enabled: boolean;
91
+ prom_metrics_port: number;
92
+ prom_metrics_add_default: boolean;
88
93
  };
89
94
  } & S;
90
95
  export type FoundationContext<S = Record<string, any>, A = Record<string, any>, D extends string = string> = {
@@ -102,4 +107,36 @@ export type FoundationContext<S = Record<string, any>, A = Record<string, any>,
102
107
  export type ParsedArgs<S> = {
103
108
  configfile: FoundationSysConfig<S>;
104
109
  };
110
+ export interface PromMetricsInitConfig extends Omit<PromMetricsAPIConfig, 'port' | 'default_metrics'> {
111
+ context: FoundationContext;
112
+ logger: Logger;
113
+ metrics_enabled_by_job?: boolean;
114
+ port?: number;
115
+ default_metrics?: boolean;
116
+ }
117
+ export interface PromMetricsAPIConfig {
118
+ assignment: string;
119
+ port: number;
120
+ default_metrics: boolean;
121
+ labels?: Record<string, string>;
122
+ prefix?: string;
123
+ }
124
+ export type MetricList = Record<string, {
125
+ readonly name?: string;
126
+ readonly metric?: Gauge<any> | Counter<any> | Histogram<any> | Summary<any>;
127
+ readonly functions?: Set<string>;
128
+ }>;
129
+ export interface PromMetrics {
130
+ init: (config: PromMetricsInitConfig) => Promise<boolean>;
131
+ set: (name: string, labels: Record<string, string>, value: number) => void;
132
+ inc: (name: string, labelValues: Record<string, string>, value: number) => void;
133
+ dec: (name: string, labelValues: Record<string, string>, value: number) => void;
134
+ observe: (name: string, labelValues: Record<string, string>, value: number) => void;
135
+ addMetric: (name: string, help: string, labelNames: Array<string>, type: 'gauge' | 'counter' | 'histogram', buckets?: Array<number>) => Promise<void>;
136
+ addSummary: (name: string, help: string, labelNames: Array<string>, ageBuckets: number, maxAgeSeconds: number, percentiles: Array<number>) => Promise<void>;
137
+ hasMetric: (name: string) => boolean;
138
+ deleteMetric: (name: string) => Promise<boolean>;
139
+ verifyAPI: () => boolean;
140
+ shutdown: () => Promise<void>;
141
+ }
105
142
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD,wBAAgB,gBAAgB,wCAoF/B;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,UAAU,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,GACxC,IAAI,CAkCN"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD,wBAAgB,gBAAgB,wCAmG/B;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,UAAU,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,GACxC,IAAI,CAkCN"}
@@ -84,6 +84,21 @@ function foundationSchema() {
84
84
  doc: 'Name of S3 bucket used to store assets. Can only be used if "asset_storage_connection_type" is "s3".',
85
85
  default: undefined,
86
86
  format: String
87
+ },
88
+ prom_metrics_enabled: {
89
+ doc: 'Create prometheus exporters',
90
+ default: false,
91
+ format: Boolean
92
+ },
93
+ prom_metrics_port: {
94
+ doc: 'Port of prometheus exporter server',
95
+ default: 3333,
96
+ format: Number
97
+ },
98
+ prom_metrics_add_default: {
99
+ doc: 'Display default node metrics in prom exporter',
100
+ default: true,
101
+ format: Boolean
87
102
  }
88
103
  };
89
104
  return schema;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test-context.d.ts","sourceRoot":"","sources":["../../src/test-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAO7C,MAAM,WAAW,aAAa;IAC1B,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,CAAC,qBAAqB,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IAClC,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IACxB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAAC;CACzC;AAED,MAAM,WAAW,eAAe;IAC5B,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAClD,cAAc,IAAI,WAAW,CAAC;CACjC;AAiCD,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;CACxD;AAqBD,qBAAa,WAAW,CACpB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,CAAC,SAAS,MAAM,GAAG,MAAM,CAC3B,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,CAAC;gBAChC,OAAO,GAAE,kBAAkB,CAAC,CAAC,CAAM;CAyHlD"}
1
+ {"version":3,"file":"test-context.d.ts","sourceRoot":"","sources":["../../src/test-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAQ7C,MAAM,WAAW,aAAa;IAC1B,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,CAAC,qBAAqB,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IAClC,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IACxB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAAC;CACzC;AAED,MAAM,WAAW,eAAe;IAC5B,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAClD,cAAc,IAAI,WAAW,CAAC;CACjC;AAiCD,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;CACxD;AAqBD,qBAAa,WAAW,CACpB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,CAAC,SAAS,MAAM,GAAG,MAAM,CAC3B,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,CAAC;gBAChC,OAAO,GAAE,kBAAkB,CAAC,CAAC,CAAM;CA2HlD"}
@@ -31,6 +31,7 @@ const ts = __importStar(require("@terascope/utils"));
31
31
  const nanoid_1 = require("nanoid");
32
32
  const core_context_1 = require("./core-context");
33
33
  const validate_configs_1 = __importDefault(require("./validate-configs"));
34
+ const prom_metrics_api_1 = require("./api/prom-metrics/prom-metrics-api");
34
35
  function getKey(opts) {
35
36
  const { type, endpoint = 'default' } = opts;
36
37
  if (!ts.isString(type))
@@ -127,6 +128,7 @@ class TestContext extends core_context_1.CoreContext {
127
128
  _cachedClients.set(ctx, cachedClients);
128
129
  return client;
129
130
  };
131
+ this.apis.foundation.promMetrics = new prom_metrics_api_1.PromMetrics(ctx, ctx.logger);
130
132
  this.apis.setTestClients = (clients = []) => {
131
133
  clients.forEach((clientConfig) => {
132
134
  const { create, createClient, config: connectionConfig = {} } = clientConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"test-context.js","sourceRoot":"","sources":["../../src/test-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-context.js","sourceRoot":"","sources":["../../src/test-context.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "terafoundation",
3
3
  "displayName": "Terafoundation",
4
- "version": "0.60.0",
4
+ "version": "0.62.0",
5
5
  "description": "A Clustering and Foundation tool for Terascope Tools",
6
6
  "homepage": "https://github.com/terascope/teraslice/tree/master/packages/terafoundation#readme",
7
7
  "bugs": {
@@ -28,27 +28,30 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@terascope/file-asset-apis": "^0.13.0",
31
- "@terascope/types": "^0.15.0",
32
- "@terascope/utils": "^0.57.0",
33
- "aws-sdk": "^2.1401.0",
31
+ "@terascope/types": "^0.16.0",
32
+ "@terascope/utils": "^0.58.0",
34
33
  "bluebird": "^3.7.2",
35
34
  "bunyan": "^1.8.15",
36
35
  "convict": "^6.2.4",
37
36
  "convict-format-with-moment": "^6.2.0",
38
37
  "convict-format-with-validator": "^6.2.0",
39
38
  "elasticsearch": "^15.4.1",
40
- "elasticsearch-store": "^0.81.1",
39
+ "elasticsearch-store": "^0.83.0",
40
+ "express": "^4.19.2",
41
41
  "js-yaml": "^4.1.0",
42
42
  "nanoid": "^3.3.4",
43
43
  "node-webhdfs": "^1.0.2",
44
+ "prom-client": "15.1.2",
44
45
  "yargs": "^17.7.2"
45
46
  },
46
47
  "devDependencies": {
47
48
  "@types/bunyan": "^1.8.11",
48
49
  "@types/elasticsearch": "^5.0.43",
50
+ "@types/express": "^4.17.21",
49
51
  "@types/js-yaml": "^4.0.9",
50
52
  "@types/mongoose": "^5.10.3",
51
- "@types/redis": "^4.0.11"
53
+ "@types/redis": "^4.0.11",
54
+ "got": "^11.8.3"
52
55
  },
53
56
  "engines": {
54
57
  "node": ">=14.17.0",