@nimee/initialize-ms 1.0.51 → 1.0.53

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 CHANGED
@@ -13,20 +13,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const tracerCoralogix_1 = __importDefault(require("./tracerCoralogix"));
16
- // import initialize from "helios-opentelemetry-sdk";
17
- // const helios = initialize({
18
- // apiToken: process.env.heliosApiToken,
19
- // serviceName: `${process.env.SERVICE_NAME}`,
20
- // environment: process.env.NODE_ENV,
21
- // enable: true,
22
- // collectorEndpoint: process.env.GRAFANA_OTEL_EXPORTER_URL,
23
- // ignoredIncomingPaths: [/\/readiness/, /\/liveness/, /\/metrics/],
24
- // });
25
- const tracer = new tracerCoralogix_1.default();
26
- tracer.init({
27
- serviceName: process.env.SERVICE_NAME,
28
- environment: process.env.NODE_ENV,
29
- });
16
+ if (process.env.NODE_ENV !== "local") {
17
+ const tracer = new tracerCoralogix_1.default();
18
+ tracer.init({
19
+ serviceName: process.env.SERVICE_NAME,
20
+ environment: process.env.NODE_ENV,
21
+ });
22
+ }
30
23
  // import tracer from "./tracer";
31
24
  // import initialize from "helios-opentelemetry-sdk";
32
25
  // if (process.env.NODE_ENV !== "local") {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wEAAgD;AAChD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,yBAAe,EAAE,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC;QACV,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACrC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;KAClC,CAAC,CAAC;AACL,CAAC;AACD,iCAAiC;AACjC,qDAAqD;AACrD,0CAA0C;AAC1C,gCAAgC;AAChC,4CAA4C;AAC5C,kDAAkD;AAClD,yCAAyC;AACzC,oBAAoB;AACpB,gEAAgE;AAChE,wEAAwE;AACxE,QAAQ;AACR,kBAAkB;AAClB,6CAA6C;AAC7C,kDAAkD;AAClD,yCAAyC;AACzC,uEAAuE;AACvE,cAAc;AACd,QAAQ;AACR,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,CAAC;gBACnB,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,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;gBACR,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,8EAA8E;oBAC9E,MAAM;gBACR,CAAC;YACH,CAAC;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,CAAC;gBACxC,oFAAoF;YACtF,CAAC;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,CAAC;gBAC3B,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;YAC3E,CAAC;YACD,IAAI,UAAU;gBAAE,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;KAAA;CACF;AAED,kBAAe,cAAc,CAAC"}
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const { NodeSDK } = require("@opentelemetry/sdk-node"); // Add this line
7
7
  const { AlwaysOnSampler } = require("@opentelemetry/sdk-trace-base");
8
+ const instrumentation_aws_sdk_1 = require("@opentelemetry/instrumentation-aws-sdk");
8
9
  // const { diag, DiagConsoleLogger, DiagLogLevel } = require("@opentelemetry/api");
9
10
  const opentelemetry_1 = require("@coralogix/opentelemetry");
10
11
  const { Resource } = require("@opentelemetry/resources");
