@rsdk/core 4.0.0-next.12 → 4.0.0-next.14

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 (70) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/index.d.ts +4 -1
  3. package/dist/index.js +16 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/tracing/active-span.module.d.ts +5 -0
  6. package/dist/tracing/active-span.module.js +25 -0
  7. package/dist/tracing/active-span.module.js.map +1 -0
  8. package/dist/tracing/constants.d.ts +7 -1
  9. package/dist/tracing/constants.js +8 -2
  10. package/dist/tracing/constants.js.map +1 -1
  11. package/dist/tracing/decorators/span.decorator.d.ts +1 -1
  12. package/dist/tracing/decorators/span.decorator.js +13 -1
  13. package/dist/tracing/decorators/span.decorator.js.map +1 -1
  14. package/dist/tracing/index.d.ts +7 -0
  15. package/dist/tracing/index.js +7 -0
  16. package/dist/tracing/index.js.map +1 -1
  17. package/dist/tracing/request-metadata.module.d.ts +5 -0
  18. package/dist/tracing/request-metadata.module.js +25 -0
  19. package/dist/tracing/request-metadata.module.js.map +1 -0
  20. package/dist/tracing/services/active-span.storage.d.ts +17 -0
  21. package/dist/tracing/services/active-span.storage.js +46 -0
  22. package/dist/tracing/services/active-span.storage.js.map +1 -0
  23. package/dist/tracing/services/index.d.ts +0 -1
  24. package/dist/tracing/services/index.js +0 -1
  25. package/dist/tracing/services/index.js.map +1 -1
  26. package/dist/tracing/services/instrumentation.service.d.ts +2 -8
  27. package/dist/tracing/services/instrumentation.service.js +9 -114
  28. package/dist/tracing/services/instrumentation.service.js.map +1 -1
  29. package/dist/tracing/services/request-metadata.injector.d.ts +6 -0
  30. package/dist/tracing/services/request-metadata.injector.js +122 -0
  31. package/dist/tracing/services/request-metadata.injector.js.map +1 -0
  32. package/dist/tracing/services/request-metadata.storage.d.ts +32 -0
  33. package/dist/tracing/services/request-metadata.storage.js +64 -0
  34. package/dist/tracing/services/request-metadata.storage.js.map +1 -0
  35. package/dist/tracing/services/trace.injector.d.ts +1 -1
  36. package/dist/tracing/services/trace.injector.js +213 -18
  37. package/dist/tracing/services/trace.injector.js.map +1 -1
  38. package/dist/tracing/tracing.interceptor.d.ts +9 -0
  39. package/dist/tracing/tracing.interceptor.js +24 -0
  40. package/dist/tracing/tracing.interceptor.js.map +1 -0
  41. package/dist/tracing/tracing.module.d.ts +1 -1
  42. package/dist/tracing/tracing.module.js +15 -16
  43. package/dist/tracing/tracing.module.js.map +1 -1
  44. package/dist/tracing/utils/create-span.d.ts +10 -0
  45. package/dist/tracing/utils/create-span.js +20 -0
  46. package/dist/tracing/utils/create-span.js.map +1 -0
  47. package/dist/tracing/utils/save-async-hooks-context.d.ts +19 -0
  48. package/dist/tracing/utils/save-async-hooks-context.js +59 -0
  49. package/dist/tracing/utils/save-async-hooks-context.js.map +1 -0
  50. package/package.json +10 -10
  51. package/src/index.ts +20 -1
  52. package/src/tracing/active-span.module.ts +13 -0
  53. package/src/tracing/constants.ts +8 -1
  54. package/src/tracing/decorators/span.decorator.ts +18 -5
  55. package/src/tracing/index.ts +7 -0
  56. package/src/tracing/request-metadata.module.ts +13 -0
  57. package/src/tracing/services/active-span.storage.ts +32 -0
  58. package/src/tracing/services/index.ts +0 -1
  59. package/src/tracing/services/instrumentation.service.ts +16 -130
  60. package/src/tracing/services/request-metadata.injector.ts +153 -0
  61. package/src/tracing/services/request-metadata.storage.ts +69 -0
  62. package/src/tracing/services/trace.injector.ts +268 -19
  63. package/src/tracing/tracing.interceptor.ts +18 -0
  64. package/src/tracing/tracing.module.ts +14 -14
  65. package/src/tracing/utils/create-span.ts +20 -0
  66. package/src/tracing/utils/save-async-hooks-context.ts +62 -0
  67. package/dist/tracing/services/metadata.scanner.d.ts +0 -11
  68. package/dist/tracing/services/metadata.scanner.js +0 -50
  69. package/dist/tracing/services/metadata.scanner.js.map +0 -1
  70. package/src/tracing/services/metadata.scanner.ts +0 -40
