nestjs-otel 2.6.1 → 3.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.
Files changed (54) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +50 -39
  3. package/examples/nestjs-prom-grafana-tempo/package.json +40 -37
  4. package/examples/nestjs-prom-grafana-tempo/src/tracing.ts +5 -5
  5. package/lib/interfaces/opentelemetry-options.interface.d.ts +2 -2
  6. package/lib/metrics/decorators/common.js +2 -2
  7. package/lib/metrics/decorators/common.js.map +1 -1
  8. package/lib/metrics/decorators/counter.js +2 -2
  9. package/lib/metrics/decorators/counter.js.map +1 -1
  10. package/lib/metrics/decorators/histogram.d.ts +1 -0
  11. package/lib/metrics/decorators/histogram.js +12 -0
  12. package/lib/metrics/decorators/histogram.js.map +1 -0
  13. package/lib/metrics/decorators/index.d.ts +2 -1
  14. package/lib/metrics/decorators/index.js +2 -1
  15. package/lib/metrics/decorators/index.js.map +1 -1
  16. package/lib/metrics/decorators/observable.d.ts +3 -0
  17. package/lib/metrics/decorators/observable.js +24 -0
  18. package/lib/metrics/decorators/observable.js.map +1 -0
  19. package/lib/metrics/metric-data.d.ts +12 -5
  20. package/lib/metrics/metric-data.js +53 -24
  21. package/lib/metrics/metric-data.js.map +1 -1
  22. package/lib/metrics/metric.service.d.ts +7 -6
  23. package/lib/metrics/metric.service.js +11 -8
  24. package/lib/metrics/metric.service.js.map +1 -1
  25. package/lib/middleware/api-metrics.middleware.d.ts +5 -5
  26. package/lib/middleware/api-metrics.middleware.js +17 -17
  27. package/lib/middleware/api-metrics.middleware.js.map +1 -1
  28. package/lib/opentelemetry-core.module.js.map +1 -1
  29. package/lib/tracing/decorators/span.js +2 -3
  30. package/lib/tracing/decorators/span.js.map +1 -1
  31. package/lib/tracing/decorators/span.spec.d.ts +1 -0
  32. package/lib/tracing/decorators/span.spec.js +58 -0
  33. package/lib/tracing/decorators/span.spec.js.map +1 -0
  34. package/lib/tracing/trace.service.d.ts +1 -0
  35. package/lib/tracing/trace.service.js +4 -2
  36. package/lib/tracing/trace.service.js.map +1 -1
  37. package/lib/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +31 -32
  39. package/src/interfaces/opentelemetry-options.interface.ts +3 -3
  40. package/src/metrics/decorators/common.ts +6 -4
  41. package/src/metrics/decorators/counter.ts +5 -9
  42. package/src/metrics/decorators/histogram.ts +10 -0
  43. package/src/metrics/decorators/observable.ts +28 -0
  44. package/src/metrics/metric-data.ts +89 -29
  45. package/src/metrics/metric.service.ts +28 -14
  46. package/src/middleware/api-metrics.middleware.ts +19 -19
  47. package/src/opentelemetry-core.module.ts +3 -3
  48. package/src/tracing/decorators/span.spec.ts +48 -0
  49. package/src/tracing/decorators/span.ts +4 -11
  50. package/src/tracing/trace.service.ts +5 -2
  51. package/lib/metrics/decorators/value-recorder.d.ts +0 -1
  52. package/lib/metrics/decorators/value-recorder.js +0 -12
  53. package/lib/metrics/decorators/value-recorder.js.map +0 -1
  54. package/src/metrics/decorators/value-recorder.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"metric-data.js","sourceRoot":"","sources":["../../src/metrics/metric-data.ts"],"names":[],"mappings":";;;AAAA,4DAEoC;AACpC,wEAA6D;AAI7D,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,iCAAqB,CAAA;IACrB,6CAAiC,CAAA;IACjC,6CAAiC,CAAA;AACnC,CAAC,EAJW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAIrB;AAEY,QAAA,SAAS,GAA+B,IAAI,GAAG,EAAE,CAAC;AAE/D,SAAgB,wBAAwB,CACtC,IAAY,EAAE,IAAgB,EAAE,OAAsB;IAEtD,IAAI,iBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO,iBAAS,CAAC,GAAG,CAAC,IAAI,CAAkB,CAAC;KAC7C;IAED,MAAM,KAAK,GAAG,qBAAO,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,yCAAe,CAAC,CAAC;IAEnE,QAAQ,IAAI,EAAE;QACZ,KAAK,UAAU,CAAC,aAAa;YAC3B,MAAM,aAAa,GAAG,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/D,iBAAS,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACnC,OAAO,aAAa,CAAC;QACvB;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;KAC5C;AACH,CAAC;AAjBD,4DAiBC;AAED,SAAgB,kBAAkB,CAChC,IAAY,EAAE,IAAgB,EAAE,OAAsB;IAEtD,IAAI,iBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO,iBAAS,CAAC,GAAG,CAAC,IAAI,CAA4B,CAAC;KACvD;IAED,MAAM,KAAK,GAAG,qBAAO,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,yCAAe,CAAC,CAAC;IAEnE,QAAQ,IAAI,EAAE;QACZ,KAAK,UAAU,CAAC,OAAO;YACrB,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnD,iBAAS,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7B,OAAO,OAAO,CAAC;QACjB,KAAK,UAAU,CAAC,aAAa;YAC3B,MAAM,aAAa,GAAG,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/D,iBAAS,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACnC,OAAO,aAAa,CAAC;QACvB;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;KAC5C;AACH,CAAC;AArBD,gDAqBC"}
