@openapi-typescript-infra/service 2.7.7 → 2.8.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.
- package/CHANGELOG.md +7 -0
- package/build/config/schema.d.ts +0 -1
- package/build/express-app/app.js +6 -60
- package/build/express-app/app.js.map +1 -1
- package/build/telemetry/index.d.ts +12 -0
- package/build/telemetry/index.js +39 -9
- package/build/telemetry/index.js.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/build/types.d.ts +1 -2
- package/config/config.json +1 -4
- package/package.json +1 -1
- package/src/config/schema.ts +0 -1
- package/src/express-app/app.ts +7 -79
- package/src/telemetry/index.ts +39 -8
- package/src/types.ts +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# [2.8.0](https://github.com/openapi-typescript-infra/service/compare/v2.7.7...v2.8.0) (2023-09-29)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **otlp:** rework OpenTelemetry integration to deal with limitations… ([#10](https://github.com/openapi-typescript-infra/service/issues/10)) ([5ce6e42](https://github.com/openapi-typescript-infra/service/commit/5ce6e42d76041142c23aec5cd5738173197e9613))
|
|
7
|
+
|
|
1
8
|
## [2.7.7](https://github.com/openapi-typescript-infra/service/compare/v2.7.6...v2.7.7) (2023-09-27)
|
|
2
9
|
|
|
3
10
|
|
package/build/config/schema.d.ts
CHANGED
package/build/express-app/app.js
CHANGED
|
@@ -11,59 +11,15 @@ const path_1 = __importDefault(require("path"));
|
|
|
11
11
|
const express_1 = __importDefault(require("express"));
|
|
12
12
|
const pino_1 = require("pino");
|
|
13
13
|
const cookie_parser_1 = __importDefault(require("cookie-parser"));
|
|
14
|
-
const sdk_metrics_1 = require("@opentelemetry/sdk-metrics");
|
|
15
|
-
const resources_1 = require("@opentelemetry/resources");
|
|
16
|
-
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
|
|
17
14
|
const api_1 = require("@opentelemetry/api");
|
|
18
|
-
const exporter_prometheus_1 = require("@opentelemetry/exporter-prometheus");
|
|
19
15
|
const terminus_1 = require("@godaddy/terminus");
|
|
20
16
|
const index_1 = require("../config/index");
|
|
21
17
|
const openapi_1 = require("../openapi");
|
|
22
18
|
const requestLogger_1 = require("../telemetry/requestLogger");
|
|
23
19
|
const env_1 = require("../env");
|
|
20
|
+
const index_2 = require("../telemetry/index");
|
|
24
21
|
const route_loader_1 = require("./route-loader");
|
|
25
22
|
const internal_server_1 = require("./internal-server");
|
|
26
|
-
const METRICS_KEY = Symbol('PrometheusMetricsInfo');
|
|
27
|
-
async function enableMetrics(app, name) {
|
|
28
|
-
const meterProvider = new sdk_metrics_1.MeterProvider({
|
|
29
|
-
resource: new resources_1.Resource({
|
|
30
|
-
[semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: name,
|
|
31
|
-
}),
|
|
32
|
-
});
|
|
33
|
-
api_1.metrics.setGlobalMeterProvider(meterProvider);
|
|
34
|
-
app.locals.meter = meterProvider.getMeter(name);
|
|
35
|
-
const metricsConfig = app.locals.config.get('server:metrics');
|
|
36
|
-
const value = { meterProvider };
|
|
37
|
-
if (metricsConfig?.enabled) {
|
|
38
|
-
const finalConfig = {
|
|
39
|
-
...metricsConfig,
|
|
40
|
-
preventServerStart: true,
|
|
41
|
-
};
|
|
42
|
-
// There is what I would consider a bug in OpenTelemetry metrics
|
|
43
|
-
// wherein adding metrics BEFORE the metricReader is added results
|
|
44
|
-
// in those metrics screaming into the void. So, we need to add
|
|
45
|
-
// this up front and then just tie it to the internal express
|
|
46
|
-
// app if and when "listen" is called.
|
|
47
|
-
const exporter = new exporter_prometheus_1.PrometheusExporter(finalConfig);
|
|
48
|
-
meterProvider.addMetricReader(exporter);
|
|
49
|
-
value.exporter = exporter;
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
app.locals.logger.info('No metrics will be exported');
|
|
53
|
-
}
|
|
54
|
-
// Squirrel it away for later
|
|
55
|
-
Object.defineProperty(app.locals, METRICS_KEY, {
|
|
56
|
-
value,
|
|
57
|
-
enumerable: false,
|
|
58
|
-
configurable: true,
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
async function endMetrics(app) {
|
|
62
|
-
const { internalApp, logger } = app.locals;
|
|
63
|
-
const meterProvider = internalApp?.locals.meterProvider;
|
|
64
|
-
await meterProvider?.shutdown();
|
|
65
|
-
logger.info('Metrics shutdown');
|
|
66
|
-
}
|
|
67
23
|
function isSyncLogging() {
|
|
68
24
|
if (process.env.LOG_SYNC) {
|
|
69
25
|
return true;
|
|
@@ -124,13 +80,7 @@ async function startApp(startOptions) {
|
|
|
124
80
|
if (serviceImpl.attach) {
|
|
125
81
|
await serviceImpl.attach(app);
|
|
126
82
|
}
|
|
127
|
-
|
|
128
|
-
await enableMetrics(app, name);
|
|
129
|
-
}
|
|
130
|
-
catch (error) {
|
|
131
|
-
logger.error(error, 'Could not enable metrics.');
|
|
132
|
-
throw error;
|
|
133
|
-
}
|
|
83
|
+
app.locals.meter = api_1.metrics.getMeterProvider().getMeter(name);
|
|
134
84
|
if (config.get('trustProxy')) {
|
|
135
85
|
app.set('trust proxy', config.get('trustProxy'));
|
|
136
86
|
}
|
|
@@ -245,7 +195,6 @@ async function shutdownApp(app) {
|
|
|
245
195
|
const { logger } = app.locals;
|
|
246
196
|
try {
|
|
247
197
|
await app.locals.service.stop?.(app);
|
|
248
|
-
await endMetrics(app);
|
|
249
198
|
logger.info('App shutdown complete');
|
|
250
199
|
}
|
|
251
200
|
catch (error) {
|
|
@@ -295,7 +244,6 @@ async function listen(app, shutdownHandler) {
|
|
|
295
244
|
onShutdown() {
|
|
296
245
|
return Promise.resolve()
|
|
297
246
|
.then(() => service.stop?.(app))
|
|
298
|
-
.then(() => endMetrics(app))
|
|
299
247
|
.then(shutdownHandler || Promise.resolve)
|
|
300
248
|
.then(() => logger.info('Graceful shutdown complete'))
|
|
301
249
|
.catch((error) => logger.error(error, 'Error terminating tracing'))
|
|
@@ -318,8 +266,6 @@ async function listen(app, shutdownHandler) {
|
|
|
318
266
|
server.on('error', (error) => {
|
|
319
267
|
logger.error(error, 'Main service listener error');
|
|
320
268
|
});
|
|
321
|
-
const metricInfo = app.locals[METRICS_KEY];
|
|
322
|
-
delete app.locals[METRICS_KEY];
|
|
323
269
|
// TODO handle rejection/error?
|
|
324
270
|
const listenPromise = new Promise((accept) => {
|
|
325
271
|
server.listen(port, () => {
|
|
@@ -327,16 +273,16 @@ async function listen(app, shutdownHandler) {
|
|
|
327
273
|
locals.logger.info({ url: url(config, port), service: locals.name }, 'express listening');
|
|
328
274
|
const serverConfig = locals.config.get('server');
|
|
329
275
|
// Ok now start the internal port if we have one.
|
|
330
|
-
if (serverConfig?.internalPort) {
|
|
276
|
+
if (serverConfig?.internalPort || serverConfig?.internalPort === 0) {
|
|
331
277
|
(0, internal_server_1.startInternalApp)(app, serverConfig.internalPort)
|
|
332
278
|
.then((internalApp) => {
|
|
333
279
|
locals.internalApp = internalApp;
|
|
334
|
-
internalApp.locals.meterProvider = metricInfo.meterProvider;
|
|
335
280
|
locals.logger.info({ port: serverConfig.internalPort }, 'Internal metadata server started');
|
|
336
281
|
})
|
|
337
282
|
.then(() => {
|
|
338
|
-
|
|
339
|
-
|
|
283
|
+
const prometheusExporter = (0, index_2.getGlobalPrometheusExporter)();
|
|
284
|
+
if (prometheusExporter) {
|
|
285
|
+
locals.internalApp.get('/metrics', prometheusExporter.getMetricsRequestHandler.bind(prometheusExporter));
|
|
340
286
|
locals.logger.info('Metrics exporter started');
|
|
341
287
|
}
|
|
342
288
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/express-app/app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/express-app/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
|
+
import { PrometheusExporter } from '@opentelemetry/exporter-prometheus';
|
|
3
4
|
import type { DelayLoadServiceStartOptions, RequestLocals, ServiceLocals } from '../types';
|
|
5
|
+
/**
|
|
6
|
+
* OpenTelemetry is not friendly to the idea of stopping
|
|
7
|
+
* and starting itself, it seems. So we can only keep a global
|
|
8
|
+
* instance of the infrastructure no matter how many times
|
|
9
|
+
* you start/stop your service (this is mostly only relevant for testing).
|
|
10
|
+
* In addition, since we have to load it right away before configuration
|
|
11
|
+
* is available, we can't use configuration to decide anything.
|
|
12
|
+
*/
|
|
13
|
+
export declare function startGlobalTelemetry(serviceName: string): void;
|
|
14
|
+
export declare function getGlobalPrometheusExporter(): PrometheusExporter | undefined;
|
|
15
|
+
export declare function shutdownGlobalTelemetry(): Promise<void>;
|
|
4
16
|
export declare function startWithTelemetry<SLocals extends ServiceLocals = ServiceLocals, RLocals extends RequestLocals = RequestLocals>(options: DelayLoadServiceStartOptions): Promise<{
|
|
5
17
|
app: import("../types").ServiceExpress<SLocals>;
|
|
6
18
|
server: import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse> | import("https").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>;
|
package/build/telemetry/index.js
CHANGED
|
@@ -23,10 +23,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.startWithTelemetry = void 0;
|
|
26
|
+
exports.startWithTelemetry = exports.shutdownGlobalTelemetry = exports.getGlobalPrometheusExporter = exports.startGlobalTelemetry = void 0;
|
|
27
27
|
const api_1 = require("@opentelemetry/api");
|
|
28
28
|
const exporter_trace_otlp_proto_1 = require("@opentelemetry/exporter-trace-otlp-proto");
|
|
29
29
|
const opentelemetry = __importStar(require("@opentelemetry/sdk-node"));
|
|
30
|
+
const exporter_prometheus_1 = require("@opentelemetry/exporter-prometheus");
|
|
30
31
|
const instrumentations_1 = require("./instrumentations");
|
|
31
32
|
const DummyExporter_1 = require("./DummyExporter");
|
|
32
33
|
// For troubleshooting, set the log level to DiagLogLevel.DEBUG
|
|
@@ -43,14 +44,43 @@ function getExporter() {
|
|
|
43
44
|
}
|
|
44
45
|
return new DummyExporter_1.DummySpanExporter();
|
|
45
46
|
}
|
|
47
|
+
let prometheusExporter;
|
|
48
|
+
let telemetrySdk;
|
|
49
|
+
/**
|
|
50
|
+
* OpenTelemetry is not friendly to the idea of stopping
|
|
51
|
+
* and starting itself, it seems. So we can only keep a global
|
|
52
|
+
* instance of the infrastructure no matter how many times
|
|
53
|
+
* you start/stop your service (this is mostly only relevant for testing).
|
|
54
|
+
* In addition, since we have to load it right away before configuration
|
|
55
|
+
* is available, we can't use configuration to decide anything.
|
|
56
|
+
*/
|
|
57
|
+
function startGlobalTelemetry(serviceName) {
|
|
58
|
+
if (!prometheusExporter) {
|
|
59
|
+
prometheusExporter = new exporter_prometheus_1.PrometheusExporter({ preventServerStart: true });
|
|
60
|
+
telemetrySdk = new opentelemetry.NodeSDK({
|
|
61
|
+
serviceName,
|
|
62
|
+
autoDetectResources: true,
|
|
63
|
+
traceExporter: getExporter(),
|
|
64
|
+
metricReader: prometheusExporter,
|
|
65
|
+
instrumentations: [(0, instrumentations_1.getAutoInstrumentations)()],
|
|
66
|
+
});
|
|
67
|
+
telemetrySdk.start();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.startGlobalTelemetry = startGlobalTelemetry;
|
|
71
|
+
function getGlobalPrometheusExporter() {
|
|
72
|
+
return prometheusExporter;
|
|
73
|
+
}
|
|
74
|
+
exports.getGlobalPrometheusExporter = getGlobalPrometheusExporter;
|
|
75
|
+
async function shutdownGlobalTelemetry() {
|
|
76
|
+
await prometheusExporter?.shutdown();
|
|
77
|
+
await telemetrySdk?.shutdown();
|
|
78
|
+
telemetrySdk = undefined;
|
|
79
|
+
prometheusExporter = undefined;
|
|
80
|
+
}
|
|
81
|
+
exports.shutdownGlobalTelemetry = shutdownGlobalTelemetry;
|
|
46
82
|
async function startWithTelemetry(options) {
|
|
47
|
-
|
|
48
|
-
serviceName: options.name,
|
|
49
|
-
autoDetectResources: true,
|
|
50
|
-
traceExporter: getExporter(),
|
|
51
|
-
instrumentations: [(0, instrumentations_1.getAutoInstrumentations)()],
|
|
52
|
-
});
|
|
53
|
-
await sdk.start();
|
|
83
|
+
startGlobalTelemetry(options.name);
|
|
54
84
|
// eslint-disable-next-line import/no-unresolved, @typescript-eslint/no-var-requires
|
|
55
85
|
const { startApp, listen } = require('../express-app/app.js');
|
|
56
86
|
// eslint-disable-next-line import/no-dynamic-require, global-require, @typescript-eslint/no-var-requires
|
|
@@ -64,7 +94,7 @@ async function startWithTelemetry(options) {
|
|
|
64
94
|
const app = await startApp(startOptions);
|
|
65
95
|
app.locals.logger.info('OpenTelemetry enabled');
|
|
66
96
|
const server = await listen(app, async () => {
|
|
67
|
-
await
|
|
97
|
+
await shutdownGlobalTelemetry();
|
|
68
98
|
app.locals.logger.info('OpenTelemetry shut down');
|
|
69
99
|
});
|
|
70
100
|
return { app, server };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA2E;AAC3E,wFAA6E;AAC7E,uEAAyD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"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"}
|