@rsdk/core 4.1.0 → 4.2.0-next.1

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 (74) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/app-metadata/app-metadata.const.d.ts +1 -0
  3. package/dist/app-metadata/app-metadata.const.js +2 -1
  4. package/dist/app-metadata/app-metadata.const.js.map +1 -1
  5. package/dist/app-metadata/app-metadata.module.js +4 -0
  6. package/dist/app-metadata/app-metadata.module.js.map +1 -1
  7. package/dist/app-metadata/app-name.const.js +1 -1
  8. package/dist/app-metadata/app-name.const.js.map +1 -1
  9. package/dist/index.d.ts +3 -1
  10. package/dist/index.js +5 -2
  11. package/dist/index.js.map +1 -1
  12. package/dist/platform.context.js +12 -4
  13. package/dist/platform.context.js.map +1 -1
  14. package/dist/platform.module.js +6 -1
  15. package/dist/platform.module.js.map +1 -1
  16. package/dist/tracing/auto-instrumentations.config.js +2 -3
  17. package/dist/tracing/auto-instrumentations.config.js.map +1 -1
  18. package/dist/tracing/grpc.headers.d.ts +11 -0
  19. package/dist/tracing/grpc.headers.js +24 -0
  20. package/dist/tracing/grpc.headers.js.map +1 -0
  21. package/dist/tracing/http.headers.d.ts +11 -0
  22. package/dist/tracing/http.headers.js +22 -0
  23. package/dist/tracing/http.headers.js.map +1 -0
  24. package/dist/tracing/index.d.ts +0 -1
  25. package/dist/tracing/index.js +0 -1
  26. package/dist/tracing/index.js.map +1 -1
  27. package/dist/tracing/open-telemetry.interceptor.d.ts +5 -0
  28. package/dist/tracing/open-telemetry.interceptor.js +83 -0
  29. package/dist/tracing/open-telemetry.interceptor.js.map +1 -0
  30. package/dist/tracing/request-metadata.module.js +1 -5
  31. package/dist/tracing/request-metadata.module.js.map +1 -1
  32. package/dist/tracing/services/instrumentation.service.d.ts +0 -1
  33. package/dist/tracing/services/instrumentation.service.js +0 -7
  34. package/dist/tracing/services/instrumentation.service.js.map +1 -1
  35. package/dist/tracing/services/request-id.provider.d.ts +11 -0
  36. package/dist/tracing/services/request-id.provider.js +13 -0
  37. package/dist/tracing/services/request-id.provider.js.map +1 -0
  38. package/dist/tracing/services/trace.injector.d.ts +4 -4
  39. package/dist/tracing/services/trace.injector.js +1 -132
  40. package/dist/tracing/services/trace.injector.js.map +1 -1
  41. package/dist/tracing/tracing.interceptor.d.ts +6 -5
  42. package/dist/tracing/tracing.interceptor.js +92 -7
  43. package/dist/tracing/tracing.interceptor.js.map +1 -1
  44. package/dist/tracing/tracing.module.d.ts +2 -2
  45. package/dist/tracing/tracing.module.js +8 -9
  46. package/dist/tracing/tracing.module.js.map +1 -1
  47. package/dist/types/options.d.ts +3 -1
  48. package/package.json +11 -10
  49. package/src/app-metadata/app-metadata.const.ts +1 -0
  50. package/src/app-metadata/app-metadata.module.ts +10 -1
  51. package/src/app-metadata/app-name.const.ts +1 -1
  52. package/src/index.ts +3 -3
  53. package/src/platform.context.ts +9 -1
  54. package/src/platform.module.ts +7 -1
  55. package/src/tracing/auto-instrumentations.config.ts +2 -3
  56. package/src/tracing/grpc.headers.ts +29 -0
  57. package/src/tracing/http.headers.ts +32 -0
  58. package/src/tracing/index.ts +0 -1
  59. package/src/tracing/open-telemetry.interceptor.ts +114 -0
  60. package/src/tracing/request-metadata.module.ts +1 -6
  61. package/src/tracing/services/instrumentation.service.ts +0 -11
  62. package/src/tracing/services/request-id.provider.ts +21 -0
  63. package/src/tracing/services/trace.injector.ts +4 -170
  64. package/src/tracing/tracing.interceptor.ts +131 -5
  65. package/src/tracing/tracing.module.ts +10 -12
  66. package/src/types/options.ts +2 -1
  67. package/dist/tracing/services/request-metadata.injector.d.ts +0 -6
  68. package/dist/tracing/services/request-metadata.injector.js +0 -123
  69. package/dist/tracing/services/request-metadata.injector.js.map +0 -1
  70. package/dist/tracing/services/request-metadata.storage.d.ts +0 -32
  71. package/dist/tracing/services/request-metadata.storage.js +0 -64
  72. package/dist/tracing/services/request-metadata.storage.js.map +0 -1
  73. package/src/tracing/services/request-metadata.injector.ts +0 -157
  74. package/src/tracing/services/request-metadata.storage.ts +0 -69
