@edirect/trace 9.0.0 → 9.0.2

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,12 +1,6 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const elastic_apm_node_1 = __importDefault(require("elastic-apm-node"));
7
3
  const config_1 = require("@edirect/config");
8
- const constants_1 = require("../constants");
9
- const exporter_jaeger_1 = require("@opentelemetry/exporter-jaeger");
10
4
  const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
11
5
  const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
12
6
  const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
@@ -17,63 +11,58 @@ const instrumentation_http_1 = require("@opentelemetry/instrumentation-http");
17
11
  const instrumentation_express_1 = require("@opentelemetry/instrumentation-express");
18
12
  const config = new config_1.ConfigService(`.${process.env.NODE_ENV || 'development'}.env`);
19
13
  const env = config.getConfig();
14
+ const TRACE_SERVER_URL = env['TRACE_SERVER_URL'];
15
+ const TRACE_TAG_SCOPE = env['TRACE_TAG_SCOPE'] || '';
16
+ const TRACE_TAG_ENV = env['TRACE_TAG_ENV'] || '';
17
+ const TRACE_TAG_CLUSTER = env['TRACE_TAG_CLUSTER'] || '';
18
+ const TRACE_TAG_TENANT = env['TRACE_TAG_TENANT'] || '';
19
+ const TRACE_TAG_SERVICE = env['TRACE_TAG_SERVICE'] || '';
20
+ const TRACE_TAG_VERSION = env['TRACE_TAG_VERSION'] || '';
21
+ const TRACE_TAG_OWNER = env['TRACE_TAG_OWNER'] || '';
22
+ const TRACE_TAG_SERVICENAME = env['TRACE_TAG_SERVICENAME'] || '';
20
23
  class APM {
21
- constructor(serviceName, serverUrl, traceServer) {
22
- this.serviceName = serviceName || env.APM_SERVICE_NAME || 'service-test';
23
- this.serverUrl = serverUrl || env.APM_SERVER_URL || 'localhost';
24
- this.traceServer = traceServer || env.TRACE_SERVER || '';
24
+ constructor(serverUrl = TRACE_SERVER_URL, scope = TRACE_TAG_SCOPE, environment = TRACE_TAG_ENV, cluster = TRACE_TAG_CLUSTER, tenant = TRACE_TAG_TENANT, service = TRACE_TAG_SERVICE, version = TRACE_TAG_VERSION, owner = TRACE_TAG_OWNER, serviceName = TRACE_TAG_SERVICENAME) {
25
+ this.serverUrl = serverUrl;
26
+ this.scope = scope;
27
+ this.environment = environment;
28
+ this.cluster = cluster;
29
+ this.tenant = tenant;
30
+ this.service = service;
31
+ this.version = version;
32
+ this.owner = owner;
33
+ this.serviceName = serviceName;
25
34
  }
26
- startElastic() {
27
- elastic_apm_node_1.default.start({
28
- serviceName: this.serviceName,
29
- serverUrl: this.serverUrl,
30
- logUncaughtExceptions: true,
31
- useElasticTraceparentHeader: true,
32
- usePathAsTransactionName: true,
33
- captureBody: 'all',
34
- captureExceptions: true,
35
- sanitizeFieldNames: [],
36
- });
37
- return;
38
- }
39
- startOtlp() {
40
- let exporter;
41
- switch (this.traceServer) {
42
- case constants_1.TRACE_SERVER.JAEGER:
43
- exporter = new exporter_jaeger_1.JaegerExporter({ host: this.serverUrl });
44
- break;
45
- case constants_1.TRACE_SERVER.OTLP:
46
- exporter = new exporter_trace_otlp_http_1.OTLPTraceExporter({ url: this.serverUrl });
47
- break;
48
- default:
49
- return;
50
- }
35
+ startTrace() {
36
+ if (!this.serverUrl)
37
+ return;
38
+ const exporter = new exporter_trace_otlp_http_1.OTLPTraceExporter({ url: `https://${this.serverUrl}/v1/traces` });
51
39
  const provider = new sdk_trace_node_1.NodeTracerProvider({
52
40
  resource: new resources_1.Resource({
53
- [semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: this.serviceName,
41
+ [semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: this.service,
42
+ ['TRACE_TAG_SCOPE']: this.scope,
43
+ ['TRACE_TAG_ENV']: this.environment,
44
+ ['TRACE_TAG_CLUSTER']: this.cluster,
45
+ ['TRACE_TAG_TENANT']: this.tenant,
46
+ ['TRACE_TAG_SERVICE']: this.service,
47
+ ['TRACE_TAG_VERSION']: this.version,
48
+ ['TRACE_TAG_OWNER']: this.owner,
49
+ ['TRACE_TAG_SERVICENAME']: this.serviceName,
54
50
  }),
55
51
  });
56
- provider.addSpanProcessor(new sdk_trace_base_1.SimpleSpanProcessor(exporter));
52
+ provider.addSpanProcessor(new sdk_trace_base_1.BatchSpanProcessor(exporter));
57
53
  provider.register();
58
54
  (0, instrumentation_1.registerInstrumentations)({
59
55
  instrumentations: [
60
- new instrumentation_http_1.HttpInstrumentation({ ignoreIncomingPaths: ['/healthcheck', 'healthcheck'] }),
61
- new instrumentation_express_1.ExpressInstrumentation({ ignoreLayers: ['/healthcheck', 'healthcheck'] }),
56
+ new instrumentation_http_1.HttpInstrumentation({
57
+ ignoreIncomingPaths: ['/healthcheck', 'healthcheck'],
58
+ }),
59
+ new instrumentation_express_1.ExpressInstrumentation({
60
+ ignoreLayers: ['/healthcheck', 'healthcheck'],
61
+ }),
62
62
  ],
63
63
  });
64
64
  return;
65
65
  }
66
- startTrace() {
67
- switch (this.traceServer) {
68
- case constants_1.TRACE_SERVER.ELASTIC_APM:
69
- this.startElastic();
70
- break;
71
- default:
72
- this.startOtlp();
73
- break;
74
- }
75
- return;
76
- }
77
66
  }
78
67
  exports.default = APM;
79
68
  //# sourceMappingURL=APM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"APM.js","sourceRoot":"","sources":["../../src/services/APM.ts"],"names":[],"mappings":";;;;;AAAA,wEAAmC;AACnC,4CAAgD;AAChD,4CAA4C;AAC5C,oEAAgE;AAChE,sFAA4E;AAC5E,kEAAoE;AACpE,kEAAmE;AACnE,wDAAoD;AACpD,8EAAiF;AACjF,oEAA0E;AAC1E,8EAA0E;AAC1E,oFAAgF;AAEhF,MAAM,MAAM,GAAG,IAAI,sBAAa,CAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,MAAM,CAChD,CAAC;AACF,MAAM,GAAG,GAA2B,MAAM,CAAC,SAAS,EAAE,CAAC;AAEvD,MAAM,GAAG;IAKP,YAAY,WAAoB,EAAE,SAAkB,EAAE,WAAoB;QACxE,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,GAAG,CAAC,gBAAgB,IAAI,cAAc,CAAC;QACzE,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,GAAG,CAAC,cAAc,IAAI,WAAW,CAAC;QAChE,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAC3D,CAAC;IAEO,YAAY;QAClB,0BAAG,CAAC,KAAK,CAAC;YACR,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,qBAAqB,EAAE,IAAI;YAC3B,2BAA2B,EAAE,IAAI;YACjC,wBAAwB,EAAE,IAAI;YAC9B,WAAW,EAAE,KAAK;YAClB,iBAAiB,EAAE,IAAI;YACvB,kBAAkB,EAAE,EAAE;SACvB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAEO,SAAS;QACf,IAAI,QAAQ,CAAC;QACb,QAAQ,IAAI,CAAC,WAAW,EAAE;YACxB,KAAK,wBAAY,CAAC,MAAM;gBACtB,QAAQ,GAAG,IAAI,gCAAc,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACxD,MAAM;YACR,KAAK,wBAAY,CAAC,IAAI;gBACpB,QAAQ,GAAG,IAAI,4CAAiB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC1D,MAAM;YACR;gBACE,OAAO;SACV;QAED,MAAM,QAAQ,GAAG,IAAI,mCAAkB,CAAC;YACtC,QAAQ,EAAE,IAAI,oBAAQ,CAAC;gBACrB,CAAC,iDAA0B,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW;aAC5D,CAAC;SACH,CAAC,CAAC;QACH,QAAQ,CAAC,gBAAgB,CAAC,IAAI,oCAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAEpB,IAAA,0CAAwB,EAAC;YACvB,gBAAgB,EAAE;gBAChB,IAAI,0CAAmB,CAAC,EAAC,mBAAmB,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,EAAC,CAAC;gBAC/E,IAAI,gDAAsB,CAAC,EAAC,YAAY,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,EAAC,CAAC;aAC5E;SACF,CAAC,CAAA;QAEF,OAAO;IACT,CAAC;IAEM,UAAU;QACf,QAAQ,IAAI,CAAC,WAAW,EAAE;YACxB,KAAK,wBAAY,CAAC,WAAW;gBAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,MAAM;YACR;gBACE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,MAAM;SACT;QACD,OAAO;IACT,CAAC;CACF;AAED,kBAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"APM.js","sourceRoot":"","sources":["../../src/services/APM.ts"],"names":[],"mappings":"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"}