nestjs-otel 4.1.0 → 5.0.0
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/CHANGELOG.md +13 -1
- package/README.md +2 -2
- package/lib/interfaces/opentelemetry-options.interface.d.ts +3 -3
- package/lib/metrics/decorators/common.d.ts +1 -1
- package/lib/metrics/decorators/common.js +1 -1
- package/lib/metrics/decorators/common.js.map +1 -1
- package/lib/metrics/metric-data.d.ts +8 -8
- package/lib/metrics/metric-data.js +13 -13
- package/lib/metrics/metric-data.js.map +1 -1
- package/lib/metrics/metric.service.d.ts +7 -7
- package/lib/middleware/api-metrics.middleware.js +1 -1
- package/lib/middleware/api-metrics.middleware.js.map +1 -1
- package/lib/opentelemetry-core.module.js +2 -2
- package/lib/opentelemetry-core.module.js.map +1 -1
- package/lib/tracing/decorators/span.spec.js +2 -3
- package/lib/tracing/decorators/span.spec.js.map +1 -1
- package/lib/tracing/trace.service.d.ts +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +23 -24
- package/tsconfig.json +8 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [
|
|
3
|
+
## [5.0.0](https://www.github.com/pragmaticivan/nestjs-otel/compare/v4.0.1...v5.0.0) (2022-11-27)
|
|
4
4
|
|
|
5
5
|
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* updates to latest metric sdk and drop node-sdk dependency
|
|
9
|
+
|
|
6
10
|
### Features
|
|
7
11
|
|
|
12
|
+
* update packages ([163ba38](https://www.github.com/pragmaticivan/nestjs-otel/commit/163ba38a1d231aee66b2c2f53356f2d1fd37d3ee))
|
|
13
|
+
* update packages ([d0f92fb](https://www.github.com/pragmaticivan/nestjs-otel/commit/d0f92fb64e56005537e7a4b06357685fe290baf9))
|
|
8
14
|
* update packages ([28fdc69](https://www.github.com/pragmaticivan/nestjs-otel/commit/28fdc6944901376dcd93037982b52f255799d207))
|
|
15
|
+
* updates to latest metric sdk and drop node-sdk dependency ([46c2df3](https://www.github.com/pragmaticivan/nestjs-otel/commit/46c2df35a99810931f13a689c6e80b6135f4958c))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* getSpan returning undefined, enable strict null checks ([#361](https://www.github.com/pragmaticivan/nestjs-otel/issues/361)) ([b7f7cbd](https://www.github.com/pragmaticivan/nestjs-otel/commit/b7f7cbd2fb04d897cc702f02cfac24288fda27f1))
|
|
9
21
|
|
|
10
22
|
### [4.0.1](https://www.github.com/pragmaticivan/nestjs-otel/compare/v4.0.0...v4.0.1) (2022-08-29)
|
|
11
23
|
|
package/README.md
CHANGED
|
@@ -182,7 +182,7 @@ export class BookService {
|
|
|
182
182
|
|
|
183
183
|
```ts
|
|
184
184
|
import { MetricService } from 'nestjs-otel';
|
|
185
|
-
import { Counter } from '@opentelemetry/api
|
|
185
|
+
import { Counter } from '@opentelemetry/api';
|
|
186
186
|
|
|
187
187
|
@Injectable()
|
|
188
188
|
export class BookService {
|
|
@@ -247,7 +247,7 @@ Example of usage:
|
|
|
247
247
|
|
|
248
248
|
```ts
|
|
249
249
|
import { OtelCounter } from 'nestjs-otel';
|
|
250
|
-
import { Counter } from '@opentelemetry/api
|
|
250
|
+
import { Counter } from '@opentelemetry/api';
|
|
251
251
|
|
|
252
252
|
@Controller()
|
|
253
253
|
export class AppController {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ModuleMetadata, Type, Abstract } from '@nestjs/common';
|
|
2
|
-
import { MetricAttributes } from '@opentelemetry/api
|
|
2
|
+
import { MetricAttributes } from '@opentelemetry/api';
|
|
3
3
|
import { RouteInfo } from '@nestjs/common/interfaces';
|
|
4
|
-
export
|
|
4
|
+
export type OpenTelemetryModuleOptions = {
|
|
5
5
|
metrics?: OpenTelemetryMetrics;
|
|
6
6
|
};
|
|
7
7
|
export interface OpenTelemetryOptionsFactory {
|
|
@@ -14,7 +14,7 @@ export interface OpenTelemetryModuleAsyncOptions extends Pick<ModuleMetadata, 'i
|
|
|
14
14
|
useFactory?: (...args: any[]) => Promise<OpenTelemetryModuleOptions> | OpenTelemetryModuleOptions;
|
|
15
15
|
inject?: (string | symbol | Function | Type<any> | Abstract<any>)[];
|
|
16
16
|
}
|
|
17
|
-
export
|
|
17
|
+
export type OpenTelemetryMetrics = {
|
|
18
18
|
hostMetrics?: boolean;
|
|
19
19
|
apiMetrics?: {
|
|
20
20
|
enable?: boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MetricOptions } from '@opentelemetry/api
|
|
1
|
+
import { MetricOptions } from '@opentelemetry/api';
|
|
2
2
|
export declare const OtelInstanceCounter: (options?: MetricOptions) => <T extends new (...args: any[]) => {}>(originalClass: T) => {
|
|
3
3
|
new (...args: any[]): {};
|
|
4
4
|
} & T;
|
|
@@ -25,7 +25,7 @@ const OtelMethodCounter = (options) => (target, propertyKey, descriptor) => {
|
|
|
25
25
|
const name = `app_${className}_${propertyKey.toString()}_calls_total`;
|
|
26
26
|
const description = `app_${className}#${propertyKey.toString()} called total`;
|
|
27
27
|
let counterMetric;
|
|
28
|
-
const originalFunction = descriptor.value;
|
|
28
|
+
const originalFunction = descriptor.value ?? (() => { });
|
|
29
29
|
const wrappedFunction = function PropertyDescriptor(...args) {
|
|
30
30
|
if (!counterMetric) {
|
|
31
31
|
counterMetric = (0, metric_data_1.getOrCreateCounter)(name, { description, ...options });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/metrics/decorators/common.ts"],"names":[],"mappings":";;;AACA,mEAA+E;AAC/E,gDAAoD;AAO7C,MAAM,mBAAmB,GAAG,CAAC,OAAuB,EAAE,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/metrics/decorators/common.ts"],"names":[],"mappings":";;;AACA,mEAA+E;AAC/E,gDAAoD;AAO7C,MAAM,mBAAmB,GAAG,CAAC,OAAuB,EAAE,EAAE,CAAC,CAE9D,aAAgB,EAAE,EAAE;IACpB,MAAM,IAAI,GAAG,OAAO,aAAa,CAAC,IAAI,kBAAkB,CAAC;IACzD,MAAM,WAAW,GAAG,OAAO,aAAa,CAAC,IAAI,yBAAyB,CAAC;IACvE,IAAI,aAAsB,CAAC;IAE3B,MAAM,YAAY,GAAG,KAAM,SAAQ,aAAa;QAC9C,YAAY,GAAG,IAAI;YACjB,IAAI,CAAC,aAAa,EAAE;gBAClB,aAAa,GAAG,IAAA,gCAAkB,EAAC,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;aACvE;YAED,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACjB,CAAC;KACF,CAAC;IAEF,IAAA,wDAAkC,EAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAEhE,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AArBW,QAAA,mBAAmB,uBAqB9B;AAKK,MAAM,iBAAiB,GAAG,CAAC,OAAuB,EAAE,EAAE,CAAC,CAC5D,MAAc,EACd,WAA4B,EAC5B,UAA4D,EAC5D,EAAE;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;IAC1C,MAAM,IAAI,GAAG,OAAO,SAAS,IAAI,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC;IACtE,MAAM,WAAW,GAAG,OAAO,SAAS,IAAI,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC;IAC9E,IAAI,aAAsB,CAAC;IAE3B,MAAM,gBAAgB,GAAG,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAEzD,MAAM,eAAe,GAAG,SAAS,kBAAkB,CAAC,GAAG,IAAW;QAChE,IAAI,CAAC,aAAa,EAAE;YAClB,aAAa,GAAG,IAAA,gCAAkB,EAAC,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;SACvE;QACD,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,UAAU,CAAC,KAAK,GAAG,eAAe,CAAC;IAEnC,IAAA,wDAAkC,EAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AACxE,CAAC,CAAC;AAvBW,QAAA,iBAAiB,qBAuB5B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Counter, MetricOptions, UpDownCounter, Histogram, ObservableGauge, ObservableCounter, ObservableUpDownCounter } from '@opentelemetry/api
|
|
2
|
-
export
|
|
1
|
+
import { Counter, MetricOptions, UpDownCounter, Histogram, ObservableGauge, ObservableCounter, ObservableUpDownCounter } from '@opentelemetry/api';
|
|
2
|
+
export type GenericMetric = Counter | UpDownCounter | Histogram | ObservableGauge | ObservableCounter | ObservableUpDownCounter;
|
|
3
3
|
export declare enum MetricType {
|
|
4
4
|
'Counter' = "Counter",
|
|
5
5
|
'UpDownCounter' = "UpDownCounter",
|
|
@@ -9,9 +9,9 @@ export declare enum MetricType {
|
|
|
9
9
|
'ObservableUpDownCounter' = "ObservableUpDownCounter"
|
|
10
10
|
}
|
|
11
11
|
export declare const meterData: Map<string, GenericMetric>;
|
|
12
|
-
export declare function getOrCreateHistogram(name: string, options
|
|
13
|
-
export declare function getOrCreateCounter(name: string, options
|
|
14
|
-
export declare function getOrCreateUpDownCounter(name: string, options
|
|
15
|
-
export declare function getOrCreateObservableGauge(name: string, options
|
|
16
|
-
export declare function getOrCreateObservableCounter(name: string, options
|
|
17
|
-
export declare function getOrCreateObservableUpDownCounter(name: string, options
|
|
12
|
+
export declare function getOrCreateHistogram(name: string, options?: MetricOptions): Histogram;
|
|
13
|
+
export declare function getOrCreateCounter(name: string, options?: MetricOptions): Counter;
|
|
14
|
+
export declare function getOrCreateUpDownCounter(name: string, options?: MetricOptions): UpDownCounter;
|
|
15
|
+
export declare function getOrCreateObservableGauge(name: string, options?: MetricOptions): ObservableGauge;
|
|
16
|
+
export declare function getOrCreateObservableCounter(name: string, options?: MetricOptions): ObservableCounter;
|
|
17
|
+
export declare function getOrCreateObservableUpDownCounter(name: string, options?: MetricOptions): ObservableUpDownCounter;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getOrCreateObservableUpDownCounter = exports.getOrCreateObservableCounter = exports.getOrCreateObservableGauge = exports.getOrCreateUpDownCounter = exports.getOrCreateCounter = exports.getOrCreateHistogram = exports.meterData = exports.MetricType = void 0;
|
|
4
|
-
const
|
|
4
|
+
const api_1 = require("@opentelemetry/api");
|
|
5
5
|
const opentelemetry_constants_1 = require("../opentelemetry.constants");
|
|
6
6
|
var MetricType;
|
|
7
7
|
(function (MetricType) {
|
|
@@ -13,61 +13,61 @@ var MetricType;
|
|
|
13
13
|
MetricType["ObservableUpDownCounter"] = "ObservableUpDownCounter";
|
|
14
14
|
})(MetricType = exports.MetricType || (exports.MetricType = {}));
|
|
15
15
|
exports.meterData = new Map();
|
|
16
|
-
function getOrCreateHistogram(name, options) {
|
|
16
|
+
function getOrCreateHistogram(name, options = {}) {
|
|
17
17
|
if (exports.meterData.has(name)) {
|
|
18
18
|
return exports.meterData.get(name);
|
|
19
19
|
}
|
|
20
|
-
const meter =
|
|
20
|
+
const meter = api_1.metrics.getMeterProvider().getMeter(opentelemetry_constants_1.OTEL_METER_NAME);
|
|
21
21
|
const histogram = meter.createHistogram(name, options);
|
|
22
22
|
exports.meterData.set(name, histogram);
|
|
23
23
|
return histogram;
|
|
24
24
|
}
|
|
25
25
|
exports.getOrCreateHistogram = getOrCreateHistogram;
|
|
26
|
-
function getOrCreateCounter(name, options) {
|
|
26
|
+
function getOrCreateCounter(name, options = {}) {
|
|
27
27
|
if (exports.meterData.has(name)) {
|
|
28
28
|
return exports.meterData.get(name);
|
|
29
29
|
}
|
|
30
|
-
const meter =
|
|
30
|
+
const meter = api_1.metrics.getMeterProvider().getMeter(opentelemetry_constants_1.OTEL_METER_NAME);
|
|
31
31
|
const counter = meter.createCounter(name, options);
|
|
32
32
|
exports.meterData.set(name, counter);
|
|
33
33
|
return counter;
|
|
34
34
|
}
|
|
35
35
|
exports.getOrCreateCounter = getOrCreateCounter;
|
|
36
|
-
function getOrCreateUpDownCounter(name, options) {
|
|
36
|
+
function getOrCreateUpDownCounter(name, options = {}) {
|
|
37
37
|
if (exports.meterData.has(name)) {
|
|
38
38
|
return exports.meterData.get(name);
|
|
39
39
|
}
|
|
40
|
-
const meter =
|
|
40
|
+
const meter = api_1.metrics.getMeterProvider().getMeter(opentelemetry_constants_1.OTEL_METER_NAME);
|
|
41
41
|
const upDownCounter = meter.createUpDownCounter(name, options);
|
|
42
42
|
exports.meterData.set(name, upDownCounter);
|
|
43
43
|
return upDownCounter;
|
|
44
44
|
}
|
|
45
45
|
exports.getOrCreateUpDownCounter = getOrCreateUpDownCounter;
|
|
46
|
-
function getOrCreateObservableGauge(name, options) {
|
|
46
|
+
function getOrCreateObservableGauge(name, options = {}) {
|
|
47
47
|
if (exports.meterData.has(name)) {
|
|
48
48
|
return exports.meterData.get(name);
|
|
49
49
|
}
|
|
50
|
-
const meter =
|
|
50
|
+
const meter = api_1.metrics.getMeterProvider().getMeter(opentelemetry_constants_1.OTEL_METER_NAME);
|
|
51
51
|
const observableGauge = meter.createObservableGauge(name, options);
|
|
52
52
|
exports.meterData.set(name, observableGauge);
|
|
53
53
|
return observableGauge;
|
|
54
54
|
}
|
|
55
55
|
exports.getOrCreateObservableGauge = getOrCreateObservableGauge;
|
|
56
|
-
function getOrCreateObservableCounter(name, options) {
|
|
56
|
+
function getOrCreateObservableCounter(name, options = {}) {
|
|
57
57
|
if (exports.meterData.has(name)) {
|
|
58
58
|
return exports.meterData.get(name);
|
|
59
59
|
}
|
|
60
|
-
const meter =
|
|
60
|
+
const meter = api_1.metrics.getMeterProvider().getMeter(opentelemetry_constants_1.OTEL_METER_NAME);
|
|
61
61
|
const observableCounter = meter.createObservableCounter(name, options);
|
|
62
62
|
exports.meterData.set(name, observableCounter);
|
|
63
63
|
return observableCounter;
|
|
64
64
|
}
|
|
65
65
|
exports.getOrCreateObservableCounter = getOrCreateObservableCounter;
|
|
66
|
-
function getOrCreateObservableUpDownCounter(name, options) {
|
|
66
|
+
function getOrCreateObservableUpDownCounter(name, options = {}) {
|
|
67
67
|
if (exports.meterData.has(name)) {
|
|
68
68
|
return exports.meterData.get(name);
|
|
69
69
|
}
|
|
70
|
-
const meter =
|
|
70
|
+
const meter = api_1.metrics.getMeterProvider().getMeter(opentelemetry_constants_1.OTEL_METER_NAME);
|
|
71
71
|
const observableCounter = meter.createObservableCounter(name, options);
|
|
72
72
|
exports.meterData.set(name, observableCounter);
|
|
73
73
|
return observableCounter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric-data.js","sourceRoot":"","sources":["../../src/metrics/metric-data.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"metric-data.js","sourceRoot":"","sources":["../../src/metrics/metric-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { MetricOptions } from '@opentelemetry/api
|
|
1
|
+
import { MetricOptions } from '@opentelemetry/api';
|
|
2
2
|
export declare class MetricService {
|
|
3
|
-
getCounter(name: string, options?: MetricOptions): import("@opentelemetry/api
|
|
4
|
-
getUpDownCounter(name: string, options?: MetricOptions): import("@opentelemetry/api
|
|
5
|
-
getHistogram(name: string, options?: MetricOptions): import("@opentelemetry/api
|
|
6
|
-
getObservableCounter(name: string, options?: MetricOptions): import("@opentelemetry/api
|
|
7
|
-
getObservableGauge(name: string, options?: MetricOptions): import("@opentelemetry/api
|
|
8
|
-
getObservableUpDownCounter(name: string, options?: MetricOptions): import("@opentelemetry/api
|
|
3
|
+
getCounter(name: string, options?: MetricOptions): import("@opentelemetry/api").Counter<import("@opentelemetry/api").Attributes>;
|
|
4
|
+
getUpDownCounter(name: string, options?: MetricOptions): import("@opentelemetry/api").UpDownCounter<import("@opentelemetry/api").Attributes>;
|
|
5
|
+
getHistogram(name: string, options?: MetricOptions): import("@opentelemetry/api").Histogram<import("@opentelemetry/api").Attributes>;
|
|
6
|
+
getObservableCounter(name: string, options?: MetricOptions): import("@opentelemetry/api").ObservableCounter<import("@opentelemetry/api").Attributes>;
|
|
7
|
+
getObservableGauge(name: string, options?: MetricOptions): import("@opentelemetry/api").ObservableGauge<import("@opentelemetry/api").Attributes>;
|
|
8
|
+
getObservableUpDownCounter(name: string, options?: MetricOptions): import("@opentelemetry/api").ObservableUpDownCounter<import("@opentelemetry/api").Attributes>;
|
|
9
9
|
}
|
|
@@ -22,7 +22,7 @@ let ApiMetricsMiddleware = class ApiMetricsMiddleware {
|
|
|
22
22
|
constructor(metricService, options = {}) {
|
|
23
23
|
this.metricService = metricService;
|
|
24
24
|
this.options = options;
|
|
25
|
-
const { defaultAttributes = {}, ignoreUndefinedRoutes = false, } = options?.metrics?.apiMetrics;
|
|
25
|
+
const { defaultAttributes = {}, ignoreUndefinedRoutes = false, } = options?.metrics?.apiMetrics ?? {};
|
|
26
26
|
this.defaultMetricAttributes = defaultAttributes;
|
|
27
27
|
this.ignoreUndefinedRoutes = ignoreUndefinedRoutes;
|
|
28
28
|
this.httpServerRequestCount = this.metricService.getCounter('http.server.request.count', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-metrics.middleware.js","sourceRoot":"","sources":["../../src/middleware/api-metrics.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoE;AACpE,8CAA8C;AAC9C,iCAAiC;AAKjC,8DAA0D;AAC1D,wEAA0E;AAGnE,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAuB/B,YAC0C,aAA4B,EACb,UAAsC,EAAE;QADvD,kBAAa,GAAb,aAAa,CAAe;QACb,YAAO,GAAP,OAAO,CAAiC;QAE/F,MAAM,EACJ,iBAAiB,GAAG,EAAE,EACtB,qBAAqB,GAAG,KAAK,GAC9B,GAAG,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"api-metrics.middleware.js","sourceRoot":"","sources":["../../src/middleware/api-metrics.middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
16
16
|
exports.OpenTelemetryCoreModule = void 0;
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
|
18
18
|
const host_metrics_1 = require("@opentelemetry/host-metrics");
|
|
19
|
-
const
|
|
19
|
+
const api_1 = require("@opentelemetry/api");
|
|
20
20
|
const metric_service_1 = require("./metrics/metric.service");
|
|
21
21
|
const middleware_1 = require("./middleware");
|
|
22
22
|
const opentelemetry_constants_1 = require("./opentelemetry.constants");
|
|
@@ -77,7 +77,7 @@ let OpenTelemetryCoreModule = OpenTelemetryCoreModule_1 = class OpenTelemetryCor
|
|
|
77
77
|
hostMetrics = this.options.metrics.hostMetrics
|
|
78
78
|
!== undefined ? this.options.metrics.hostMetrics : false;
|
|
79
79
|
}
|
|
80
|
-
const meterProvider =
|
|
80
|
+
const meterProvider = api_1.metrics.getMeterProvider();
|
|
81
81
|
if (hostMetrics) {
|
|
82
82
|
const host = new host_metrics_1.HostMetrics({ meterProvider, name: 'host-metrics' });
|
|
83
83
|
host.start();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opentelemetry-core.module.js","sourceRoot":"","sources":["../src/opentelemetry-core.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAIwB;AACxB,8DAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"opentelemetry-core.module.js","sourceRoot":"","sources":["../src/opentelemetry-core.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
require("reflect-metadata");
|
|
13
13
|
const api_1 = require("@opentelemetry/api");
|
|
14
|
-
const sdk_node_1 = require("@opentelemetry/sdk-node");
|
|
15
14
|
const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
|
|
16
15
|
const common_1 = require("@nestjs/common");
|
|
17
16
|
const span_1 = require("./span");
|
|
@@ -65,8 +64,8 @@ describe('Span', () => {
|
|
|
65
64
|
let provider;
|
|
66
65
|
beforeAll(async () => {
|
|
67
66
|
instance = new TestSpan();
|
|
68
|
-
traceExporter = new
|
|
69
|
-
spanProcessor = new
|
|
67
|
+
traceExporter = new sdk_trace_node_1.InMemorySpanExporter();
|
|
68
|
+
spanProcessor = new sdk_trace_node_1.SimpleSpanProcessor(traceExporter);
|
|
70
69
|
provider = new sdk_trace_node_1.NodeTracerProvider();
|
|
71
70
|
provider.addSpanProcessor(spanProcessor);
|
|
72
71
|
provider.register();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span.spec.js","sourceRoot":"","sources":["../../../src/tracing/decorators/span.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,4BAA0B;AAC1B,4CAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"span.spec.js","sourceRoot":"","sources":["../../../src/tracing/decorators/span.spec.ts"],"names":[],"mappings":"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"}
|