@@ -21,6 +22,27 @@ class TracerCoralogix {
21
22
  try {
22
23
  logger_1.default.info(`Initializing the new tracer with the service name: ${serviceName} and node environment: ${environment}`);
23
24
  // diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);
25
+ const httpInstrumentation = new HttpInstrumentation({
26
+ ignoreIncomingRequestHook: (request) => {
27
+ if (/\/readiness/.test(request.url) || /\/liveness/.test(request.url) || /\/metrics/.test(request.url)) {
28
+ return true;
29
+ }
30
+ return false;
31
+ },
32
+ });
33
+ const fastifyInstrumentation = new FastifyInstrumentation({
34
+ onRequest: (span, request) => {
35
+ if (request.body) {
36
+ span.setAttribute("http.request.body", JSON.stringify(request.body));
37
+ }
38
+ },
39
+ onResponse: (span, reply) => {
40
+ span.setAttribute("http.response.body", reply.raw ? reply.raw.toString() : "");
41
+ },
42
+ });
43
+ const awsInstrumentation = new instrumentation_aws_sdk_1.AwsInstrumentation({
44
+ suppressInternalInstrumentation: true,
45
+ });
24
46
  // Now we"ll initialize the OTEL sdk:
25
47
  const sdk = new NodeSDK({
26
48
  // // Optional resource configuration section
@@ -35,12 +57,7 @@ class TracerCoralogix {
35
57
  }),
36
58
  }),
37
59
  sampler: new opentelemetry_1.CoralogixTransactionSampler(new AlwaysOnSampler()),
38
- instrumentations: [
39
- new HttpInstrumentation({
40
- ignoreUrls: [/\/readiness$/, /\/liveness$/, /\/metrics$/],
41
- }),
42
- new FastifyInstrumentation(),
43
- ],
60
+ instrumentations: [httpInstrumentation, fastifyInstrumentation, awsInstrumentation, new getNodeAutoInstrumentations()],
44
61
  });
45
62
  sdk.start();
