@nimee/initialize-ms 1.0.32 → 1.0.33
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/src/index.js +11 -6
- package/dist/src/index.js.map +1 -1
- package/dist/src/tracer.d.ts +11 -0
- package/dist/src/tracer.js +52 -0
- package/dist/src/tracer.js.map +1 -0
- package/package.json +7 -3
- package/src/index.ts +11 -7
- package/src/tracer.ts +48 -0
package/dist/src/index.js
CHANGED
|
@@ -12,14 +12,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const
|
|
16
|
-
(
|
|
17
|
-
|
|
18
|
-
serviceName:
|
|
15
|
+
const tracer_1 = __importDefault(require("./tracer"));
|
|
16
|
+
// if (process.env.NODE_ENV !== "local") {
|
|
17
|
+
tracer_1.default.init({
|
|
18
|
+
serviceName: process.env.SERVICE_NAME,
|
|
19
|
+
url: "http://localhost:4318/v1/traces",
|
|
19
20
|
environment: process.env.NODE_ENV,
|
|
20
|
-
enable: true,
|
|
21
|
-
ignoredIncomingPaths: [/\/readiness/, /\/liveness/, /\/metrics/],
|
|
22
21
|
});
|
|
22
|
+
// apiToken: process.env.heliosApiToken,
|
|
23
|
+
// serviceName: `nim-${process.env.SERVICE_NAME}`,
|
|
24
|
+
// environment: process.env.NODE_ENV,
|
|
25
|
+
// enable: true,;
|
|
26
|
+
// ignoredIncomingPaths: [/\/readiness/, /\/liveness/, /\/metrics/],
|
|
27
|
+
// }
|
|
23
28
|
const fastify_1 = __importDefault(require("./fastify"));
|
|
24
29
|
const logger_1 = __importDefault(require("@nimee/logger"));
|
|
25
30
|
const error_handler_1 = require("@nimee/error-handler");
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAA8B;AAC9B,0CAA0C;AAC1C,gBAAM,CAAC,IAAI,CAAC;IACV,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;IACrC,GAAG,EAAE,iCAAiC;IACtC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;CAClC,CAAC,CAAC;AACH,wCAAwC;AACxC,kDAAkD;AAClD,qCAAqC;AACrC,iBAAiB;AACjB,oEAAoE;AACpE,IAAI;AACJ,wDAAiD;AACjD,2DAAmC;AACnC,wDAAoD;AACpD,2DAA0C;AAC1C,4CAAwD;AAExD,MAAM,cAAc;IAKZ,UAAU,CACd,MAAW,EACX,UAAkB,EAClB,WAAmB,EACnB,sBAA2B,EAC3B,gBAAwB,EACxB,YAAiB,EACjB,gBAA+B,EAC/B,IAAY;;YAEZ,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,OAAO,CAAC;YACZ,QAAQ,UAAU,EAAE;gBAClB,KAAK,SAAS,CAAC,CAAC;oBACd,gBAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;oBACzC,OAAO,GAAG,IAAI,iBAAwB,EAAE,CAAC;oBACzC,IAAI,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC9D,MAAM;iBACP;gBACD,KAAK,SAAS,CAAC,CAAC;oBACd,8EAA8E;oBAC9E,MAAM;iBACP;aACF;YACD,IAAI,YAAY,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,MAAM,YAAY,CAAC,WAAW,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;YACvH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACvC,oFAAoF;aACrF;YACD,4BAAY,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,IAAI,gBAAa,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxE,gCAAsB,CAAC,8BAA8B,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE3G,IAAI,sBAAsB,EAAE;gBAC1B,MAAM,yBAAyB,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBAC3D,yBAAyB,CAAC,OAAO,CAAC,CAAC,qBAAqB,EAAE,EAAE;oBAC1D,gBAAM,CAAC,IAAI,CAAC,mDAAmD,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC;oBACtF,IAAI,qBAAqB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;gBACH,gBAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC;aAC1E;YACD,IAAI,UAAU;gBAAE,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;KAAA;CACF;AAED,kBAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
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 auto_instrumentations_node_1 = require("@opentelemetry/auto-instrumentations-node");
|
|
7
|
+
const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
|
|
8
|
+
const sdk_node_1 = require("@opentelemetry/sdk-node");
|
|
9
|
+
const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
|
|
10
|
+
const resources_1 = require("@opentelemetry/resources");
|
|
11
|
+
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
|
|
12
|
+
const logger_1 = __importDefault(require("@nimee/logger"));
|
|
13
|
+
class Tracer {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.sdk = undefined;
|
|
16
|
+
this.provider = new sdk_trace_node_1.BasicTracerProvider();
|
|
17
|
+
}
|
|
18
|
+
init({ serviceName, url, environment }) {
|
|
19
|
+
try {
|
|
20
|
+
const exporter = new exporter_trace_otlp_http_1.OTLPTraceExporter({ url });
|
|
21
|
+
this.provider = new sdk_trace_node_1.BasicTracerProvider({
|
|
22
|
+
resource: new resources_1.Resource({
|
|
23
|
+
[semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: serviceName,
|
|
24
|
+
[semantic_conventions_1.SemanticResourceAttributes.SERVICE_VERSION]: "1.0.0",
|
|
25
|
+
[semantic_conventions_1.SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: environment,
|
|
26
|
+
}),
|
|
27
|
+
});
|
|
28
|
+
// export spans to console (useful for debugging)
|
|
29
|
+
// this.provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
|
|
30
|
+
// export spans to opentelemetry collector
|
|
31
|
+
this.provider.addSpanProcessor(new sdk_trace_node_1.SimpleSpanProcessor(exporter));
|
|
32
|
+
this.provider.register();
|
|
33
|
+
this.sdk = new sdk_node_1.NodeSDK({
|
|
34
|
+
traceExporter: exporter,
|
|
35
|
+
instrumentations: [
|
|
36
|
+
(0, auto_instrumentations_node_1.getNodeAutoInstrumentations)({
|
|
37
|
+
// Lets disable fs for now, otherwise we cannot see the traces we want,
|
|
38
|
+
// You can disable or enable instrumentation as needed
|
|
39
|
+
"@opentelemetry/instrumentation-fs": { enabled: false },
|
|
40
|
+
}),
|
|
41
|
+
],
|
|
42
|
+
});
|
|
43
|
+
this.sdk.start();
|
|
44
|
+
logger_1.default.info("The tracer has been initialized");
|
|
45
|
+
}
|
|
46
|
+
catch (e) {
|
|
47
|
+
logger_1.default.error("Failed to initialize the tracer", e);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.default = new Tracer();
|
|
52
|
+
//# sourceMappingURL=tracer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../src/tracer.ts"],"names":[],"mappings":";;;;;AAAA,0FAAwF;AACxF,sFAA4E;AAC5E,sDAAkD;AAClD,kEAA8G;AAC9G,wDAAoD;AACpD,8EAAiF;AACjF,2DAAmC;AACnC,MAAM,MAAM;IAAZ;QACU,QAAG,GAAmB,SAAS,CAAC;QAEhC,aAAQ,GAAG,IAAI,oCAAmB,EAAE,CAAC;IAmC/C,CAAC;IAjCQ,IAAI,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAA6D;QACtG,IAAI;YACF,MAAM,QAAQ,GAAG,IAAI,4CAAiB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,oCAAmB,CAAC;gBACtC,QAAQ,EAAE,IAAI,oBAAQ,CAAC;oBACrB,CAAC,iDAA0B,CAAC,YAAY,CAAC,EAAE,WAAW;oBACtD,CAAC,iDAA0B,CAAC,eAAe,CAAC,EAAE,OAAO;oBACrD,CAAC,iDAA0B,CAAC,sBAAsB,CAAC,EAAE,WAAW;iBACjE,CAAC;aACH,CAAC,CAAC;YACH,iDAAiD;YACjD,sFAAsF;YACtF,0CAA0C;YAC1C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,oCAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,GAAG,IAAI,kBAAO,CAAC;gBACrB,aAAa,EAAE,QAAQ;gBACvB,gBAAgB,EAAE;oBAChB,IAAA,wDAA2B,EAAC;wBAC1B,uEAAuE;wBACvE,sDAAsD;wBACtD,mCAAmC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;qBACxD,CAAC;iBACH;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YAEjB,gBAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;SAChD;QAAC,OAAO,CAAC,EAAE;YACV,gBAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;SACpD;IACH,CAAC;CACF;AAED,kBAAe,IAAI,MAAM,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nimee/initialize-ms",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.33",
|
|
4
4
|
"description": "init behavior for each ms",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"author": "dan goldberg",
|
|
@@ -32,12 +32,16 @@
|
|
|
32
32
|
"@fastify/request-context": "^5.0.0",
|
|
33
33
|
"@fastify/swagger": "^8.1.0",
|
|
34
34
|
"@fastify/swagger-ui": "^1.3.0",
|
|
35
|
-
"@nimee/error-handler": "0.0.
|
|
35
|
+
"@nimee/error-handler": "^0.0.9",
|
|
36
36
|
"@nimee/health": "2.1.3",
|
|
37
37
|
"@nimee/logger": "1.0.23",
|
|
38
38
|
"@nimee/metrics": "2.0.13",
|
|
39
|
+
"@opentelemetry/api": "^1.7.0",
|
|
40
|
+
"@opentelemetry/auto-instrumentations-node": "^0.41.1",
|
|
41
|
+
"@opentelemetry/exporter-trace-otlp-http": "^0.48.0",
|
|
42
|
+
"@opentelemetry/sdk-node": "^0.48.0",
|
|
43
|
+
"@opentelemetry/sdk-trace-node": "^1.21.0",
|
|
39
44
|
"fastify": "4.24.3",
|
|
40
|
-
"helios-opentelemetry-sdk": "1.0.91",
|
|
41
45
|
"mongoose": "6.2.10"
|
|
42
46
|
}
|
|
43
47
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import tracer from "./tracer";
|
|
2
|
+
// if (process.env.NODE_ENV !== "local") {
|
|
3
|
+
tracer.init({
|
|
4
|
+
serviceName: process.env.SERVICE_NAME,
|
|
5
|
+
url: "http://localhost:4318/v1/traces",
|
|
6
6
|
environment: process.env.NODE_ENV,
|
|
7
|
-
enable: true,
|
|
8
|
-
ignoredIncomingPaths: [/\/readiness/, /\/liveness/, /\/metrics/],
|
|
9
7
|
});
|
|
8
|
+
// apiToken: process.env.heliosApiToken,
|
|
9
|
+
// serviceName: `nim-${process.env.SERVICE_NAME}`,
|
|
10
|
+
// environment: process.env.NODE_ENV,
|
|
11
|
+
// enable: true,;
|
|
12
|
+
// ignoredIncomingPaths: [/\/readiness/, /\/liveness/, /\/metrics/],
|
|
13
|
+
// }
|
|
10
14
|
import ServerInitializerFastify from "./fastify";
|
|
11
15
|
import logger from "@nimee/logger";
|
|
12
16
|
import { errorHandler } from "@nimee/error-handler";
|
package/src/tracer.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";
|
|
2
|
+
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
|
|
3
|
+
import { NodeSDK } from "@opentelemetry/sdk-node";
|
|
4
|
+
import { BasicTracerProvider, ConsoleSpanExporter, SimpleSpanProcessor } from "@opentelemetry/sdk-trace-node";
|
|
5
|
+
import { Resource } from "@opentelemetry/resources";
|
|
6
|
+
import { SemanticResourceAttributes } from "@opentelemetry/semantic-conventions";
|
|
7
|
+
import logger from "@nimee/logger";
|
|
8
|
+
class Tracer {
|
|
9
|
+
private sdk: NodeSDK | null = undefined;
|
|
10
|
+
|
|
11
|
+
private provider = new BasicTracerProvider();
|
|
12
|
+
|
|
13
|
+
public init({ serviceName, url, environment }: { serviceName: string; url: string; environment: string }) {
|
|
14
|
+
try {
|
|
15
|
+
const exporter = new OTLPTraceExporter({ url });
|
|
16
|
+
this.provider = new BasicTracerProvider({
|
|
17
|
+
resource: new Resource({
|
|
18
|
+
[SemanticResourceAttributes.SERVICE_NAME]: serviceName,
|
|
19
|
+
[SemanticResourceAttributes.SERVICE_VERSION]: "1.0.0",
|
|
20
|
+
[SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: environment,
|
|
21
|
+
}),
|
|
22
|
+
});
|
|
23
|
+
// export spans to console (useful for debugging)
|
|
24
|
+
// this.provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
|
|
25
|
+
// export spans to opentelemetry collector
|
|
26
|
+
this.provider.addSpanProcessor(new SimpleSpanProcessor(exporter));
|
|
27
|
+
this.provider.register();
|
|
28
|
+
this.sdk = new NodeSDK({
|
|
29
|
+
traceExporter: exporter,
|
|
30
|
+
instrumentations: [
|
|
31
|
+
getNodeAutoInstrumentations({
|
|
32
|
+
// Lets disable fs for now, otherwise we cannot see the traces we want,
|
|
33
|
+
// You can disable or enable instrumentation as needed
|
|
34
|
+
"@opentelemetry/instrumentation-fs": { enabled: false },
|
|
35
|
+
}),
|
|
36
|
+
],
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
this.sdk.start();
|
|
40
|
+
|
|
41
|
+
logger.info("The tracer has been initialized");
|
|
42
|
+
} catch (e) {
|
|
43
|
+
logger.error("Failed to initialize the tracer", e);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export default new Tracer();
|