package/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [4.0.0-next.14](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.13...v4.0.0-next.14) (2023-11-29)
7
+
8
+ ### Features
9
+
10
+ * **core:** PFM-601 Add support send trace id from client to server ([#164](https://github.com/R-Vision/rsdk/issues/164)) ([9e37243](https://github.com/R-Vision/rsdk/commit/9e372437fbb3d7d2b1167b99d07b0ac64cb4013d)), closes [#pfm-601](https://github.com/R-Vision/rsdk/issues/pfm-601) [#pfm-601](https://github.com/R-Vision/rsdk/issues/pfm-601)
11
+
12
+ ## [4.0.0-next.13](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.12...v4.0.0-next.13) (2023-11-29)
13
+
14
+ **Note:** Version bump only for package @rsdk/core
15
+
6
16
  ## [4.0.0-next.12](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.11...v4.0.0-next.12) (2023-11-29)
7
17
 
8
18
  **Note:** Version bump only for package @rsdk/core
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import './unhandled-rejection.handler';
2
+ export { X_REQUEST_ID } from './tracing/constants';
3
+ export { RequestMetadata, RequestMetadataStorage, TracingModule, saveAsyncHooksContext, createSpan, ActiveSpanModule, ActiveSpanStorage, Span, } from './tracing';
2
4
  export { FileSystemCheckOptions, FileSystemIndicator, PingCheckOptions, PingIndicator, } from './health/indicators.abstract';
3
5
  export { HealthChecksService } from './health/health.service';
4
6
  export { CheckSummary } from './health/types';
@@ -12,8 +14,9 @@ export * from './config';
12
14
  export * from './exceptions';
13
15
  export * from './exceptions.handling';
14
16
  export { InjectLogger } from './logging';
15
- export { AnyMetric, Counter, Gauge, Histogram, Summary, Metric, MetricsModule, register, } from './metrics';
17
+ export { AnyMetric, Counter, Gauge, Histogram, Metric, MetricsModule, Summary, register, } from './metrics';
16
18
  export { PlatformApp } from './app/platform.app';
17
19
  export * from './types';
18
20
  export * from './app-metadata/decorators';
19
21
  export * from './app-metadata/app-metadata.const';
22
+ export { X_B3_PARENT_SPAN_ID, X_B3_SPAN_ID, X_B3_TRACE_ID, } from '@opentelemetry/propagator-b3';
package/dist/index.js CHANGED
@@ -14,8 +14,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.PlatformApp = exports.register = exports.MetricsModule = exports.Metric = exports.Summary = exports.Histogram = exports.Gauge = exports.Counter = exports.InjectLogger = exports.PlatformContext = exports.ConfigTag = exports.CheckResult = exports.Indicator = exports.getLoggerToken = exports.HealthChecksService = exports.PingIndicator = exports.FileSystemIndicator = void 0;
17
+ exports.X_B3_TRACE_ID = exports.X_B3_SPAN_ID = exports.X_B3_PARENT_SPAN_ID = exports.PlatformApp = exports.register = exports.Summary = exports.MetricsModule = exports.Metric = exports.Histogram = exports.Gauge = exports.Counter = exports.InjectLogger = exports.PlatformContext = exports.ConfigTag = exports.CheckResult = exports.Indicator = exports.getLoggerToken = exports.HealthChecksService = exports.PingIndicator = exports.FileSystemIndicator = exports.Span = exports.ActiveSpanStorage = exports.ActiveSpanModule = exports.createSpan = exports.saveAsyncHooksContext = exports.TracingModule = exports.RequestMetadataStorage = exports.X_REQUEST_ID = void 0;
18
18
  require("./unhandled-rejection.handler");
19
+ var constants_1 = require("./tracing/constants");
20
+ Object.defineProperty(exports, "X_REQUEST_ID", { enumerable: true, get: function () { return constants_1.X_REQUEST_ID; } });
21
+ var tracing_1 = require("./tracing");
22
+ Object.defineProperty(exports, "RequestMetadataStorage", { enumerable: true, get: function () { return tracing_1.RequestMetadataStorage; } });
23
+ Object.defineProperty(exports, "TracingModule", { enumerable: true, get: function () { return tracing_1.TracingModule; } });
24
+ Object.defineProperty(exports, "saveAsyncHooksContext", { enumerable: true, get: function () { return tracing_1.saveAsyncHooksContext; } });
25
+ Object.defineProperty(exports, "createSpan", { enumerable: true, get: function () { return tracing_1.createSpan; } });
26
+ Object.defineProperty(exports, "ActiveSpanModule", { enumerable: true, get: function () { return tracing_1.ActiveSpanModule; } });
27
+ Object.defineProperty(exports, "ActiveSpanStorage", { enumerable: true, get: function () { return tracing_1.ActiveSpanStorage; } });
28
+ Object.defineProperty(exports, "Span", { enumerable: true, get: function () { return tracing_1.Span; } });
19
29
  var indicators_abstract_1 = require("./health/indicators.abstract");
20
30
  Object.defineProperty(exports, "FileSystemIndicator", { enumerable: true, get: function () { return indicators_abstract_1.FileSystemIndicator; } });
21
31
  Object.defineProperty(exports, "PingIndicator", { enumerable: true, get: function () { return indicators_abstract_1.PingIndicator; } });
@@ -40,13 +50,17 @@ var metrics_1 = require("./metrics");
40
50
  Object.defineProperty(exports, "Counter", { enumerable: true, get: function () { return metrics_1.Counter; } });
41
51
  Object.defineProperty(exports, "Gauge", { enumerable: true, get: function () { return metrics_1.Gauge; } });
42
52
  Object.defineProperty(exports, "Histogram", { enumerable: true, get: function () { return metrics_1.Histogram; } });
43
- Object.defineProperty(exports, "Summary", { enumerable: true, get: function () { return metrics_1.Summary; } });
44
53
  Object.defineProperty(exports, "Metric", { enumerable: true, get: function () { return metrics_1.Metric; } });
45
54
  Object.defineProperty(exports, "MetricsModule", { enumerable: true, get: function () { return metrics_1.MetricsModule; } });
55
+ Object.defineProperty(exports, "Summary", { enumerable: true, get: function () { return metrics_1.Summary; } });
46
56
  Object.defineProperty(exports, "register", { enumerable: true, get: function () { return metrics_1.register; } });
47
57
  var platform_app_1 = require("./app/platform.app");
48
58
  Object.defineProperty(exports, "PlatformApp", { enumerable: true, get: function () { return platform_app_1.PlatformApp; } });
49
59
  __exportStar(require("./types"), exports);
50
60
  __exportStar(require("./app-metadata/decorators"), exports);
51
61
  __exportStar(require("./app-metadata/app-metadata.const"), exports);
62
+ var propagator_b3_1 = require("@opentelemetry/propagator-b3");
63
+ Object.defineProperty(exports, "X_B3_PARENT_SPAN_ID", { enumerable: true, get: function () { return propagator_b3_1.X_B3_PARENT_SPAN_ID; } });
64
+ Object.defineProperty(exports, "X_B3_SPAN_ID", { enumerable: true, get: function () { return propagator_b3_1.X_B3_SPAN_ID; } });
65
+ Object.defineProperty(exports, "X_B3_TRACE_ID", { enumerable: true, get: function () { return propagator_b3_1.X_B3_TRACE_ID; } });
52
66
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAuC;AAEvC,oEAKsC;AAHpC,0HAAA,mBAAmB,OAAA;AAEnB,oHAAA,aAAa,OAAA;AAGf,0DAA8D;AAArD,qHAAA,mBAAmB,OAAA;AAI5B,6CAAmD;AAA1C,yGAAA,cAAc,OAAA;AAEvB,6EAAkE;AAAzD,gHAAA,SAAS,OAAA;AAIlB,4CAA+C;AAAtC,sGAAA,WAAW,OAAA;AAEpB,sDAAkD;AAAzC,yGAAA,SAAS,OAAA;AAElB,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AAExB,2CAAyB;AAEzB,+CAA6B;AAE7B,wDAAsC;AAEtC,qCAAyC;AAAhC,uGAAA,YAAY,OAAA;AAErB,qCASmB;AAPjB,kGAAA,OAAO,OAAA;AACP,gGAAA,KAAK,OAAA;AACL,oGAAA,SAAS,OAAA;AACT,kGAAA,OAAO,OAAA;AACP,iGAAA,MAAM,OAAA;AACN,wGAAA,aAAa,OAAA;AACb,mGAAA,QAAQ,OAAA;AAGV,mDAAiD;AAAxC,2GAAA,WAAW,OAAA;AAEpB,0CAAwB;AAExB,4DAA0C;AAE1C,oEAAkD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAuC;AAEvC,iDAAmD;AAA1C,yGAAA,YAAY,OAAA;AAErB,qCASmB;AAPjB,iHAAA,sBAAsB,OAAA;AACtB,wGAAA,aAAa,OAAA;AACb,gHAAA,qBAAqB,OAAA;AACrB,qGAAA,UAAU,OAAA;AACV,2GAAA,gBAAgB,OAAA;AAChB,4GAAA,iBAAiB,OAAA;AACjB,+FAAA,IAAI,OAAA;AAGN,oEAKsC;AAHpC,0HAAA,mBAAmB,OAAA;AAEnB,oHAAA,aAAa,OAAA;AAGf,0DAA8D;AAArD,qHAAA,mBAAmB,OAAA;AAI5B,6CAAmD;AAA1C,yGAAA,cAAc,OAAA;AAEvB,6EAAkE;AAAzD,gHAAA,SAAS,OAAA;AAIlB,4CAA+C;AAAtC,sGAAA,WAAW,OAAA;AAEpB,sDAAkD;AAAzC,yGAAA,SAAS,OAAA;AAElB,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AAExB,2CAAyB;AAEzB,+CAA6B;AAE7B,wDAAsC;AAEtC,qCAAyC;AAAhC,uGAAA,YAAY,OAAA;AAErB,qCASmB;AAPjB,kGAAA,OAAO,OAAA;AACP,gGAAA,KAAK,OAAA;AACL,oGAAA,SAAS,OAAA;AACT,iGAAA,MAAM,OAAA;AACN,wGAAA,aAAa,OAAA;AACb,kGAAA,OAAO,OAAA;AACP,mGAAA,QAAQ,OAAA;AAGV,mDAAiD;AAAxC,2GAAA,WAAW,OAAA;AAEpB,0CAAwB;AAExB,4DAA0C;AAE1C,oEAAkD;AAElD,8DAIsC;AAHpC,oHAAA,mBAAmB,OAAA;AACnB,6GAAA,YAAY,OAAA;AACZ,8GAAA,aAAa,OAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Модуль для получения данных активного спана
3
+ */
4
+ export declare class ActiveSpanModule {
5
+ }
@@ -0,0 +1,25 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ActiveSpanModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const active_span_storage_1 = require("./services/active-span.storage");
12
+ /**
13
+ * Модуль для получения данных активного спана
14
+ */
15
+ let ActiveSpanModule = class ActiveSpanModule {
16
+ };
17
+ exports.ActiveSpanModule = ActiveSpanModule;
18
+ exports.ActiveSpanModule = ActiveSpanModule = __decorate([
19
+ (0, common_1.Global)(),
20
+ (0, common_1.Module)({
21
+ providers: [active_span_storage_1.ActiveSpanStorage],
22
+ exports: [active_span_storage_1.ActiveSpanStorage],
23
+ })
24
+ ], ActiveSpanModule);
25
+ //# sourceMappingURL=active-span.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-span.module.js","sourceRoot":"","sources":["../../src/tracing/active-span.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAEhD,wEAAmE;AAEnE;;GAEG;AAMI,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,4CAAgB;2BAAhB,gBAAgB;IAL5B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,uCAAiB,CAAC;QAC9B,OAAO,EAAE,CAAC,uCAAiB,CAAC;KAC7B,CAAC;GACW,gBAAgB,CAAG"}
@@ -1,5 +1,11 @@
1
+ import { Size } from '@rsdk/common';
1
2
  export declare enum Constants {
2
3
  TRACE_METADATA_ACTIVE = "OPEN_TELEMETRY_TRACE_METADATA_ACTIVE",
4
+ REQUEST_METADATA_ASYNC_LOCAL_STORAGE_ACTIVE = "REQUEST_METADATA_ASYNC_LOCAL_STORAGE_ACTIVE",
3
5
  NO_SPAN_METADATA = "NO_SPAN_METADATA"
4
6
  }
5
- export declare const MAX_BYTES: number;
7
+ /**
8
+ * Ид запроса - нужен для фильтрации запросов при поиске проблем от конкретного клиента
9
+ */
10
+ export declare const X_REQUEST_ID = "x-requestid";
11
+ export declare const MAX_BYTES: Size;
@@ -1,10 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MAX_BYTES = exports.Constants = void 0;
3
+ exports.MAX_BYTES = exports.X_REQUEST_ID = exports.Constants = void 0;
4
+ const common_1 = require("@rsdk/common");
4
5
  var Constants;
5
6
  (function (Constants) {
6
7
  Constants["TRACE_METADATA_ACTIVE"] = "OPEN_TELEMETRY_TRACE_METADATA_ACTIVE";
8
+ Constants["REQUEST_METADATA_ASYNC_LOCAL_STORAGE_ACTIVE"] = "REQUEST_METADATA_ASYNC_LOCAL_STORAGE_ACTIVE";
7
9
  Constants["NO_SPAN_METADATA"] = "NO_SPAN_METADATA";
8
10
  })(Constants || (exports.Constants = Constants = {}));
9
- exports.MAX_BYTES = 100 * 1024; // 100kb;
11
+ /**
12
+ * Ид запроса - нужен для фильтрации запросов при поиске проблем от конкретного клиента
13
+ */
14
+ exports.X_REQUEST_ID = 'x-requestid';
15
+ exports.MAX_BYTES = new common_1.Size(100, 'kb');
10
16
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tracing/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,2EAA8D,CAAA;IAC9D,kDAAqC,CAAA;AACvC,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAEY,QAAA,SAAS,GAAG,GAAG,GAAG,IAAK,CAAC,CAAC,SAAS"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tracing/constants.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AAEpC,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,2EAA8D,CAAA;IAC9D,wGAA2F,CAAA;IAC3F,kDAAqC,CAAA;AACvC,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAED;;GAEG;AACU,QAAA,YAAY,GAAG,aAAa,CAAC;AAC7B,QAAA,SAAS,GAAG,IAAI,aAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC"}
@@ -3,4 +3,4 @@
3
3
  * Use for classes that you instantiate manually.
4
4
  * NOTE: Is redundant for injectables and other nest.js stuff
5
5
  */
6
- export declare const Span: () => MethodDecorator;
6
+ export declare const Span: () => MethodDecorator & ClassDecorator;
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Span = void 0;
4
+ const core_1 = require("@nestjs/core");
4
5
  const exceptions_1 = require("../../exceptions");
5
6
  const services_1 = require("../services");
7
+ const metadataScanner = new core_1.MetadataScanner();
6
8
  /**
7
9
  * Explicitly adds instrumentation to method (don't work for classes!).
8
10
  * Use for classes that you instantiate manually.
@@ -14,7 +16,17 @@ function (target, methodName, descriptor) {
14
16
  if (typeof methodName === 'symbol') {
15
17
  throw new exceptions_1.SymbolKeyDecorationException();
16
18
  }
17
- services_1.TraceInjector.wrap(target, descriptor.value, descriptor);
19
+ if (methodName && descriptor) {
20
+ services_1.TraceInjector.wrap(target, descriptor.value, descriptor);
21
+ }
22
+ else {
23
+ const prototype = target.prototype ?? target;
24
+ for (const name of metadataScanner.getAllMethodNames(prototype)) {
25
+ if (name) {
26
+ services_1.TraceInjector.wrap(prototype, prototype[name]);
27
+ }
28
+ }
29
+ }
18
30
  };
19
31
  exports.Span = Span;
20
32
  //# sourceMappingURL=span.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"span.decorator.js","sourceRoot":"","sources":["../../../src/tracing/decorators/span.decorator.ts"],"names":[],"mappings":";;;AAAA,iDAAgE;AAChE,0CAA4C;AAE5C;;;;GAIG;AACI,MAAM,IAAI,GAAG,GAAoB,EAAE;AACxC,+DAA+D;AAC/D,UACE,MAAc,EACd,UAA2B,EAC3B,UAAwC;IAExC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QAClC,MAAM,IAAI,yCAA4B,EAAE,CAAC;KAC1C;IAED,wBAAa,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC3D,CAAC,CAAC;AAZS,QAAA,IAAI,QAYb"}
1
+ {"version":3,"file":"span.decorator.js","sourceRoot":"","sources":["../../../src/tracing/decorators/span.decorator.ts"],"names":[],"mappings":";;;AAAA,uCAA+C;AAE/C,iDAAgE;AAChE,0CAA4C;AAE5C,MAAM,eAAe,GAAG,IAAI,sBAAe,EAAE,CAAC;AAE9C;;;;GAIG;AACI,MAAM,IAAI,GAAG,GAAqC,EAAE;AACzD,+DAA+D;AAC/D,UACE,MAAc,EACd,UAA4B,EAC5B,UAAyC;IAEzC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QAClC,MAAM,IAAI,yCAA4B,EAAE,CAAC;KAC1C;IACD,IAAI,UAAU,IAAI,UAAU,EAAE;QAC5B,wBAAa,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;KAC1D;SAAM;QACL,MAAM,SAAS,GAAI,MAAc,CAAC,SAAS,IAAI,MAAM,CAAC;QAEtD,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE;YAC/D,IAAI,IAAI,EAAE;gBACR,wBAAa,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;aAChD;SACF;KACF;AACH,CAAC,CAAC;AArBS,QAAA,IAAI,QAqBb"}
@@ -1 +1,8 @@
1
+ export * from './active-span.module';
2
+ export * from './request-metadata.module';
3
+ export * from './services/active-span.storage';
4
+ export * from './services/request-metadata.storage';
1
5
  export * from './tracing.module';
6
+ export * from './utils/create-span';
7
+ export * from './utils/save-async-hooks-context';
8
+ export * from './decorators';
@@ -14,5 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./active-span.module"), exports);
18
+ __exportStar(require("./request-metadata.module"), exports);
19
+ __exportStar(require("./services/active-span.storage"), exports);
20
+ __exportStar(require("./services/request-metadata.storage"), exports);
17
21
  __exportStar(require("./tracing.module"), exports);
22
+ __exportStar(require("./utils/create-span"), exports);
23
+ __exportStar(require("./utils/save-async-hooks-context"), exports);
24
+ __exportStar(require("./decorators"), exports);
18
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,4DAA0C;AAC1C,iEAA+C;AAC/C,sEAAoD;AACpD,mDAAiC;AACjC,sDAAoC;AACpC,mEAAiD;AACjD,+CAA6B"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Модуль для хранения и получения данных из аскин локал стораджа
3
+ */
4
+ export declare class RequestMetadataModule {
5
+ }
@@ -0,0 +1,25 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.RequestMetadataModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const request_metadata_storage_1 = require("./services/request-metadata.storage");
12
+ /**
13
+ * Модуль для хранения и получения данных из аскин локал стораджа
14
+ */
15
+ let RequestMetadataModule = class RequestMetadataModule {
16
+ };
17
+ exports.RequestMetadataModule = RequestMetadataModule;
18
+ exports.RequestMetadataModule = RequestMetadataModule = __decorate([
19
+ (0, common_1.Global)(),
20
+ (0, common_1.Module)({
21
+ providers: [request_metadata_storage_1.RequestMetadataStorage],
22
+ exports: [request_metadata_storage_1.RequestMetadataStorage],
23
+ })
24
+ ], RequestMetadataModule);
25
+ //# sourceMappingURL=request-metadata.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-metadata.module.js","sourceRoot":"","sources":["../../src/tracing/request-metadata.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAEhD,kFAA6E;AAE7E;;GAEG;AAMI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAAG,CAAA;AAAxB,sDAAqB;gCAArB,qBAAqB;IALjC,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,iDAAsB,CAAC;QACnC,OAAO,EAAE,CAAC,iDAAsB,CAAC;KAClC,CAAC;GACW,qBAAqB,CAAG"}
@@ -0,0 +1,17 @@
1
+ import type { Span } from '@opentelemetry/api';
2
+ /**
3
+ * Обертка вокруг `api.trace.getActiveSpan()`
4
+ */
5
+ export declare class ActiveSpanStorage {
6
+ /**
7
+ * Так как этот сервис используется в разных местах, чтобы не усложнять существующий код путем проксирования модулей и сервисов
8
+ * после создания ложим инстанс в эту статик переменную
9
+ */
10
+ private static instance;
11
+ constructor();
12
+ static getInstance(): ActiveSpanStorage | undefined;
13
+ /**
14
+ * Получает новое значение в контекст
15
+ */
16
+ getActiveSpan(): Span | undefined;
17
+ }
@@ -0,0 +1,46 @@
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
+ var ActiveSpanStorage_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.ActiveSpanStorage = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const sdk_node_1 = require("@opentelemetry/sdk-node");
16
+ /**
17
+ * Обертка вокруг `api.trace.getActiveSpan()`
18
+ */
19
+ let ActiveSpanStorage = class ActiveSpanStorage {
20
+ static { ActiveSpanStorage_1 = this; }
21
+ /**
22
+ * Так как этот сервис используется в разных местах, чтобы не усложнять существующий код путем проксирования модулей и сервисов
23
+ * после создания ложим инстанс в эту статик переменную
24
+ */
25
+ static instance;
26
+ constructor() {
27
+ if (!ActiveSpanStorage_1.instance) {
28
+ ActiveSpanStorage_1.instance = this;
29
+ }
30
+ }
31
+ static getInstance() {
32
+ return ActiveSpanStorage_1.instance;
33
+ }
34
+ /**
35
+ * Получает новое значение в контекст
36
+ */
37
+ getActiveSpan() {
38
+ return sdk_node_1.api.trace.getActiveSpan();
39
+ }
40
+ };
41
+ exports.ActiveSpanStorage = ActiveSpanStorage;
42
+ exports.ActiveSpanStorage = ActiveSpanStorage = ActiveSpanStorage_1 = __decorate([
43
+ (0, common_1.Injectable)(),
44
+ __metadata("design:paramtypes", [])
45
+ ], ActiveSpanStorage);
46
+ //# sourceMappingURL=active-span.storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-span.storage.js","sourceRoot":"","sources":["../../../src/tracing/services/active-span.storage.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,sDAA8C;AAE9C;;GAEG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;;IAC5B;;;OAGG;IACK,MAAM,CAAC,QAAQ,CAAgC;IAEvD;QACE,IAAI,CAAC,mBAAiB,CAAC,QAAQ,EAAE;YAC/B,mBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC;SACnC;IACH,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,mBAAiB,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,cAAG,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC;CACF,CAAA;AAvBY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;;GACA,iBAAiB,CAuB7B"}
@@ -1,3 +1,2 @@
1
1
  export * from './instrumentation.service';
2
- export * from './metadata.scanner';
3
2
  export * from './trace.injector';
@@ -15,6 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./instrumentation.service"), exports);
18
- __exportStar(require("./metadata.scanner"), exports);
19
18
  __exportStar(require("./trace.injector"), exports);
20
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tracing/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,qDAAmC;AACnC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tracing/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,mDAAiC"}
@@ -1,10 +1,4 @@
1
- import { ILogger } from '@rsdk/logging';
2
- import { ExtendedMetadataScanner } from './metadata.scanner';
3
1
  export declare class InstrumentationService {
4
- private readonly logger;
5
- protected readonly scanner: ExtendedMetadataScanner;
6
- constructor(logger: ILogger, scanner: ExtendedMetadataScanner);
7
- inject(): void;
8
- private wrapAugmentations;
9
- private wrapMethods;
2
+ injectWrapRequestMetadataInjector(): void;
3
+ injectWrapTraceInjector(): void;
10
4
  }
@@ -5,133 +5,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
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
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
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
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
8
  Object.defineProperty(exports, "__esModule", { value: true });
15
9
  exports.InstrumentationService = void 0;
16
10
  const common_1 = require("@nestjs/common");
17
- const constants_1 = require("@nestjs/common/constants");
18
- const core_1 = require("@nestjs/core");
19
- const logging_1 = require("../../logging");
20
- const metadata_scanner_1 = require("./metadata.scanner");
11
+ const tracing_interceptor_1 = require("../tracing.interceptor");
12
+ const request_metadata_injector_1 = require("./request-metadata.injector");
21
13
  const trace_injector_1 = require("./trace.injector");
22
- const types = [
23
- constants_1.EXCEPTION_FILTERS_METADATA,
24
- constants_1.GUARDS_METADATA,
25
- constants_1.INTERCEPTORS_METADATA,
26
- constants_1.PIPES_METADATA,
27
- ];
28
14
  let InstrumentationService = class InstrumentationService {
29
- logger;
30
- scanner;
31
- constructor(logger, scanner) {
32
- this.logger = logger;
33
- this.scanner = scanner;
34
- }
35
- inject() {
36
- /**
37
- * Для каждого контроллера
38
- */
39
- for (const controller of this.scanner.getControllers()) {
40
- /**
41
- * Перебираем методы контроллера и оборачиваем их.
42
- */
43
- this.wrapMethods(controller.metatype.prototype);
44
- this.wrapAugmentations(controller.metatype);
45
- /**
46
- * Для каждого метода контроллера
47
- */
48
- for (const name of this.scanner.getMethods(controller.metatype.prototype)) {
49
- /**
50
- * Во вложенном цикле находим все гарды, интерцепторы, пайпы и фильтры,
51
- * привязанные к методу.
52
- * Уровни вложенности, как в цикле выше
53
- */
54
- const method = controller.metatype.prototype[name];
55
- this.wrapAugmentations(method);
56
- }
57
- }
58
- /**
59
- * Глобальные гарды, интерцепторы, пайпы и фильтры находятся
60
- * в общем списке провайдеров по injection-токенам.
61
- */
62
- for (const { metatype, token } of this.scanner.getProviders()) {
63
- if (typeof token !== 'string') {
64
- continue;
65
- }
66
- if (token.includes(core_1.APP_GUARD) ||
67
- token.includes(core_1.APP_PIPE) ||
68
- token.includes(core_1.APP_INTERCEPTOR) ||
69
- token.includes(core_1.APP_FILTER)) {
70
- this.wrapMethods(metatype.prototype);
71
- }
72
- }
15
+ injectWrapRequestMetadataInjector() {
73
16
  /**
74
- * Глобальные гарды, интерцепторы, пайпы и фильтры находятся
75
- * в общем списке провайдеров по injection-токенам.
17
+ * Оборачиваем интерцептор в логику которая несет с собою асинк локал сторадж с requestId
76
18
  */
77
- for (const { metatype: { name, prototype }, } of this.scanner.getProviders()) {
78
- if (name.toLowerCase().endsWith('module')) {
79
- continue;
80
- }
81
- if (name === 'ModuleRef' ||
82
- name === 'Reflector' ||
83
- name === 'OrphanedReferenceRegistry' ||
84
- name === 'TypeFieldsAccessor' ||
85
- name === 'TypeMapperSevice' ||
86
- name === 'TypeDefinitionsStorage' ||
87
- name === 'FileSystemHelper' ||
88
- name === 'TypeDefinitionsGenerator' ||
89
- name === 'GraphQLSchemaFactory' ||
90
- name === 'AstDefinitionNodeFactory' ||
91
- name === 'UnionDefinitionFactory' ||
92
- name === 'SubscriptionTypeFactory' ||
93
- name === 'RootTypeFactory' ||
94
- name === 'ResolveTypeFactory' ||
95
- name === 'QueryTypeFactory' ||
96
- name === 'OrphanedTypesFactory' ||
97
- name === 'OutputTypeFactory' ||
98
- name === 'ObjectTypeDefinitionFactory' ||
99
- name === 'MutationTypeFactory' ||
100
- name === 'InterfaceDefinitionFactory' ||
101
- name === 'InputTypeFactory' ||
102
- name === 'ArgsFactory' ||
103
- name === 'InputTypeDefinitionFactory' ||
104
- name === 'EnumDefinitionFactory') {
105
- continue;
106
- }
107
- this.wrapMethods(prototype);
108
- }
19
+ request_metadata_injector_1.RequestMetadataInjector.wrap(tracing_interceptor_1.TracingInterceptor.prototype, tracing_interceptor_1.TracingInterceptor.prototype['intercept']);
109
20
  }
110
- wrapAugmentations(metatype) {
21
+ injectWrapTraceInjector() {
111
22
  /**
112
- * Перебираем во вложенных циклах все гарды, интерцепторы, пайпы и фильтры,
113
- * повешенные на переданный прототип (metatype).
114
- * 1-й уровень - типы сущностей: интерцепторы, гарды, пайпы, фильтры
115
- * 2-й уровень - методы сущностей
23
+ * Оборачиваем интерцептор в логику которая несет с собою асинк локал сторадж с traceId, spanId
116
24
  */
117
- for (const metakey of types) {
118
- for (const instance of Reflect.getMetadata(metakey, metatype) || []) {
119
- this.wrapMethods(instance);
120
- }
121
- }
122
- }
123
- wrapMethods(obj) {
124
- const prototype = obj.prototype ?? obj;
125
- this.logger.trace(`Wrapping methods of ${prototype.constructor.name}...`);
126
- for (const name of this.scanner.getMethods(prototype)) {
127
- trace_injector_1.TraceInjector.wrap(prototype, prototype[name]);
128
- }
25
+ trace_injector_1.TraceInjector.wrap(tracing_interceptor_1.TracingInterceptor.prototype, tracing_interceptor_1.TracingInterceptor.prototype['intercept'], undefined, true);
129
26
  }
130
27
  };
131
28
  exports.InstrumentationService = InstrumentationService;
132
29
  exports.InstrumentationService = InstrumentationService = __decorate([
133
- (0, common_1.Injectable)(),
134
- __param(0, (0, logging_1.InjectLogger)(InstrumentationService)),
135
- __metadata("design:paramtypes", [Object, metadata_scanner_1.ExtendedMetadataScanner])
30
+ (0, common_1.Injectable)()
136
31
  ], InstrumentationService);
137
32
  //# sourceMappingURL=instrumentation.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.service.js","sourceRoot":"","sources":["../../../src/tracing/services/instrumentation.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instrumentation.service.js","sourceRoot":"","sources":["../../../src/tracing/services/instrumentation.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAE5C,gEAA4D;AAE5D,2EAAsE;AACtE,qDAAiD;AAG1C,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAC1B,iCAAiC;QACtC;;WAEG;QACH,mDAAuB,CAAC,IAAI,CAC1B,wCAAkB,CAAC,SAAS,EAC5B,wCAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,CAC1C,CAAC;IACJ,CAAC;IAEM,uBAAuB;QAC5B;;WAEG;QACH,8BAAa,CAAC,IAAI,CAChB,wCAAkB,CAAC,SAAS,EAC5B,wCAAkB,CAAC,SAAS,CAAC,WAAW,CAAC,EACzC,SAAS,EACT,IAAI,CACL,CAAC;IACJ,CAAC;CACF,CAAA;AAtBY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;GACA,sBAAsB,CAsBlC"}
@@ -0,0 +1,6 @@
1
+ export declare class RequestMetadataInjector {
2
+ static wrap(cls: any, original: Function): void;
3
+ private static createWrapper;
4
+ private static isWrapped;
5
+ private static setWrapped;
6
+ }