46
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tracerCoralogix.js","sourceRoot":"","sources":["../../src/tracerCoralogix.ts"],"names":[],"mappings":";;;;;AAAA,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB;AACxE,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAErE,mFAAmF;AACnF,4DAAuE;AACvE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACzD,MAAM,EAAE,0BAA0B,EAAE,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;AACtF,MAAM,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,2CAA2C,CAAC,CAAC;AAE7F,+CAA+C;AAC/C,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,4CAA4C,CAAC,CAAC;AACrF,MAAM,EAAE,6BAA6B,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAChF,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;AAC/E,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,wCAAwC,CAAC,CAAC;AAErF,2DAAmC;AACnC,MAAqB,eAAe;IAC3B,IAAI,CAAC,EAAE,WAAW,EAAE,WAAW,EAAgD;QACpF,IAAI,CAAC;YACH,gBAAM,CAAC,IAAI,CAAC,sDAAsD,WAAW,0BAA0B,WAAW,EAAE,CAAC,CAAC;YACtH,+DAA+D;YAE/D,qCAAqC;YACrC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC;gBACtB,6CAA6C;gBAC7C,QAAQ,EAAE,IAAI,QAAQ,CAAC;oBACrB,CAAC,0BAA0B,CAAC,YAAY,CAAC,EAAE,WAAW;oBACtD,CAAC,0BAA0B,CAAC,eAAe,CAAC,EAAE,KAAK;iBACpD,CAAC;gBACF,yCAAyC;gBACzC,YAAY,EAAE,IAAI,6BAA6B,CAAC;oBAC9C,QAAQ,EAAE,IAAI,kBAAkB,CAAC;wBAC/B,gBAAgB,EAAE,CAAC;qBACpB,CAAC;iBACH,CAAC;gBACF,OAAO,EAAE,IAAI,2CAA2B,CAAC,IAAI,eAAe,EAAE,CAAC;gBAC/D,gBAAgB,EAAE;oBAChB,IAAI,mBAAmB,CAAC;wBACtB,UAAU,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,YAAY,CAAC;qBAC1D,CAAC;oBACF,IAAI,sBAAsB,EAAE;iBAC7B;aACF,CAAC,CAAC;YAEH,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAM,CAAC,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;CACF;AAjCD,kCAiCC"}
1
+ {"version":3,"file":"tracerCoralogix.js","sourceRoot":"","sources":["../../src/tracerCoralogix.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nimee/initialize-ms",
3
- "version": "1.0.51",
3
+ "version": "1.0.53",
4
4
  "description": "init behavior for each ms",
5
5
  "main": "dist/src/index.js",
6
6
  "author": "dan goldberg",
package/src/index.ts CHANGED
@@ -1,18 +1,11 @@
1
1
  import TracerCoralogix from "./tracerCoralogix";
2
- // import initialize from "helios-opentelemetry-sdk";
3
- // const helios = initialize({
4
- // apiToken: process.env.heliosApiToken,
5
- // serviceName: `${process.env.SERVICE_NAME}`,
6
- // environment: process.env.NODE_ENV,
7
- // enable: true,
8
- // collectorEndpoint: process.env.GRAFANA_OTEL_EXPORTER_URL,
9
- // ignoredIncomingPaths: [/\/readiness/, /\/liveness/, /\/metrics/],
10
- // });
11
- const tracer = new TracerCoralogix();
12
- tracer.init({
13
- serviceName: process.env.SERVICE_NAME,
14
- environment: process.env.NODE_ENV,
15
- });
2
+ if (process.env.NODE_ENV !== "local") {
3
+ const tracer = new TracerCoralogix();
4
+ tracer.init({
5
+ serviceName: process.env.SERVICE_NAME,
6
+ environment: process.env.NODE_ENV,
7
+ });
8
+ }
16
9
  // import tracer from "./tracer";
17
10
  // import initialize from "helios-opentelemetry-sdk";
18
11
  // if (process.env.NODE_ENV !== "local") {
@@ -1,5 +1,8 @@
1
1
  const { NodeSDK } = require("@opentelemetry/sdk-node"); // Add this line
2
2
  const { AlwaysOnSampler } = require("@opentelemetry/sdk-trace-base");
3
+ import { Span, Context } from "@opentelemetry/api";
4
+ import { FastifyRequest, FastifyReply } from "fastify";
5
+ import { AwsInstrumentation } from "@opentelemetry/instrumentation-aws-sdk";
3
6
 
4
7
  // const { diag, DiagConsoleLogger, DiagLogLevel } = require("@opentelemetry/api");
5
8
  import { CoralogixTransactionSampler } from "@coralogix/opentelemetry";
@@ -19,7 +22,27 @@ export default class TracerCoralogix {
19
22
  try {
20
23
  logger.info(`Initializing the new tracer with the service name: ${serviceName} and node environment: ${environment}`);
21
24
  // diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);
22
-
25
+ const httpInstrumentation = new HttpInstrumentation({
26
+ ignoreIncomingRequestHook: (request: any) => {
27
+ if (/\/readiness/.test(request.url) || /\/liveness/.test(request.url) || /\/metrics/.test(request.url)) {
28
+ return true;
29
+ }
30
+ return false;
31
+ },
32
+ });
33
+ const fastifyInstrumentation = new FastifyInstrumentation({
34
+ onRequest: (span: Span, request: FastifyRequest) => {
35
+ if (request.body) {
36
+ span.setAttribute("http.request.body", JSON.stringify(request.body));
37
+ }
38
+ },
39
+ onResponse: (span: Span, reply: FastifyReply) => {
40
+ span.setAttribute("http.response.body", reply.raw ? reply.raw.toString() : "");
41
+ },
42
+ });
43
+ const awsInstrumentation = new AwsInstrumentation({
44
+ suppressInternalInstrumentation: true,
45
+ });
23
46
  // Now we"ll initialize the OTEL sdk:
24
47
  const sdk = new NodeSDK({
25
48
  // // Optional resource configuration section
@@ -34,12 +57,7 @@ export default class TracerCoralogix {
34
57
  }),
35
58
  }),
36
59
  sampler: new CoralogixTransactionSampler(new AlwaysOnSampler()),
37
- instrumentations: [
38
- new HttpInstrumentation({
39
- ignoreUrls: [/\/readiness$/, /\/liveness$/, /\/metrics$/],
40
- }),
41
- new FastifyInstrumentation(),
42
- ],
60
+ instrumentations: [httpInstrumentation, fastifyInstrumentation, awsInstrumentation, new getNodeAutoInstrumentations()],
43
61
  });
44
62
 
45
63
  sdk.start();