1
+ {"version":3,"file":"metric-data.js","sourceRoot":"","sources":["../../src/metrics/metric-data.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { Counter, UpDownCounter, ValueRecorder, MetricOptions } from '@opentelemetry/api-metrics';
1
+ import { MetricOptions, ObservableResult } from '@opentelemetry/api-metrics';
2
2
  export declare class MetricService {
3
- getCounter(name: string, options?: MetricOptions): Counter | UpDownCounter;
4
- getUpDownCounter(name: string, options?: MetricOptions): Counter | UpDownCounter;
5
- getValueRecorder(name: string, options?: MetricOptions): ValueRecorder;
6
- private getOrCreateValueRecorder;
7
- private getOrCreateCounter;
3
+ getCounter(name: string, options?: MetricOptions): import("@opentelemetry/api-metrics").Counter;
4
+ getUpDownCounter(name: string, options?: MetricOptions): import("@opentelemetry/api-metrics").UpDownCounter;
5
+ getHistogram(name: string, options?: MetricOptions): import("@opentelemetry/api-metrics").Histogram;
6
+ getObservableCounter(name: string, options?: MetricOptions, callback?: (observableResult: ObservableResult) => void): import("@opentelemetry/api-metrics").ObservableBase;
7
+ getObservableGauge(name: string, options?: MetricOptions, callback?: (observableResult: ObservableResult) => void): import("@opentelemetry/api-metrics").ObservableBase;
8
+ getObservableUpDownCounter(name: string, options?: MetricOptions, callback?: (observableResult: ObservableResult) => void): import("@opentelemetry/api-metrics").ObservableBase;
8
9
  }
@@ -11,19 +11,22 @@ const common_1 = require("@nestjs/common");
11
11
  const metric_data_1 = require("./metric-data");
12
12
  let MetricService = class MetricService {
13
13
  getCounter(name, options) {
14
- return this.getOrCreateCounter(name, metric_data_1.MetricType.Counter, options);
14
+ return (0, metric_data_1.getOrCreateCounter)(name, options);
15
15
  }
16
16
  getUpDownCounter(name, options) {
17
- return this.getOrCreateCounter(name, metric_data_1.MetricType.UpDownCounter, options);
17
+ return (0, metric_data_1.getOrCreateUpDownCounter)(name, options);
18
18
  }
19
- getValueRecorder(name, options) {
20
- return this.getOrCreateValueRecorder(name, metric_data_1.MetricType.ValueRecorder, options);
19
+ getHistogram(name, options) {
20
+ return (0, metric_data_1.getOrCreateHistogram)(name, options);
21
21
  }
22
- getOrCreateValueRecorder(name, type, options) {
23
- return (0, metric_data_1.getOrCreateValueRecorder)(name, type, options);
22
+ getObservableCounter(name, options, callback) {
23
+ return (0, metric_data_1.getOrCreateObservableCounter)(name, options, callback);
24
24
  }
25
- getOrCreateCounter(name, type, options) {
26
- return (0, metric_data_1.getOrCreateCounter)(name, type, options);
25
+ getObservableGauge(name, options, callback) {
26
+ return (0, metric_data_1.getOrCreateObservableGauge)(name, options, callback);
27
+ }
28
+ getObservableUpDownCounter(name, options, callback) {
29
+ return (0, metric_data_1.getOrCreateObservableUpDownCounter)(name, options, callback);
27
30
  }
28
31
  };
29
32
  MetricService = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"metric.service.js","sourceRoot":"","sources":["../../src/metrics/metric.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAI5C,+CAEuB;AAGvB,IAAa,aAAa,GAA1B,MAAa,aAAa;IACxB,UAAU,CAAC,IAAY,EAAE,OAAuB;QAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,wBAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,gBAAgB,CAAC,IAAY,EAAE,OAAuB;QACpD,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,wBAAU,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED,gBAAgB,CAAC,IAAY,EAAE,OAAuB;QACpD,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,wBAAU,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAEO,wBAAwB,CAC9B,IAAY,EAAE,IAAgB,EAAE,OAAsB;QAEtD,OAAO,IAAA,sCAAwB,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAEO,kBAAkB,CACxB,IAAY,EAAE,IAAgB,EAAE,OAAsB;QAEtD,OAAO,IAAA,gCAAkB,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAxBY,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CAwBzB;AAxBY,sCAAa"}
1
+ {"version":3,"file":"metric.service.js","sourceRoot":"","sources":["../../src/metrics/metric.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAI5C,+CAIuB;AAGvB,IAAa,aAAa,GAA1B,MAAa,aAAa;IACxB,UAAU,CAAC,IAAY,EAAE,OAAuB;QAC9C,OAAO,IAAA,gCAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB,CAAC,IAAY,EAAE,OAAuB;QACpD,OAAO,IAAA,sCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,OAAuB;QAChD,OAAO,IAAA,kCAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,oBAAoB,CAClB,IAAY,EACZ,OAAuB,EACvB,QAAuD;QAEvD,OAAO,IAAA,0CAA4B,EAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,kBAAkB,CAChB,IAAY,EACZ,OAAuB,EACvB,QAAuD;QAEvD,OAAO,IAAA,wCAA0B,EAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,0BAA0B,CACxB,IAAY,EACZ,OAAuB,EACvB,QAAuD;QAEvD,OAAO,IAAA,gDAAkC,EAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;CACF,CAAA;AApCY,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CAoCzB;AApCY,sCAAa"}
@@ -5,8 +5,8 @@ export declare const DEFAULT_LONG_RUNNING_REQUEST_BUCKETS: number[];
5
5
  export declare const DEFAULT_REQUEST_SIZE_BUCKETS: number[];
6
6
  export declare const DEFAULT_RESPONSE_SIZE_BUCKETS: number[];
7
7
  export declare class ApiMetricsMiddleware implements NestMiddleware {
8
- private readonly options;
9
8
  private readonly metricService;
9
+ private readonly options;
10
10
  private readonly defaultLongRunningRequestBuckets;
11
11
  private readonly defaultRequestSizeBuckets;
12
12
  private readonly defaultResponseSizeBuckets;
@@ -18,11 +18,11 @@ export declare class ApiMetricsMiddleware implements NestMiddleware {
18
18
  private responseServerErrorTotal;
19
19
  private serverAbortsTotal;
20
20
  private requestDuration;
21
- private requestSizeValueRecorder;
22
- private responseSizeValueRecorder;
23
- private defaultLabels;
21
+ private requestSizeHistogram;
22
+ private responseSizeHistogram;
23
+ private defaultAttributes;
24
24
  private readonly ignoreUndefinedRoutes;
25
- constructor(options: OpenTelemetryModuleOptions, metricService: MetricService);
25
+ constructor(metricService: MetricService, options?: OpenTelemetryModuleOptions);
26
26
  use(req: any, res: any, next: any): void;
27
27
  private getStatusCodeClass;
28
28
  }
@@ -27,9 +27,9 @@ exports.DEFAULT_RESPONSE_SIZE_BUCKETS = [
27
27
  5, 10, 25, 50, 100, 250, 500, 1000, 2500, 5000, 10000,
28
28
  ];
29
29
  let ApiMetricsMiddleware = class ApiMetricsMiddleware {
30
- constructor(options = {}, metricService) {
31
- this.options = options;
30
+ constructor(metricService, options = {}) {
32
31
  this.metricService = metricService;
32
+ this.options = options;
33
33
  this.defaultLongRunningRequestBuckets = exports.DEFAULT_LONG_RUNNING_REQUEST_BUCKETS;
34
34
  this.defaultRequestSizeBuckets = exports.DEFAULT_REQUEST_SIZE_BUCKETS;
35
35
  this.defaultResponseSizeBuckets = exports.DEFAULT_RESPONSE_SIZE_BUCKETS;
@@ -54,18 +54,18 @@ let ApiMetricsMiddleware = class ApiMetricsMiddleware {
54
54
  this.serverAbortsTotal = this.metricService.getCounter('http_server_aborts_total', {
55
55
  description: 'Total number of data transfers aborted',
56
56
  });
57
- const { timeBuckets = [], requestSizeBuckets = [], responseSizeBuckets = [], defaultLabels = {}, ignoreUndefinedRoutes = false, } = options?.metrics?.apiMetrics;
58
- this.defaultLabels = defaultLabels;
57
+ const { timeBuckets = [], requestSizeBuckets = [], responseSizeBuckets = [], defaultAttributes = {}, ignoreUndefinedRoutes = false, } = options?.metrics?.apiMetrics;
58
+ this.defaultAttributes = defaultAttributes;
59
59
  this.ignoreUndefinedRoutes = ignoreUndefinedRoutes;
60
- this.requestDuration = this.metricService.getValueRecorder('http_request_duration_seconds', {
60
+ this.requestDuration = this.metricService.getHistogram('http_request_duration_seconds', {
61
61
  boundaries: timeBuckets.length > 0 ? timeBuckets : this.defaultLongRunningRequestBuckets,
62
62
  description: 'HTTP latency value recorder in seconds',
63
63
  });
64
- this.requestSizeValueRecorder = this.metricService.getValueRecorder('http_request_size_bytes', {
64
+ this.requestSizeHistogram = this.metricService.getHistogram('http_request_size_bytes', {
65
65
  boundaries: requestSizeBuckets.length > 0 ? requestSizeBuckets : this.defaultRequestSizeBuckets,
66
66
  description: 'Current total of incoming bytes',
67
67
  });
68
- this.responseSizeValueRecorder = this.metricService.getValueRecorder('http_response_size_bytes', {
68
+ this.responseSizeHistogram = this.metricService.getHistogram('http_response_size_bytes', {
69
69
  boundaries: responseSizeBuckets.length > 0 ? responseSizeBuckets : this.defaultResponseSizeBuckets,
70
70
  description: 'Current total of outgoing bytes',
71
71
  });
@@ -83,17 +83,17 @@ let ApiMetricsMiddleware = class ApiMetricsMiddleware {
83
83
  else {
84
84
  path = urlParser.parse(url).pathname;
85
85
  }
86
- this.requestTotal.bind({ method, path }).add(1);
86
+ this.requestTotal.add(1, { method, path });
87
87
  const requestLength = parseInt(req.headers['content-length'], 10) || 0;
88
88
  const responseLength = parseInt(res.getHeader('Content-Length'), 10) || 0;
89
89
  const status = res.statusCode || 500;
90
- const labels = {
91
- method, status, path, ...this.defaultLabels,
90
+ const attributes = {
91
+ method, status, path, ...this.defaultAttributes,
92
92
  };
93
- this.requestSizeValueRecorder.bind(labels).record(requestLength);
94
- this.responseSizeValueRecorder.bind(labels).record(responseLength);
95
- this.responseTotal.bind(labels).add(1);
96
- this.requestDuration.bind(labels).record(time / 1000);
93
+ this.requestSizeHistogram.record(requestLength, attributes);
94
+ this.responseSizeHistogram.record(responseLength, attributes);
95
+ this.responseTotal.add(1, attributes);
96
+ this.requestDuration.record(time / 1000, attributes);
97
97
  const codeClass = this.getStatusCodeClass(status);
98
98
  switch (codeClass) {
99
99
  case 'success':
@@ -132,9 +132,9 @@ let ApiMetricsMiddleware = class ApiMetricsMiddleware {
132
132
  };
133
133
  ApiMetricsMiddleware = __decorate([
134
134
  (0, common_1.Injectable)(),
135
- __param(0, (0, common_1.Inject)(opentelemetry_constants_1.OPENTELEMETRY_MODULE_OPTIONS)),
136
- __param(1, (0, common_1.Inject)(metric_service_1.MetricService)),
137
- __metadata("design:paramtypes", [Object, metric_service_1.MetricService])
135
+ __param(0, (0, common_1.Inject)(metric_service_1.MetricService)),
136
+ __param(1, (0, common_1.Inject)(opentelemetry_constants_1.OPENTELEMETRY_MODULE_OPTIONS)),
137
+ __metadata("design:paramtypes", [metric_service_1.MetricService, Object])
138
138
  ], ApiMetricsMiddleware);
139
139
  exports.ApiMetricsMiddleware = ApiMetricsMiddleware;
140
140
  //# sourceMappingURL=api-metrics.middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-metrics.middleware.js","sourceRoot":"","sources":["../../src/middleware/api-metrics.middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-metrics.middleware.js","sourceRoot":"","sources":["../../src/middleware/api-metrics.middleware.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"opentelemetry-core.module.js","sourceRoot":"","sources":["../src/opentelemetry-core.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opentelemetry-core.module.js","sourceRoot":"","sources":["../src/opentelemetry-core.module.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,9 @@ function Span(name) {
6
6
  return (target, propertyKey, propertyDescriptor) => {
7
7
  const method = propertyDescriptor.value;
8
8
  propertyDescriptor.value = function PropertyDescriptor(...args) {
9
- const currentSpan = api_1.trace.getSpan(api_1.context.active());
10
9
  const tracer = api_1.trace.getTracer('default');
11
- return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), currentSpan), () => {
12
- const span = tracer.startSpan(name || `${target.constructor.name}.${propertyKey}`);
10
+ const spanName = name || `${target.constructor.name}.${propertyKey}`;
11
+ return tracer.startActiveSpan(spanName, span => {
13
12
  if (method.constructor.name === 'AsyncFunction') {
14
13
  return method.apply(this, args).finally(() => {
15
14
  span.end();
@@ -1 +1 @@
1
- {"version":3,"file":"span.js","sourceRoot":"","sources":["../../../src/tracing/decorators/span.ts"],"names":[],"mappings":";;;AAAA,4CAAoD;AAEpD,SAAgB,IAAI,CAAC,IAAa;IAChC,OAAO,CACL,MAAW,EACX,WAAmB,EACnB,kBAAsC,EACtC,EAAE;QACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC;QAExC,kBAAkB,CAAC,KAAK,GAAG,SAAS,kBAAkB,CAAC,GAAG,IAAW;YACnE,MAAM,WAAW,GAAG,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,WAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAE1C,OAAO,aAAO,CAAC,IAAI,CAAC,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE;gBACrE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAC3B,IAAI,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,EAAE,CACpD,CAAC;gBACF,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe,EAAE;oBAC/C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;wBAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;oBACb,CAAC,CAAC,CAAC;iBACJ;gBACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AA3BD,oBA2BC"}
1
+ {"version":3,"file":"span.js","sourceRoot":"","sources":["../../../src/tracing/decorators/span.ts"],"names":[],"mappings":";;;AAAA,4CAA2C;AAE3C,SAAgB,IAAI,CAAC,IAAa;IAChC,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAE,kBAAsC,EAAE,EAAE;QAClF,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC;QAExC,kBAAkB,CAAC,KAAK,GAAG,SAAS,kBAAkB,CAAC,GAAG,IAAW;YACnE,MAAM,MAAM,GAAG,WAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,IAAI,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;YAErE,OAAO,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;gBAC7C,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe,EAAE;oBAC/C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;wBAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;oBACb,CAAC,CAAC,CAAC;iBACJ;gBACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AApBD,oBAoBC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const api_1 = require("@opentelemetry/api");
13
+ const sdk_node_1 = require("@opentelemetry/sdk-node");
14
+ const span_1 = require("./span");
15
+ class TestSpan {
16
+ singleSpan() {
17
+ return api_1.trace.getSpan(api_1.context.active());
18
+ }
19
+ doubleSpan() {
20
+ return this.singleSpan();
21
+ }
22
+ }
23
+ __decorate([
24
+ (0, span_1.Span)(),
25
+ __metadata("design:type", Function),
26
+ __metadata("design:paramtypes", []),
27
+ __metadata("design:returntype", void 0)
28
+ ], TestSpan.prototype, "singleSpan", null);
29
+ __decorate([
30
+ (0, span_1.Span)(),
31
+ __metadata("design:type", Function),
32
+ __metadata("design:paramtypes", []),
33
+ __metadata("design:returntype", void 0)
34
+ ], TestSpan.prototype, "doubleSpan", null);
35
+ describe('Span', () => {
36
+ let instance;
37
+ let otelSdk;
38
+ beforeEach(async () => {
39
+ instance = new TestSpan();
40
+ otelSdk = new sdk_node_1.NodeSDK({
41
+ traceExporter: new sdk_node_1.tracing.ConsoleSpanExporter(),
42
+ spanProcessor: new sdk_node_1.tracing.NoopSpanProcessor(),
43
+ });
44
+ await otelSdk.start();
45
+ });
46
+ afterEach(async () => {
47
+ await otelSdk.shutdown();
48
+ });
49
+ it('should set correct span', async () => {
50
+ const response = instance.singleSpan();
51
+ expect(response.name).toEqual('TestSpan.singleSpan');
52
+ });
53
+ it('should set correct span even when calling other method with Span decorator', async () => {
54
+ const response = instance.doubleSpan();
55
+ expect(response.name).toEqual('TestSpan.singleSpan');
56
+ });
57
+ });
58
+ //# sourceMappingURL=span.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"span.spec.js","sourceRoot":"","sources":["../../../src/tracing/decorators/span.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,4CAAoD;AACpD,sDAA2D;AAC3D,iCAA8B;AAE9B,MAAM,QAAQ;IAEZ,UAAU;QACR,OAAO,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAGD,UAAU;QACR,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;CACF;AARC;IADC,IAAA,WAAI,GAAE;;;;0CAGN;AAGD;IADC,IAAA,WAAI,GAAE;;;;0CAGN;AAGH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,IAAI,QAAkB,CAAC;IACvB,IAAI,OAAgB,CAAC;IAErB,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAE1B,OAAO,GAAG,IAAI,kBAAO,CAAC;YACpB,aAAa,EAAE,IAAI,kBAAO,CAAC,mBAAmB,EAAE;YAIhD,aAAa,EAAE,IAAI,kBAAO,CAAC,iBAAiB,EAAE;SAC/C,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,CAAE,QAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,CAAE,QAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Span } from '@opentelemetry/api';
2
2
  export declare class TraceService {
3
+ getTracer(): import("@opentelemetry/api").Tracer;
3
4
  getSpan(): Span;
4
5
  startSpan(name: string): Span;
5
6
  }
@@ -10,12 +10,14 @@ exports.TraceService = void 0;
10
10
  const api_1 = require("@opentelemetry/api");
11
11
  const common_1 = require("@nestjs/common");
12
12
  let TraceService = class TraceService {
13
+ getTracer() {
14
+ return api_1.trace.getTracer('default');
15
+ }
13
16
  getSpan() {
14
17
  return api_1.trace.getSpan(api_1.context.active());
15
18
  }
16
19
  startSpan(name) {
17
- const tracer = api_1.trace.getTracer('default');
18
- return tracer.startSpan(name);
20
+ return this.getTracer().startSpan(name);
19
21
  }
20
22
  };
21
23
  TraceService = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"trace.service.js","sourceRoot":"","sources":["../../src/tracing/trace.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,4CAA0D;AAC1D,2CAA4C;AAG5C,IAAa,YAAY,GAAzB,MAAa,YAAY;IAChB,OAAO;QACZ,OAAO,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAEM,SAAS,CAAC,IAAY;QAC3B,MAAM,MAAM,GAAG,WAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF,CAAA;AATY,YAAY;IADxB,IAAA,mBAAU,GAAE;GACA,YAAY,CASxB;AATY,oCAAY"}
1
+ {"version":3,"file":"trace.service.js","sourceRoot":"","sources":["../../src/tracing/trace.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,4CAA0D;AAC1D,2CAA4C;AAG5C,IAAa,YAAY,GAAzB,MAAa,YAAY;IAChB,SAAS;QACd,OAAO,WAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAEM,OAAO;QACZ,OAAO,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAEM,SAAS,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AAZY,YAAY;IADxB,IAAA,mBAAU,GAAE;GACA,YAAY,CAYxB;AAZY,oCAAY"}