package/CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
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.2.0-next.1](https://github.com/R-Vision/rsdk/compare/v4.2.0-next.0...v4.2.0-next.1) (2024-02-02)
7
+
8
+ ### Features
9
+
10
+ * rework work with async context ([#201](https://github.com/R-Vision/rsdk/issues/201)) ([26de1a8](https://github.com/R-Vision/rsdk/commit/26de1a814692bcd082c2f1aaedad1215ec0df1a0))
11
+
12
+ ## [4.2.0-next.0](https://github.com/R-Vision/rsdk/compare/v4.1.0...v4.2.0-next.0) (2024-02-02)
13
+
14
+ ### Features
15
+
16
+ * **s3:** added @rsdk/s3 package ([03bd9ea](https://github.com/R-Vision/rsdk/commit/03bd9ea7e5f78be6c93b1a2547fe7c2639ca0146))
17
+
6
18
  ## [4.1.0](https://github.com/R-Vision/rsdk/compare/v4.1.0-next.1...v4.1.0) (2024-01-24)
7
19
 
8
20
  **Note:** Version bump only for package @rsdk/core
@@ -1,3 +1,4 @@
1
1
  export declare const APP_NAME: unique symbol;
2
+ export declare const APP_SCOPE: unique symbol;
2
3
  export declare const APP_DESCRIPTION: unique symbol;
3
4
  export declare const APP_VERSION: unique symbol;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.APP_VERSION = exports.APP_DESCRIPTION = exports.APP_NAME = void 0;
3
+ exports.APP_VERSION = exports.APP_DESCRIPTION = exports.APP_SCOPE = exports.APP_NAME = void 0;
4
4
  exports.APP_NAME = Symbol('APP_NAME_TOKEN');
5
+ exports.APP_SCOPE = Symbol('APP_SCOPE_TOKEN');
5
6
  exports.APP_DESCRIPTION = Symbol('APP_DESCRIPTION_TOKEN');
6
7
  exports.APP_VERSION = Symbol('APP_VERSION_TOKEN');
7
8
  //# sourceMappingURL=app-metadata.const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-metadata.const.js","sourceRoot":"","sources":["../../src/app-metadata/app-metadata.const.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACpC,QAAA,eAAe,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAClD,QAAA,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"app-metadata.const.js","sourceRoot":"","sources":["../../src/app-metadata/app-metadata.const.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACpC,QAAA,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACtC,QAAA,eAAe,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAClD,QAAA,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC"}
@@ -17,6 +17,10 @@ let AppMetadataModule = AppMetadataModule_1 = class AppMetadataModule {
17
17
  provide: app_metadata_const_1.APP_NAME,
18
18
  useValue: options.name,
19
19
  },
20
+ {
21
+ provide: app_metadata_const_1.APP_SCOPE,
22
+ useValue: options.appScope,
23
+ },
20
24
  {
21
25
  provide: app_metadata_const_1.APP_DESCRIPTION,
22
26
  useValue: options.description,
@@ -1 +1 @@
1
- {"version":3,"file":"app-metadata.module.js","sourceRoot":"","sources":["../../src/app-metadata/app-metadata.module.ts"],"names":[],"mappings":";;;;;;;;;;AACA,2CAAwC;AAIxC,6DAA8E;AAGvE,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAC5B,MAAM,CAAC,OAAO,CAAC,OAAgC;QAC7C,MAAM,SAAS,GAAe;YAC5B;gBACE,OAAO,EAAE,6BAAQ;gBACjB,QAAQ,EAAE,OAAO,CAAC,IAAI;aACvB;YACD;gBACE,OAAO,EAAE,oCAAe;gBACxB,QAAQ,EAAE,OAAO,CAAC,WAAW;aAC9B;YACD;gBACE,OAAO,EAAE,gCAAW;gBACpB,QAAQ,EAAE,OAAO,CAAC,OAAO;aAC1B;SACF,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,mBAAiB;YACzB,SAAS;YAET,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;CACF,CAAA;AAzBY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,iBAAiB,CAyB7B"}
1
+ {"version":3,"file":"app-metadata.module.js","sourceRoot":"","sources":["../../src/app-metadata/app-metadata.module.ts"],"names":[],"mappings":";;;;;;;;;;AACA,2CAAwC;AAIxC,6DAK8B;AAGvB,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAC5B,MAAM,CAAC,OAAO,CAAC,OAAgC;QAC7C,MAAM,SAAS,GAAe;YAC5B;gBACE,OAAO,EAAE,6BAAQ;gBACjB,QAAQ,EAAE,OAAO,CAAC,IAAI;aACvB;YACD;gBACE,OAAO,EAAE,8BAAS;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B;YACD;gBACE,OAAO,EAAE,oCAAe;gBACxB,QAAQ,EAAE,OAAO,CAAC,WAAW;aAC9B;YACD;gBACE,OAAO,EAAE,gCAAW;gBACpB,QAAQ,EAAE,OAAO,CAAC,OAAO;aAC1B;SACF,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,mBAAiB;YACzB,SAAS;YAET,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;CACF,CAAA;AA7BY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,iBAAiB,CA6B7B"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.APP_NAME_PATTERN = void 0;
4
- exports.APP_NAME_PATTERN = /^[a-z][a-z-]*\.[.a-z-]*[a-z]$/;
4
+ exports.APP_NAME_PATTERN = /(^[a-z][a-z-]*)\.[.a-z-]*[a-z]$/;
5
5
  //# sourceMappingURL=app-name.const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-name.const.js","sourceRoot":"","sources":["../../src/app-metadata/app-name.const.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,+BAA+B,CAAC"}
1
+ {"version":3,"file":"app-name.const.js","sourceRoot":"","sources":["../../src/app-metadata/app-name.const.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,iCAAiC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import './unhandled-rejection.handler';
2
+ export { APP_SCOPE } from './app-metadata/app-metadata.const';
2
3
  export { Manifest } from './manifest/manifest';
3
4
  export { ProtocolDetector } from './transport/protocol.detector';
4
5
  export { X_REQUEST_ID } from './tracing/constants';
5
- export { RequestMetadata, RequestMetadataStorage, TracingModule, saveAsyncHooksContext, createSpan, ActiveSpanModule, ActiveSpanStorage, Span, } from './tracing';
6
+ export { TracingModule, saveAsyncHooksContext, createSpan, ActiveSpanModule, ActiveSpanStorage, Span, } from './tracing';
6
7
  export { FileSystemCheckOptions, FileSystemIndicator, PingCheckOptions, PingIndicator, } from './health/indicators.abstract';
7
8
  export { HealthChecksService } from './health/health.service';
8
9
  export { CheckSummary } from './health/types';
@@ -23,3 +24,4 @@ export * from './app-metadata/decorators';
23
24
  export * from './app-metadata/app-metadata.const';
24
25
  export { getTransportId } from './transport/get-transport-id';
25
26
  export { X_B3_PARENT_SPAN_ID, X_B3_SPAN_ID, X_B3_TRACE_ID, } from '@opentelemetry/propagator-b3';
27
+ export { RequestIdProvider } from './tracing/services/request-id.provider';
package/dist/index.js CHANGED
@@ -14,8 +14,10 @@ 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.X_B3_TRACE_ID = exports.X_B3_SPAN_ID = exports.X_B3_PARENT_SPAN_ID = exports.getTransportId = 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 = exports.ProtocolDetector = exports.Manifest = void 0;
17
+ exports.RequestIdProvider = exports.X_B3_TRACE_ID = exports.X_B3_SPAN_ID = exports.X_B3_PARENT_SPAN_ID = exports.getTransportId = 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.X_REQUEST_ID = exports.ProtocolDetector = exports.Manifest = exports.APP_SCOPE = void 0;
18
18
  require("./unhandled-rejection.handler");
19
+ var app_metadata_const_1 = require("./app-metadata/app-metadata.const");
20
+ Object.defineProperty(exports, "APP_SCOPE", { enumerable: true, get: function () { return app_metadata_const_1.APP_SCOPE; } });
19
21
  var manifest_1 = require("./manifest/manifest");
20
22
  Object.defineProperty(exports, "Manifest", { enumerable: true, get: function () { return manifest_1.Manifest; } });
21
23
  var protocol_detector_1 = require("./transport/protocol.detector");
@@ -23,7 +25,6 @@ Object.defineProperty(exports, "ProtocolDetector", { enumerable: true, get: func
23
25
  var constants_1 = require("./tracing/constants");
24
26
  Object.defineProperty(exports, "X_REQUEST_ID", { enumerable: true, get: function () { return constants_1.X_REQUEST_ID; } });
25
27
  var tracing_1 = require("./tracing");
26
- Object.defineProperty(exports, "RequestMetadataStorage", { enumerable: true, get: function () { return tracing_1.RequestMetadataStorage; } });
27
28
  Object.defineProperty(exports, "TracingModule", { enumerable: true, get: function () { return tracing_1.TracingModule; } });
28
29
  Object.defineProperty(exports, "saveAsyncHooksContext", { enumerable: true, get: function () { return tracing_1.saveAsyncHooksContext; } });
29
30
  Object.defineProperty(exports, "createSpan", { enumerable: true, get: function () { return tracing_1.createSpan; } });
@@ -69,4 +70,6 @@ var propagator_b3_1 = require("@opentelemetry/propagator-b3");
69
70
  Object.defineProperty(exports, "X_B3_PARENT_SPAN_ID", { enumerable: true, get: function () { return propagator_b3_1.X_B3_PARENT_SPAN_ID; } });
70
71
  Object.defineProperty(exports, "X_B3_SPAN_ID", { enumerable: true, get: function () { return propagator_b3_1.X_B3_SPAN_ID; } });
71
72
  Object.defineProperty(exports, "X_B3_TRACE_ID", { enumerable: true, get: function () { return propagator_b3_1.X_B3_TRACE_ID; } });
73
+ var request_id_provider_1 = require("./tracing/services/request-id.provider");
74
+ Object.defineProperty(exports, "RequestIdProvider", { enumerable: true, get: function () { return request_id_provider_1.RequestIdProvider; } });
72
75
  //# 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,gDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AAEjB,mEAAiE;AAAxD,qHAAA,gBAAgB,OAAA;AAEzB,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;AAClD,iEAA8D;AAArD,kHAAA,cAAc,OAAA;AAEvB,8DAIsC;AAHpC,oHAAA,mBAAmB,OAAA;AACnB,6GAAA,YAAY,OAAA;AACZ,8GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAuC;AAEvC,wEAA8D;AAArD,+GAAA,SAAS,OAAA;AAElB,gDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AAEjB,mEAAiE;AAAxD,qHAAA,gBAAgB,OAAA;AAEzB,iDAAmD;AAA1C,yGAAA,YAAY,OAAA;AACrB,qCAOmB;AANjB,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;AAClD,iEAA8D;AAArD,kHAAA,cAAc,OAAA;AAEvB,8DAIsC;AAHpC,oHAAA,mBAAmB,OAAA;AACnB,6GAAA,YAAY,OAAA;AACZ,8GAAA,aAAa,OAAA;AAEf,8EAA2E;AAAlE,wHAAA,iBAAiB,OAAA"}
@@ -3,11 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PlatformContext = void 0;
4
4
  const logging_1 = require("@rsdk/logging");
5
5
  const lodash_1 = require("lodash");
6
+ const app_name_const_1 = require("./app-metadata/app-name.const");
7
+ const exceptions_1 = require("./app-metadata/exceptions");
6
8
  const config_metadata_provider_1 = require("./config/metadata/config-metadata.provider");
7
9
  const manifest_1 = require("./manifest/manifest");
8
10
  const app_metadata_1 = require("./app-metadata");
9
11
  const context_aggregator_1 = require("./context.aggregator");
10
- const exceptions_1 = require("./exceptions");
12
+ const exceptions_2 = require("./exceptions");
11
13
  const logging_2 = require("./logging");
12
14
  const noop_http_adapter_1 = require("./noop.http-adapter");
13
15
  const types_1 = require("./types");
@@ -47,12 +49,18 @@ class PlatformContext {
47
49
  const { name, description, version } = manifestData;
48
50
  const appName = this.strictnessOptions?.forceAppName ?? name;
49
51
  if (this.strictnessOptions?.skipAssertAppName) {
50
- this.logger.warn('assert app name skipped');
52
+ this.logger.warn('app name asserting was skipped');
51
53
  }
52
54
  else {
53
55
  (0, app_metadata_1.assertAppName)(appName);
54
56
  }
57
+ const regexrResult = app_name_const_1.APP_NAME_PATTERN.exec(name);
58
+ const appScope = regexrResult?.[1];
59
+ if (!regexrResult || !appScope) {
60
+ throw new exceptions_1.InvalidAppNameException(name);
61
+ }
55
62
  const extendedOptions = {
63
+ appScope,
56
64
  description,
57
65
  name: appName,
58
66
  version,
@@ -71,7 +79,7 @@ class PlatformContext {
71
79
  continue;
72
80
  }
73
81
  if ((0, lodash_1.intersection)(plugin.forTransports(), protocols).length === 0) {
74
- throw new exceptions_1.NoMatchingTransportException(plugin);
82
+ throw new exceptions_2.NoMatchingTransportException(plugin);
75
83
  }
76
84
  }
77
85
  }
@@ -79,7 +87,7 @@ class PlatformContext {
79
87
  const grouped = (0, lodash_1.groupBy)(options.transports, (x) => x.getProtocol());
80
88
  for (const [protocol, implementations] of Object.entries(grouped)) {
81
89
  if (implementations.length > 1) {
82
- throw new exceptions_1.DuplicateProtocolException(protocol, implementations.length);
90
+ throw new exceptions_2.DuplicateProtocolException(protocol, implementations.length);
83
91
  }
84
92
  }
85
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform.context.js","sourceRoot":"","sources":["../src/platform.context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.context.js","sourceRoot":"","sources":["../src/platform.context.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ var PlatformModule_1;
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.PlatformModule = void 0;
17
17
  const common_1 = require("@nestjs/common");
18
+ const actx_1 = require("@rsdk/actx");
18
19
  const plugin_module_1 = require("./plugin/plugin.module");
19
20
  const transport_module_1 = require("./transport/transport.module");
20
21
  const app_metadata_1 = require("./app-metadata");
@@ -29,12 +30,16 @@ let PlatformModule = PlatformModule_1 = class PlatformModule {
29
30
  }
30
31
  static forRoot(options) {
31
32
  const imports = [
33
+ /**
34
+ * Последовательность принципиально важна так как в этом модуле происходит инициализация глобального асинхронного контекста (AsyncLocalStorage)
35
+ */
36
+ actx_1.AsyncContextModule,
37
+ tracing_1.TracingModule.forRoot({ appName: options.name, processing: 'simple' }),
32
38
  // Plugins
33
39
  plugin_module_1.PlatformPluginModule.forOptions(options),
34
40
  // Infrastructure
35
41
  app_metadata_1.AppMetadataModule.forRoot(options),
36
42
  config_1.PlatformConfigModule.forRoot(options),
37
- tracing_1.TracingModule.forRoot({ appName: options.name, processing: 'simple' }),
38
43
  logging_1.LoggerInitializingModule,
39
44
  ...(options.modules ?? []),
40
45
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"platform.module.js","sourceRoot":"","sources":["../src/platform.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,2CAAwC;AAIxC,0DAA8D;AAC9D,mEAAuE;AACvE,iDAAmD;AACnD,qCAAgD;AAChD,6CAAiD;AACjD,uCAAqD;AACrD,uCAA0C;AAG1C,IAAa,cAAc,sBAA3B,MAAa,cAAc;IAEoB;IAD7C,YAC6C,OAAgC;QAAhC,YAAO,GAAP,OAAO,CAAyB;IAC1E,CAAC;IAEJ,MAAM,CAAC,OAAO,CAAC,OAAgC;QAC7C,MAAM,OAAO,GAAoC;YAC/C,UAAU;YACV,oCAAoB,CAAC,UAAU,CAAC,OAAO,CAAC;YAExC,iBAAiB;YACjB,gCAAiB,CAAC,OAAO,CAAC,OAAO,CAAC;YAClC,6BAAoB,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,uBAAa,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;YACtE,kCAAwB;YACxB,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;SAC3B,CAAC;QAEF,oCAAoC;QACpC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,0CAAuB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO;YACL,MAAM,EAAE,gBAAc;YACtB,OAAO;YACP,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,yBAAyB;oBAClC,QAAQ,EAAE,OAAO;iBAClB;aACF;YACD,OAAO,EAAE,CAAC,yBAAyB,CAAC;SACrC,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,QAA4B;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,8BAAiB,CACzB,mEAAmE,CACpE,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAChD,MAAM,EAAE,mBAAmB,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF,CAAA;AA/CY,wCAAc;yBAAd,cAAc;IAEtB,WAAA,IAAA,eAAM,EAAC,yBAAyB,CAAC,CAAA;;GAFzB,cAAc,CA+C1B"}
1
+ {"version":3,"file":"platform.module.js","sourceRoot":"","sources":["../src/platform.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,2CAAwC;AAExC,qCAAgD;AAGhD,0DAA8D;AAC9D,mEAAuE;AACvE,iDAAmD;AACnD,qCAAgD;AAChD,6CAAiD;AACjD,uCAAqD;AACrD,uCAA0C;AAG1C,IAAa,cAAc,sBAA3B,MAAa,cAAc;IAEoB;IAD7C,YAC6C,OAAgC;QAAhC,YAAO,GAAP,OAAO,CAAyB;IAC1E,CAAC;IAEJ,MAAM,CAAC,OAAO,CAAC,OAAgC;QAC7C,MAAM,OAAO,GAAoC;YAC/C;;eAEG;YACH,yBAAkB;YAClB,uBAAa,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;YAEtE,UAAU;YACV,oCAAoB,CAAC,UAAU,CAAC,OAAO,CAAC;YAExC,iBAAiB;YACjB,gCAAiB,CAAC,OAAO,CAAC,OAAO,CAAC;YAClC,6BAAoB,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,kCAAwB;YACxB,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;SAC3B,CAAC;QAEF,oCAAoC;QACpC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,0CAAuB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO;YACL,MAAM,EAAE,gBAAc;YACtB,OAAO;YACP,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,yBAAyB;oBAClC,QAAQ,EAAE,OAAO;iBAClB;aACF;YACD,OAAO,EAAE,CAAC,yBAAyB,CAAC;SACrC,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,QAA4B;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,8BAAiB,CACzB,mEAAmE,CACpE,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAChD,MAAM,EAAE,mBAAmB,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF,CAAA;AApDY,wCAAc;yBAAd,cAAc;IAEtB,WAAA,IAAA,eAAM,EAAC,yBAAyB,CAAC,CAAA;;GAFzB,cAAc,CAoD1B"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.autoInstumentationOptions = void 0;
4
4
  const auto_instrumentations_node_1 = require("@opentelemetry/auto-instrumentations-node");
5
5
  const node_http_1 = require("node:http");
6
- const request_metadata_storage_1 = require("./services/request-metadata.storage");
6
+ const request_id_provider_1 = require("./services/request-id.provider");
7
7
  exports.autoInstumentationOptions = (0, auto_instrumentations_node_1.getNodeAutoInstrumentations)({
8
8
  '@opentelemetry/instrumentation-aws-sdk': {
9
9
  responseHook: (span, { response }) => {
@@ -35,8 +35,7 @@ exports.autoInstumentationOptions = (0, auto_instrumentations_node_1.getNodeAuto
35
35
  '@opentelemetry/instrumentation-pino': {
36
36
  enabled: true,
37
37
  logHook: (_span, record) => {
38
- record['request_id'] =
39
- request_metadata_storage_1.RequestMetadataStorage.getInstance()?.getRequestMetadata().requestId;
38
+ record['request_id'] = request_id_provider_1.RequestIdProvider.get();
40
39
  },
41
40
  },
42
41
  });
@@ -1 +1 @@
1
- {"version":3,"file":"auto-instrumentations.config.js","sourceRoot":"","sources":["../../src/tracing/auto-instrumentations.config.ts"],"names":[],"mappings":";;;AAAA,0FAAwF;AACxF,yCAA2D;AAE3D,kFAA6E;AAEhE,QAAA,yBAAyB,GAAU,IAAA,wDAA2B,EAAC;IAC1E,wCAAwC,EAAE;QACxC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YACnC,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;gBAC1C,IAAI,CAAC,YAAY,CACf,gBAAgB,EAChB,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CACtC,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD,wCAAwC,EAAE;QACxC,WAAW,EAAE,IAAI;KAClB;IACD,qCAAqC,EAAE;QACrC,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YAC7B,IAAI,OAAO,YAAY,2BAAe,EAAE,CAAC;gBACvC,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;oBAClC,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;iBAAM,IACL,OAAO,YAAY,yBAAa;gBAChC,OAAO,CAAC,GAAG,CAAC,MAAM;gBAClB,OAAO,CAAC,GAAG,CAAC,GAAG,EACf,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;KACF;IACD,mCAAmC,EAAE;QACnC,yBAAyB,EAAE,IAAI;KAChC;IACD,qCAAqC,EAAE;QACrC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACzB,MAAM,CAAC,YAAY,CAAC;gBAClB,iDAAsB,CAAC,WAAW,EAAE,EAAE,kBAAkB,EAAE,CAAC,SAAS,CAAC;QACzE,CAAC;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"auto-instrumentations.config.js","sourceRoot":"","sources":["../../src/tracing/auto-instrumentations.config.ts"],"names":[],"mappings":";;;AAAA,0FAAwF;AACxF,yCAA2D;AAE3D,wEAAmE;AAEtD,QAAA,yBAAyB,GAAU,IAAA,wDAA2B,EAAC;IAC1E,wCAAwC,EAAE;QACxC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YACnC,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;gBAC1C,IAAI,CAAC,YAAY,CACf,gBAAgB,EAChB,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CACtC,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD,wCAAwC,EAAE;QACxC,WAAW,EAAE,IAAI;KAClB;IACD,qCAAqC,EAAE;QACrC,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YAC7B,IAAI,OAAO,YAAY,2BAAe,EAAE,CAAC;gBACvC,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;oBAClC,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;iBAAM,IACL,OAAO,YAAY,yBAAa;gBAChC,OAAO,CAAC,GAAG,CAAC,MAAM;gBAClB,OAAO,CAAC,GAAG,CAAC,GAAG,EACf,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;KACF;IACD,mCAAmC,EAAE;QACnC,yBAAyB,EAAE,IAAI;KAChC;IACD,qCAAqC,EAAE;QACrC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACzB,MAAM,CAAC,YAAY,CAAC,GAAG,uCAAiB,CAAC,GAAG,EAAE,CAAC;QACjD,CAAC;KACF;CACF,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Metadata } from '@grpc/grpc-js';
2
+ import type { MaybeReadonlyArray } from '@rsdk/common.node';
3
+ /**
4
+ * @description хелпер для нормализованного извлечения заголовков из grpc запроса
5
+ */
6
+ export declare class GrpcHeaders {
7
+ private metadata;
8
+ constructor(metadata: Metadata);
9
+ get<K extends string>(key: MaybeReadonlyArray<K>): Record<K, string | undefined>;
10
+ get(key: string): string | undefined;
11
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GrpcHeaders = void 0;
4
+ /**
5
+ * @description хелпер для нормализованного извлечения заголовков из grpc запроса
6
+ */
7
+ class GrpcHeaders {
8
+ metadata;
9
+ constructor(metadata) {
10
+ this.metadata = metadata;
11
+ }
12
+ get(key) {
13
+ if (Array.isArray(key)) {
14
+ return Object.fromEntries(key.map((k) => [k, this.get(k)]));
15
+ }
16
+ const requestIdMetadata = this.metadata.get(key);
17
+ if (requestIdMetadata.length > 0) {
18
+ return requestIdMetadata[0].toString();
19
+ }
20
+ return undefined;
21
+ }
22
+ }
23
+ exports.GrpcHeaders = GrpcHeaders;
24
+ //# sourceMappingURL=grpc.headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc.headers.js","sourceRoot":"","sources":["../../src/tracing/grpc.headers.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH,MAAa,WAAW;IACF;IAApB,YAAoB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAM1C,GAAG,CACD,GAAwC;QAExC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAGzD,CAAC;QACJ,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAa,CAAC,CAAC;QAC3D,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAtBD,kCAsBC"}
@@ -0,0 +1,11 @@
1
+ import type { MaybeReadonlyArray } from '@rsdk/common.node';
2
+ /**
3
+ * @description хелпер для нормализованного извлечения заголовков из http запроса
4
+ */
5
+ export declare class HttpHeaders {
6
+ private headers;
7
+ constructor(headers: Record<string, string>);
8
+ get<K extends string>(key: MaybeReadonlyArray<K>): Record<K, string | undefined>;
9
+ get(key: string): string | undefined;
10
+ private normalizedHeaders;
11
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpHeaders = void 0;
4
+ /**
5
+ * @description хелпер для нормализованного извлечения заголовков из http запроса
6
+ */
7
+ class HttpHeaders {
8
+ headers;
9
+ constructor(headers) {
10
+ this.headers = headers;
11
+ this.normalizedHeaders = Object.fromEntries(Object.entries(headers).map(([k, v]) => [k.toLowerCase(), v]));
12
+ }
13
+ get(key) {
14
+ if (Array.isArray(key)) {
15
+ return Object.fromEntries(key.map((k) => [k, this.get(k)]));
16
+ }
17
+ return this.normalizedHeaders[key.toLowerCase()];
18
+ }
19
+ normalizedHeaders;
20
+ }
21
+ exports.HttpHeaders = HttpHeaders;
22
+ //# sourceMappingURL=http.headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.headers.js","sourceRoot":"","sources":["../../src/tracing/http.headers.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,WAAW;IACF;IAApB,YAAoB,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;QACjD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,WAAW,CACzC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAC9D,CAAC;IACJ,CAAC;IAQD,GAAG,CACD,GAAwC;QAExC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAGzD,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAE,GAAc,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEO,iBAAiB,CAAyB;CACnD;AA1BD,kCA0BC"}
@@ -1,7 +1,6 @@
1
1
  export * from './active-span.module';
2
2
  export * from './request-metadata.module';
3
3
  export * from './services/active-span.storage';
4
- export * from './services/request-metadata.storage';
5
4
  export * from './tracing.module';
6
5
  export * from './utils/create-span';
7
6
  export * from './utils/save-async-hooks-context';
@@ -17,7 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./active-span.module"), exports);
18
18
  __exportStar(require("./request-metadata.module"), exports);
19
19
  __exportStar(require("./services/active-span.storage"), exports);
20
- __exportStar(require("./services/request-metadata.storage"), exports);
21
20
  __exportStar(require("./tracing.module"), exports);
22
21
  __exportStar(require("./utils/create-span"), exports);
23
22
  __exportStar(require("./utils/save-async-hooks-context"), exports);
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,4DAA0C;AAC1C,iEAA+C;AAC/C,mDAAiC;AACjC,sDAAoC;AACpC,mEAAiD;AACjD,+CAA6B"}
@@ -0,0 +1,5 @@
1
+ import type { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
2
+ import { Observable } from 'rxjs';
3
+ export declare class OpenTelemetryInterceptor implements NestInterceptor {
4
+ intercept(_context: ExecutionContext, next: CallHandler<any>): Observable<any> | Promise<Observable<any>>;
5
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpenTelemetryInterceptor = void 0;
4
+ const api_1 = require("@opentelemetry/api");
5
+ const propagator_b3_1 = require("@opentelemetry/propagator-b3");
6
+ const sdk_node_1 = require("@opentelemetry/sdk-node");
7
+ const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
8
+ const rxjs_1 = require("rxjs");
9
+ const request_id_provider_1 = require("./services/request-id.provider");
10
+ const services_1 = require("./services");
11
+ class OpenTelemetryInterceptor {
12
+ intercept(_context, next) {
13
+ const tracer = api_1.trace.getTracer('@rsdk/open-telemetry', '1.0.0');
14
+ const spanName = services_1.TraceInjector.createSpanName(OpenTelemetryInterceptor.name, 'intercept');
15
+ /**
16
+ * Создаем новый спан
17
+ */
18
+ const span = tracer.startSpan(spanName, {});
19
+ const openTelemetryValues = request_id_provider_1.OpenTelemetryProvider.getOrThrow();
20
+ const parentSpanId = openTelemetryValues[propagator_b3_1.X_B3_PARENT_SPAN_ID];
21
+ if (parentSpanId) {
22
+ span.parentSpanId = parentSpanId;
23
+ }
24
+ const spanId = openTelemetryValues[propagator_b3_1.X_B3_SPAN_ID];
25
+ /**
26
+ * После создания контекста ранее при входе в приложение, у нас новый спан ид
27
+ * мы перетираем значением которе получили через заголовок
28
+ * в рамках приложения он корректный, но при переходе из одного приложения в другой - слетает
29
+ * и чтобы 100% все было норм, мы всегда патчим его
30
+ */
31
+ if (spanId) {
32
+ span.spanContext().spanId = spanId;
33
+ }
34
+ const traceId = openTelemetryValues[propagator_b3_1.X_B3_TRACE_ID];
35
+ /**
36
+ * Патчим трайс ид, причина выше
37
+ */
38
+ if (traceId) {
39
+ span.spanContext().traceId = traceId;
40
+ }
41
+ /**
42
+ * Обычно самая первая точка входа это фронтовый запрос, который содержит некие заголовки хттп
43
+ * мы их кладем в рутовый спан
44
+ */
45
+ if (openTelemetryValues.http) {
46
+ span.setAttribute(semantic_conventions_1.SemanticAttributes.HTTP_METHOD, openTelemetryValues.http.httpMethod);
47
+ span.setAttribute(semantic_conventions_1.SemanticAttributes.HTTP_URL, openTelemetryValues.http.httpUrl);
48
+ span.setAttribute(semantic_conventions_1.SemanticAttributes.HTTP_ROUTE, openTelemetryValues.http.httpRoute);
49
+ }
50
+ /**
51
+ * Чтобы пробросить пропатченный спан нужно запустить две строчки ниже:
52
+ * 1) создаем контекст в котором активный спан перебиваем новым
53
+ * 2) созданный контекст ставим основным и в нем запускаем под процесс
54
+ */
55
+ const spanContext = sdk_node_1.api.trace.setSpan(sdk_node_1.api.context.active(), span);
56
+ return new rxjs_1.Observable((observer) => {
57
+ sdk_node_1.api.context.with(spanContext, () => {
58
+ next
59
+ .handle()
60
+ .pipe((0, rxjs_1.mergeMap)((result) => {
61
+ services_1.TraceInjector.enrich(span, result);
62
+ span.end();
63
+ return (0, rxjs_1.of)(result);
64
+ }), (0, rxjs_1.catchError)((error) => {
65
+ services_1.TraceInjector.recordAndRethrow(error, span);
66
+ span.end();
67
+ return (0, rxjs_1.throwError)(() => error);
68
+ }))
69
+ .subscribe({
70
+ complete: () => {
71
+ observer.complete();
72
+ },
73
+ error: (error) => {
74
+ observer.error(error);
75
+ },
76
+ next: (res) => observer.next(res),
77
+ });
78
+ });
79
+ });
80
+ }
81
+ }
82
+ exports.OpenTelemetryInterceptor = OpenTelemetryInterceptor;
83
+ //# sourceMappingURL=open-telemetry.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-telemetry.interceptor.js","sourceRoot":"","sources":["../../src/tracing/open-telemetry.interceptor.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.RequestMetadataModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
- const request_metadata_storage_1 = require("./services/request-metadata.storage");
12
11
  /**
13
12
  * Модуль для хранения и получения данных из аскин локал стораджа
14
13
  */
@@ -17,9 +16,6 @@ let RequestMetadataModule = class RequestMetadataModule {
17
16
  exports.RequestMetadataModule = RequestMetadataModule;
18
17
  exports.RequestMetadataModule = RequestMetadataModule = __decorate([
19
18
  (0, common_1.Global)(),
20
- (0, common_1.Module)({
21
- providers: [request_metadata_storage_1.RequestMetadataStorage],
22
- exports: [request_metadata_storage_1.RequestMetadataStorage],
23
- })
19
+ (0, common_1.Module)({})
24
20
  ], RequestMetadataModule);
25
21
  //# sourceMappingURL=request-metadata.module.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"request-metadata.module.js","sourceRoot":"","sources":["../../src/tracing/request-metadata.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAEhD;;GAEG;AAGI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAAG,CAAA;AAAxB,sDAAqB;gCAArB,qBAAqB;IAFjC,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,qBAAqB,CAAG"}
@@ -1,4 +1,3 @@
1
1
  export declare class InstrumentationService {
2
- injectWrapRequestMetadataInjector(): void;
3
2
  injectWrapTraceInjector(): void;
4
3
  }
@@ -9,15 +9,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.InstrumentationService = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  const tracing_interceptor_1 = require("../tracing.interceptor");
12
- const request_metadata_injector_1 = require("./request-metadata.injector");
13
12
  const trace_injector_1 = require("./trace.injector");
14
13
  let InstrumentationService = class InstrumentationService {
15
- injectWrapRequestMetadataInjector() {
16
- /**
17
- * Оборачиваем интерцептор в логику которая несет с собою асинк локал сторадж с requestId
18
- */
19
- request_metadata_injector_1.RequestMetadataInjector.wrap(tracing_interceptor_1.TracingInterceptor.prototype, tracing_interceptor_1.TracingInterceptor.prototype['intercept']);
20
- }
21
14
  injectWrapTraceInjector() {
22
15
  /**
23
16
  * Оборачиваем интерцептор в логику которая несет с собою асинк локал сторадж с traceId, spanId
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"instrumentation.service.js","sourceRoot":"","sources":["../../../src/tracing/services/instrumentation.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAE5C,gEAA4D;AAE5D,qDAAiD;AAG1C,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAC1B,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;AAZY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;GACA,sBAAsB,CAYlC"}
@@ -0,0 +1,11 @@
1
+ export declare const RequestIdProvider: import("@rsdk/actx").AsyncContextProvider<string>;
2
+ export declare const OpenTelemetryProvider: import("@rsdk/actx").AsyncContextProvider<{
3
+ http?: {
4
+ httpMethod: string;
5
+ httpUrl: string;
6
+ httpRoute: string;
7
+ };
8
+ "x-b3-spanid"?: string;
9
+ "x-b3-traceid"?: string;
10
+ "x-b3-parentspanid"?: string;
11
+ }>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpenTelemetryProvider = exports.RequestIdProvider = void 0;
4
+ const actx_1 = require("@rsdk/actx");
5
+ exports.RequestIdProvider = (0, actx_1.createAsyncContextProvider)({
6
+ name: 'RequestId',
7
+ rewritable: false,
8
+ });
9
+ exports.OpenTelemetryProvider = (0, actx_1.createAsyncContextProvider)({
10
+ name: 'OpenTelemetryPropagation',
11
+ rewritable: false,
12
+ });
13
+ //# sourceMappingURL=request-id.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-id.provider.js","sourceRoot":"","sources":["../../../src/tracing/services/request-id.provider.ts"],"names":[],"mappings":";;;AAKA,qCAAwD;AAE3C,QAAA,iBAAiB,GAAG,IAAA,iCAA0B,EAAS;IAClE,IAAI,EAAE,WAAW;IACjB,UAAU,EAAE,KAAK;CAClB,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,IAAA,iCAA0B,EAK5D;IACD,IAAI,EAAE,0BAA0B;IAChC,UAAU,EAAE,KAAK;CAClB,CAAC,CAAC"}
@@ -1,12 +1,12 @@
1
- import type { AttributeValue } from '@opentelemetry/api';
1
+ import type { AttributeValue, Span } from '@opentelemetry/api';
2
2
  export declare class TraceInjector {
3
3
  static wrap(cls: any, original: Function, descriptor?: TypedPropertyDescriptor<any>, isTracingInterceptor?: boolean): void;
4
4
  static toAttribute(data: unknown): AttributeValue;
5
5
  private static createWrapper;
6
- private static createSpanName;
6
+ static createSpanName(className: string, methodName: string): string;
7
7
  private static isWrapped;
8
8
  private static nowSpan;
9
9
  private static setWrapped;
10
- private static recordAndRethrow;
11
- private static enrich;
10
+ static recordAndRethrow(error: unknown, span: Span): void;
11
+ static enrich(span: Span, data: unknown): unknown;
12
12
  }