@shrub/express-tracing 0.5.34 → 0.5.35
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/esm/index.js +2 -2
- package/dist/esm/middleware.js +5 -6
- package/dist/esm/module.js +14 -4
- package/dist/esm/service.js +3 -2
- package/dist/index.js +3 -2
- package/dist/middleware.d.ts +3 -14
- package/dist/middleware.js +6 -8
- package/dist/module.d.ts +13 -2
- package/dist/module.js +14 -4
- package/dist/service.d.ts +1 -0
- package/dist/service.js +3 -2
- package/package.json +6 -6
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export * from "./middleware";
|
|
2
2
|
export * from "./module";
|
|
3
|
-
export { TraceHeaders } from "./service";
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
export { IRequestTracingOptions, TraceHeaders } from "./service";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQyJ9
|
package/dist/esm/middleware.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { IExpressTracingService } from "./service";
|
|
1
|
+
import { IExpressTracingService, IRequestTracingOptions } from "./service";
|
|
2
|
+
export { IRequestTracingOptions };
|
|
2
3
|
attachErrorListener();
|
|
3
|
-
/** Adds a span to the request context. */
|
|
4
|
-
export const addSpanRequestBuilder = (context, span) => ({ ...context, span });
|
|
5
4
|
/** Request tracing middleware that will start a new span for a request. */
|
|
6
|
-
export const
|
|
5
|
+
export const requestTracing = (options) => {
|
|
7
6
|
return (req, res, next) => {
|
|
8
7
|
const service = req.context.services.tryGet(IExpressTracingService);
|
|
9
8
|
if (!service) {
|
|
10
9
|
return next(new Error("express-tracing-service not registered, make sure the ExpressTracingModule is loaded when using request tracing."));
|
|
11
10
|
}
|
|
12
11
|
const span = service.startSpan(req, options);
|
|
13
|
-
req.
|
|
12
|
+
req.context.span = span;
|
|
14
13
|
// if a request connection is 'keep-alive' the response will never finish;
|
|
15
14
|
// so instead, listen for the close event for when the connection has been closed
|
|
16
15
|
// https://nodejs.org/api/http.html#http_event_close_1
|
|
@@ -54,4 +53,4 @@ function attachErrorListener() {
|
|
|
54
53
|
return ref.call(this, error, req, res, next);
|
|
55
54
|
};
|
|
56
55
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUUzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztBQVFsQyxtQkFBbUIsRUFBRSxDQUFDO0FBRXRCLDJFQUEyRTtBQUMzRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFnQyxFQUFrQixFQUFFO0lBQy9FLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxrSEFBa0gsQ0FBQyxDQUFDLENBQUM7U0FDOUk7UUFFRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3QyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFFeEIsMEVBQTBFO1FBQzFFLGlGQUFpRjtRQUVqRixzREFBc0Q7UUFDdEQsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFekQscURBQXFEO1FBQ3JELEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtZQUNwQixJQUFJLEdBQUcsQ0FBQyxVQUFVLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFO2dCQUMvQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLFFBQVEsRUFBRTtvQkFDVixJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBVSxRQUFRLENBQUMsQ0FBQztpQkFDL0M7YUFDSjtZQUVELE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7UUFDMUIsR0FBRyxDQUFDLFNBQVMsR0FBRyxTQUFTLFNBQVM7WUFDOUIsMkNBQTJDO1lBQzNDLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsS0FBSyxZQUFZLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDcEM7WUFFRCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQWdCLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUM7UUFFRixJQUFJLEVBQUUsQ0FBQztJQUNYLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsbUJBQW1CO0lBQ3hCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO0lBQ3pDLEtBQUssQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLFNBQVMsWUFBWSxDQUFDLEtBQVksRUFBRSxHQUFZLEVBQUUsR0FBYSxFQUFFLElBQWtCO1FBQzlHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDaEMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDLENBQUE7QUFDTCxDQUFDIn0=
|
package/dist/esm/module.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { createConfig, IOptionsService } from "@shrub/core";
|
|
1
2
|
import { ExpressModule, IExpressConfiguration } from "@shrub/express";
|
|
2
3
|
import { TracingModule } from "@shrub/tracing";
|
|
3
|
-
import {
|
|
4
|
+
import { IRequestTracingOptions, requestTracing } from "./middleware";
|
|
4
5
|
import { ExpressTracingService, IExpressTracingService } from "./service";
|
|
6
|
+
export const IExpressSessionConfiguration = createConfig();
|
|
5
7
|
export class ExpressTracingModule {
|
|
6
8
|
constructor() {
|
|
7
9
|
this.name = "express-tracing";
|
|
@@ -10,11 +12,19 @@ export class ExpressTracingModule {
|
|
|
10
12
|
TracingModule
|
|
11
13
|
];
|
|
12
14
|
}
|
|
15
|
+
initialize({ config, settings }) {
|
|
16
|
+
settings.bindToOptions(IRequestTracingOptions);
|
|
17
|
+
config(IExpressSessionConfiguration).register(() => ({
|
|
18
|
+
useRequestTracing: options => this.options = options
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
13
21
|
configureServices(registration) {
|
|
14
22
|
registration.register(IExpressTracingService, ExpressTracingService);
|
|
15
23
|
}
|
|
16
|
-
configure({ config }) {
|
|
17
|
-
config.get(IExpressConfiguration).
|
|
24
|
+
configure({ config, next, services }) {
|
|
25
|
+
config.get(IExpressConfiguration).use((req, res, next) => requestTracing(this.options)(req, res, next));
|
|
26
|
+
// invoke next to allow modules downstream the ability to configure the request racing middleware
|
|
27
|
+
next().then(() => this.options = this.options || services.get(IOptionsService).getOptions(IRequestTracingOptions));
|
|
18
28
|
}
|
|
19
29
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFvRCxlQUFlLEVBQXdCLE1BQU0sYUFBYSxDQUFDO0FBQ3BJLE9BQU8sRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFMUUsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsWUFBWSxFQUFnQyxDQUFDO0FBU3pGLE1BQU0sT0FBTyxvQkFBb0I7SUFBakM7UUFHYSxTQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFDekIsaUJBQVksR0FBRztZQUNwQixhQUFhO1lBQ2IsYUFBYTtTQUNoQixDQUFDO0lBa0JOLENBQUM7SUFoQkcsVUFBVSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBc0I7UUFDL0MsUUFBUSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPO1NBQ3ZELENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELGlCQUFpQixDQUFDLFlBQWtDO1FBQ2hELFlBQVksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQXVCO1FBQ3JELE1BQU0sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDeEcsaUdBQWlHO1FBQ2pHLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0lBQ3ZILENBQUM7Q0FDSiJ9
|
package/dist/esm/service.js
CHANGED
|
@@ -7,13 +7,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
8
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
9
|
};
|
|
10
|
-
import { createService, Scoped } from "@shrub/core";
|
|
10
|
+
import { createOptions, createService, Scoped } from "@shrub/core";
|
|
11
11
|
import { ITracingService } from "@shrub/tracing";
|
|
12
12
|
export var TraceHeaders;
|
|
13
13
|
(function (TraceHeaders) {
|
|
14
14
|
TraceHeaders["traceId"] = "X-Trace-ID";
|
|
15
15
|
TraceHeaders["spanId"] = "X-Span-ID";
|
|
16
16
|
})(TraceHeaders || (TraceHeaders = {}));
|
|
17
|
+
export const IRequestTracingOptions = createOptions("request-tracing");
|
|
17
18
|
export const IExpressTracingService = createService("express-tracing-service");
|
|
18
19
|
function isRequestContextScope(scope) {
|
|
19
20
|
return scope.bag !== undefined && scope.services !== undefined;
|
|
@@ -82,4 +83,4 @@ ExpressTracingService = __decorate([
|
|
|
82
83
|
__param(0, ITracingService)
|
|
83
84
|
], ExpressTracingService);
|
|
84
85
|
export { ExpressTracingService };
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuRSxPQUFPLEVBQWdDLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBa0IvRSxNQUFNLENBQU4sSUFBWSxZQUdYO0FBSEQsV0FBWSxZQUFZO0lBQ3BCLHNDQUFzQixDQUFBO0lBQ3RCLG9DQUFvQixDQUFBO0FBQ3hCLENBQUMsRUFIVyxZQUFZLEtBQVosWUFBWSxRQUd2QjtBQUVELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGFBQWEsQ0FBeUIsaUJBQWlCLENBQUMsQ0FBQztBQUMvRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxhQUFhLENBQXlCLHlCQUF5QixDQUFDLENBQUM7QUFFdkcsU0FBUyxxQkFBcUIsQ0FBQyxLQUFVO0lBQ3JDLE9BQXlCLEtBQU0sQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFzQixLQUFNLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQztBQUN6RyxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsS0FBVTtJQUM5QixPQUFpQixLQUFNLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBYyxLQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQztBQUN2RixDQUFDO0FBR0QsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7SUFJOUIsWUFBOEMsY0FBK0I7UUFBL0IsbUJBQWMsR0FBZCxjQUFjLENBQWlCO0lBQzdFLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBWSxFQUFFLE9BQWdDO1FBQ3BELE1BQU0sT0FBTyxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUTtZQUN2QyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzNCLENBQUMsQ0FBQyxJ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
|
package/dist/index.js
CHANGED
|
@@ -10,9 +10,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.TraceHeaders = void 0;
|
|
13
|
+
exports.TraceHeaders = exports.IRequestTracingOptions = void 0;
|
|
14
14
|
__exportStar(require("./middleware"), exports);
|
|
15
15
|
__exportStar(require("./module"), exports);
|
|
16
16
|
var service_1 = require("./service");
|
|
17
|
+
Object.defineProperty(exports, "IRequestTracingOptions", { enumerable: true, get: function () { return service_1.IRequestTracingOptions; } });
|
|
17
18
|
Object.defineProperty(exports, "TraceHeaders", { enumerable: true, get: function () { return service_1.TraceHeaders; } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QjtBQUM3QiwyQ0FBeUI7QUFDekIscUNBQWlFO0FBQXhELGlIQUFBLHNCQUFzQixPQUFBO0FBQUUsdUdBQUEsWUFBWSxPQUFBIn0=
|
package/dist/middleware.d.ts
CHANGED
|
@@ -1,22 +1,11 @@
|
|
|
1
|
-
import { IRequestContext } from "@shrub/express";
|
|
2
1
|
import { ISpan } from "@shrub/tracing";
|
|
3
2
|
import { RequestHandler } from "express";
|
|
4
3
|
import { IRequestTracingOptions } from "./service";
|
|
4
|
+
export { IRequestTracingOptions };
|
|
5
5
|
declare module "@shrub/express/dist/request-context" {
|
|
6
6
|
interface IRequestContext {
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
interface IRequestContextBuilder {
|
|
10
|
-
addSpan(span: ISpan): IRequestContextBuilder;
|
|
7
|
+
span?: ISpan;
|
|
11
8
|
}
|
|
12
9
|
}
|
|
13
|
-
/** Adds a span to the request context. */
|
|
14
|
-
export declare const addSpanRequestBuilder: (context: IRequestContext, span: ISpan) => {
|
|
15
|
-
span: ISpan;
|
|
16
|
-
bag: {
|
|
17
|
-
[key: string]: any;
|
|
18
|
-
};
|
|
19
|
-
services: import("@shrub/core").IServiceCollection;
|
|
20
|
-
};
|
|
21
10
|
/** Request tracing middleware that will start a new span for a request. */
|
|
22
|
-
export declare const
|
|
11
|
+
export declare const requestTracing: (options?: IRequestTracingOptions | undefined) => RequestHandler;
|
package/dist/middleware.js
CHANGED
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.requestTracing = exports.IRequestTracingOptions = void 0;
|
|
4
4
|
const service_1 = require("./service");
|
|
5
|
+
Object.defineProperty(exports, "IRequestTracingOptions", { enumerable: true, get: function () { return service_1.IRequestTracingOptions; } });
|
|
5
6
|
attachErrorListener();
|
|
6
|
-
/** Adds a span to the request context. */
|
|
7
|
-
const addSpanRequestBuilder = (context, span) => ({ ...context, span });
|
|
8
|
-
exports.addSpanRequestBuilder = addSpanRequestBuilder;
|
|
9
7
|
/** Request tracing middleware that will start a new span for a request. */
|
|
10
|
-
const
|
|
8
|
+
const requestTracing = (options) => {
|
|
11
9
|
return (req, res, next) => {
|
|
12
10
|
const service = req.context.services.tryGet(service_1.IExpressTracingService);
|
|
13
11
|
if (!service) {
|
|
14
12
|
return next(new Error("express-tracing-service not registered, make sure the ExpressTracingModule is loaded when using request tracing."));
|
|
15
13
|
}
|
|
16
14
|
const span = service.startSpan(req, options);
|
|
17
|
-
req.
|
|
15
|
+
req.context.span = span;
|
|
18
16
|
// if a request connection is 'keep-alive' the response will never finish;
|
|
19
17
|
// so instead, listen for the close event for when the connection has been closed
|
|
20
18
|
// https://nodejs.org/api/http.html#http_event_close_1
|
|
@@ -40,7 +38,7 @@ const useRequestTracing = (options) => {
|
|
|
40
38
|
next();
|
|
41
39
|
};
|
|
42
40
|
};
|
|
43
|
-
exports.
|
|
41
|
+
exports.requestTracing = requestTracing;
|
|
44
42
|
/**
|
|
45
43
|
* Overrides the express internal handle_error function that gets invoked when an error has occurred.
|
|
46
44
|
* There are no global error events exposed by express and the only way to handle errors is via express middleware.
|
|
@@ -59,4 +57,4 @@ function attachErrorListener() {
|
|
|
59
57
|
return ref.call(this, error, req, res, next);
|
|
60
58
|
};
|
|
61
59
|
}
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHVDQUEyRTtBQUVsRSx1R0FGd0IsZ0NBQXNCLE9BRXhCO0FBUS9CLG1CQUFtQixFQUFFLENBQUM7QUFFdEIsMkVBQTJFO0FBQ3BFLE1BQU0sY0FBYyxHQUFHLENBQUMsT0FBZ0MsRUFBa0IsRUFBRTtJQUMvRSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUN0QixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsZ0NBQXNCLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsa0hBQWtILENBQUMsQ0FBQyxDQUFDO1NBQzlJO1FBRUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0MsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRXhCLDBFQUEwRTtRQUMxRSxpRkFBaUY7UUFFakYsc0RBQXNEO1FBQ3RELEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXpELHFEQUFxRDtRQUNyRCxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDcEIsSUFBSSxHQUFHLENBQUMsVUFBVSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRTtnQkFDL0MsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxRQUFRLEVBQUU7b0JBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQVUsUUFBUSxDQUFDLENBQUM7aUJBQy9DO2FBQ0o7WUFFRCxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQzFCLEdBQUcsQ0FBQyxTQUFTLEdBQUcsU0FBUyxTQUFTO1lBQzlCLDJDQUEyQztZQUMzQyxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssWUFBWSxFQUFFO2dCQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ3BDO1lBRUQsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFnQixDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDO1FBRUYsSUFBSSxFQUFFLENBQUM7SUFDWCxDQUFDLENBQUM7QUFDTixDQUFDLENBQUM7QUF4Q1csUUFBQSxjQUFjLGtCQXdDekI7QUFFRjs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLG1CQUFtQjtJQUN4QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNsRCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztJQUN6QyxLQUFLLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxTQUFTLFlBQVksQ0FBQyxLQUFZLEVBQUUsR0FBWSxFQUFFLEdBQWEsRUFBRSxJQUFrQjtRQUM5RyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQyxDQUFBO0FBQ0wsQ0FBQyJ9
|
package/dist/module.d.ts
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
|
-
import { IModule, IModuleConfigurator, IServiceRegistration } from "@shrub/core";
|
|
1
|
+
import { IModule, IModuleConfigurator, IModuleInitializer, IServiceRegistration } from "@shrub/core";
|
|
2
2
|
import { ExpressModule } from "@shrub/express";
|
|
3
3
|
import { TracingModule } from "@shrub/tracing";
|
|
4
|
+
import { IRequestTracingOptions } from "./middleware";
|
|
5
|
+
export declare const IExpressSessionConfiguration: import("@shrub/core").IModuleConfigurationType<IExpressSessionConfiguration>;
|
|
6
|
+
export interface IExpressSessionConfiguration {
|
|
7
|
+
/**
|
|
8
|
+
* Enables request tracing with the specified options. Note: if options are not explicitly provided
|
|
9
|
+
* the module will attempt to fetch options from the options service.
|
|
10
|
+
*/
|
|
11
|
+
useRequestTracing(options: IRequestTracingOptions): void;
|
|
12
|
+
}
|
|
4
13
|
export declare class ExpressTracingModule implements IModule {
|
|
14
|
+
private options?;
|
|
5
15
|
readonly name = "express-tracing";
|
|
6
16
|
readonly dependencies: (typeof ExpressModule | typeof TracingModule)[];
|
|
17
|
+
initialize({ config, settings }: IModuleInitializer): void;
|
|
7
18
|
configureServices(registration: IServiceRegistration): void;
|
|
8
|
-
configure({ config }: IModuleConfigurator): void;
|
|
19
|
+
configure({ config, next, services }: IModuleConfigurator): void;
|
|
9
20
|
}
|
package/dist/module.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExpressTracingModule = void 0;
|
|
3
|
+
exports.ExpressTracingModule = exports.IExpressSessionConfiguration = void 0;
|
|
4
|
+
const core_1 = require("@shrub/core");
|
|
4
5
|
const express_1 = require("@shrub/express");
|
|
5
6
|
const tracing_1 = require("@shrub/tracing");
|
|
6
7
|
const middleware_1 = require("./middleware");
|
|
7
8
|
const service_1 = require("./service");
|
|
9
|
+
exports.IExpressSessionConfiguration = core_1.createConfig();
|
|
8
10
|
class ExpressTracingModule {
|
|
9
11
|
constructor() {
|
|
10
12
|
this.name = "express-tracing";
|
|
@@ -13,12 +15,20 @@ class ExpressTracingModule {
|
|
|
13
15
|
tracing_1.TracingModule
|
|
14
16
|
];
|
|
15
17
|
}
|
|
18
|
+
initialize({ config, settings }) {
|
|
19
|
+
settings.bindToOptions(middleware_1.IRequestTracingOptions);
|
|
20
|
+
config(exports.IExpressSessionConfiguration).register(() => ({
|
|
21
|
+
useRequestTracing: options => this.options = options
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
16
24
|
configureServices(registration) {
|
|
17
25
|
registration.register(service_1.IExpressTracingService, service_1.ExpressTracingService);
|
|
18
26
|
}
|
|
19
|
-
configure({ config }) {
|
|
20
|
-
config.get(express_1.IExpressConfiguration).
|
|
27
|
+
configure({ config, next, services }) {
|
|
28
|
+
config.get(express_1.IExpressConfiguration).use((req, res, next) => middleware_1.requestTracing(this.options)(req, res, next));
|
|
29
|
+
// invoke next to allow modules downstream the ability to configure the request racing middleware
|
|
30
|
+
next().then(() => this.options = this.options || services.get(core_1.IOptionsService).getOptions(middleware_1.IRequestTracingOptions));
|
|
21
31
|
}
|
|
22
32
|
}
|
|
23
33
|
exports.ExpressTracingModule = ExpressTracingModule;
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzQ0FBb0k7QUFDcEksNENBQXNFO0FBQ3RFLDRDQUErQztBQUMvQyw2Q0FBc0U7QUFDdEUsdUNBQTBFO0FBRTdELFFBQUEsNEJBQTRCLEdBQUcsbUJBQVksRUFBZ0MsQ0FBQztBQVN6RixNQUFhLG9CQUFvQjtJQUFqQztRQUdhLFNBQUksR0FBRyxpQkFBaUIsQ0FBQztRQUN6QixpQkFBWSxHQUFHO1lBQ3BCLHVCQUFhO1lBQ2IsdUJBQWE7U0FDaEIsQ0FBQztJQWtCTixDQUFDO0lBaEJHLFVBQVUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQXNCO1FBQy9DLFFBQVEsQ0FBQyxhQUFhLENBQUMsbUNBQXNCLENBQUMsQ0FBQztRQUMvQyxNQUFNLENBQUMsb0NBQTRCLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNqRCxpQkFBaUIsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTztTQUN2RCxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxZQUFrQztRQUNoRCxZQUFZLENBQUMsUUFBUSxDQUFDLGdDQUFzQixFQUFFLCtCQUFxQixDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUF1QjtRQUNyRCxNQUFNLENBQUMsR0FBRyxDQUFDLCtCQUFxQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLDJCQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN4RyxpR0FBaUc7UUFDakcsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLHNCQUFlLENBQUMsQ0FBQyxVQUFVLENBQUMsbUNBQXNCLENBQUMsQ0FBQyxDQUFDO0lBQ3ZILENBQUM7Q0FDSjtBQXpCRCxvREF5QkMifQ==
|
package/dist/service.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export declare enum TraceHeaders {
|
|
|
16
16
|
traceId = "X-Trace-ID",
|
|
17
17
|
spanId = "X-Span-ID"
|
|
18
18
|
}
|
|
19
|
+
export declare const IRequestTracingOptions: import("@shrub/core").IOptions<IRequestTracingOptions>;
|
|
19
20
|
export declare const IExpressTracingService: import("@shrub/core").IService<IExpressTracingService>;
|
|
20
21
|
export declare class ExpressTracingService implements IExpressTracingService {
|
|
21
22
|
private readonly tracingService;
|
package/dist/service.js
CHANGED
|
@@ -9,7 +9,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
9
9
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.ExpressTracingService = exports.IExpressTracingService = exports.TraceHeaders = void 0;
|
|
12
|
+
exports.ExpressTracingService = exports.IExpressTracingService = exports.IRequestTracingOptions = exports.TraceHeaders = void 0;
|
|
13
13
|
const core_1 = require("@shrub/core");
|
|
14
14
|
const tracing_1 = require("@shrub/tracing");
|
|
15
15
|
var TraceHeaders;
|
|
@@ -17,6 +17,7 @@ var TraceHeaders;
|
|
|
17
17
|
TraceHeaders["traceId"] = "X-Trace-ID";
|
|
18
18
|
TraceHeaders["spanId"] = "X-Span-ID";
|
|
19
19
|
})(TraceHeaders = exports.TraceHeaders || (exports.TraceHeaders = {}));
|
|
20
|
+
exports.IRequestTracingOptions = core_1.createOptions("request-tracing");
|
|
20
21
|
exports.IExpressTracingService = core_1.createService("express-tracing-service");
|
|
21
22
|
function isRequestContextScope(scope) {
|
|
22
23
|
return scope.bag !== undefined && scope.services !== undefined;
|
|
@@ -85,4 +86,4 @@ ExpressTracingService = __decorate([
|
|
|
85
86
|
__param(0, tracing_1.ITracingService)
|
|
86
87
|
], ExpressTracingService);
|
|
87
88
|
exports.ExpressTracingService = ExpressTracingService;
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLHNDQUFtRTtBQUVuRSw0Q0FBK0U7QUFrQi9FLElBQVksWUFHWDtBQUhELFdBQVksWUFBWTtJQUNwQixzQ0FBc0IsQ0FBQTtJQUN0QixvQ0FBb0IsQ0FBQTtBQUN4QixDQUFDLEVBSFcsWUFBWSxHQUFaLG9CQUFZLEtBQVosb0JBQVksUUFHdkI7QUFFWSxRQUFBLHNCQUFzQixHQUFHLG9CQUFhLENBQXlCLGlCQUFpQixDQUFDLENBQUM7QUFDbEYsUUFBQSxzQkFBc0IsR0FBRyxvQkFBYSxDQUF5Qix5QkFBeUIsQ0FBQyxDQUFDO0FBRXZHLFNBQVMscUJBQXFCLENBQUMsS0FBVTtJQUNyQyxPQUF5QixLQUFNLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBc0IsS0FBTSxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUM7QUFDekcsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFDLEtBQVU7SUFDOUIsT0FBaUIsS0FBTSxDQUFDLEdBQUcsS0FBSyxTQUFTLElBQWMsS0FBTSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUM7QUFDdkYsQ0FBQztBQUdELElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBSTlCLFlBQThDLGNBQStCO1FBQS9CLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtJQUM3RSxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVksRUFBRSxPQUFnQztRQUNwRCxNQUFNLE9BQU8sR0FBRyxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVE7WUFDdkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFaEMsTUFBTSxJQUFJLEdBQVU7WUFDaEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxXQUFXO1lBQzNCLGFBQWEsRUFBRSxH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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shrub/express-tracing",
|
|
3
3
|
"description": "A module that provides middleware for tracing express requests.",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.35",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"@types/express": "4.17.9"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@shrub/core": "0.5.
|
|
33
|
-
"@shrub/express": "0.5.
|
|
34
|
-
"@shrub/logging": "0.5.
|
|
35
|
-
"@shrub/tracing": "0.5.
|
|
32
|
+
"@shrub/core": "0.5.35",
|
|
33
|
+
"@shrub/express": "0.5.35",
|
|
34
|
+
"@shrub/logging": "0.5.35",
|
|
35
|
+
"@shrub/tracing": "0.5.35",
|
|
36
36
|
"express": "^4.17.1"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "c10d4d9a1aa5f28454b4921e1bb5887abd9447b1"
|
|
39
39
|
}
|