@coast/service-common-nest 1.0.80 → 2.0.4

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 (48) hide show
  1. package/dist/lib/{logger/MetricsConfig.d.ts → observe/CollectMetricsOptions.d.ts} +1 -1
  2. package/dist/lib/observe/CollectMetricsOptions.js +3 -0
  3. package/dist/lib/observe/CollectMetricsOptions.js.map +1 -0
  4. package/dist/lib/observe/ExtraLogFields.js.map +1 -0
  5. package/dist/lib/observe/LogExecutionOptions.d.ts +5 -0
  6. package/dist/lib/{logger/LogMethodOptions.js → observe/LogExecutionOptions.js} +1 -1
  7. package/dist/lib/observe/LogExecutionOptions.js.map +1 -0
  8. package/dist/lib/{logger → observe}/MetricTags.js.map +1 -1
  9. package/dist/lib/observe/ObserveMethod.d.ts +2 -0
  10. package/dist/lib/{logger/LogMethod.js → observe/ObserveMethod.js} +53 -30
  11. package/dist/lib/observe/ObserveMethod.js.map +1 -0
  12. package/dist/lib/observe/ObserveMethodOptions.d.ts +6 -0
  13. package/dist/lib/{logger/MetricsConfig.js → observe/ObserveMethodOptions.js} +1 -1
  14. package/dist/lib/observe/ObserveMethodOptions.js.map +1 -0
  15. package/dist/lib/observe/test/FakeUser.js.map +1 -0
  16. package/dist/lib/observe/test/ObserveMethodMetricsTestModule.d.ts +2 -0
  17. package/dist/lib/{logger/test/LogMethodMetricsTestModule.js → observe/test/ObserveMethodMetricsTestModule.js} +9 -9
  18. package/dist/lib/observe/test/ObserveMethodMetricsTestModule.js.map +1 -0
  19. package/dist/lib/observe/test/ObserveMethodTestModule.d.ts +2 -0
  20. package/dist/lib/{logger/test/LogMethodTestModule.js → observe/test/ObserveMethodTestModule.js} +9 -9
  21. package/dist/lib/observe/test/ObserveMethodTestModule.js.map +1 -0
  22. package/dist/lib/{logger/test/TestMetricsLoggedMethods.d.ts → observe/test/TestObserveMetricsMethods.d.ts} +1 -1
  23. package/dist/lib/{logger/test/TestMetricsLoggedMethods.js → observe/test/TestObserveMetricsMethods.js} +28 -28
  24. package/dist/lib/observe/test/TestObserveMetricsMethods.js.map +1 -0
  25. package/dist/lib/{logger/test/TestLoggedMethods.d.ts → observe/test/TestObservedMethods.d.ts} +4 -1
  26. package/dist/lib/{logger/test/TestLoggedMethods.js → observe/test/TestObservedMethods.js} +66 -43
  27. package/dist/lib/observe/test/TestObservedMethods.js.map +1 -0
  28. package/dist/tsconfig.tsbuildinfo +1 -1
  29. package/package.json +6 -7
  30. package/dist/lib/logger/ExtraLogFields.js.map +0 -1
  31. package/dist/lib/logger/LogMethod.d.ts +0 -2
  32. package/dist/lib/logger/LogMethod.js.map +0 -1
  33. package/dist/lib/logger/LogMethodOptions.d.ts +0 -6
  34. package/dist/lib/logger/LogMethodOptions.js.map +0 -1
  35. package/dist/lib/logger/MetricsConfig.js.map +0 -1
  36. package/dist/lib/logger/test/FakeUser.js.map +0 -1
  37. package/dist/lib/logger/test/LogMethodMetricsTestModule.d.ts +0 -2
  38. package/dist/lib/logger/test/LogMethodMetricsTestModule.js.map +0 -1
  39. package/dist/lib/logger/test/LogMethodTestModule.d.ts +0 -2
  40. package/dist/lib/logger/test/LogMethodTestModule.js.map +0 -1
  41. package/dist/lib/logger/test/TestLoggedMethods.js.map +0 -1
  42. package/dist/lib/logger/test/TestMetricsLoggedMethods.js.map +0 -1
  43. /package/dist/lib/{logger → observe}/ExtraLogFields.d.ts +0 -0
  44. /package/dist/lib/{logger → observe}/ExtraLogFields.js +0 -0
  45. /package/dist/lib/{logger → observe}/MetricTags.d.ts +0 -0
  46. /package/dist/lib/{logger → observe}/MetricTags.js +0 -0
  47. /package/dist/lib/{logger → observe}/test/FakeUser.d.ts +0 -0
  48. /package/dist/lib/{logger → observe}/test/FakeUser.js +0 -0
@@ -1,4 +1,4 @@
1
1
  import { MetricTags } from './MetricTags';
2
- export interface MetricsConfig<T = unknown> {
2
+ export interface CollectMetricsOptions<T = unknown> {
3
3
  extraTags?: ((self: T) => MetricTags) | MetricTags;
4
4
  }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CollectMetricsOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollectMetricsOptions.js","sourceRoot":"","sources":["../../../lib/observe/CollectMetricsOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtraLogFields.js","sourceRoot":"","sources":["../../../lib/observe/ExtraLogFields.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ExtraLogFields } from './ExtraLogFields';
2
+ export interface LogExecutionOptions<T = unknown> {
3
+ samplePercentage?: number;
4
+ extraLogFields?: ((self: T) => ExtraLogFields) | ExtraLogFields;
5
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=LogMethodOptions.js.map
3
+ //# sourceMappingURL=LogExecutionOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogExecutionOptions.js","sourceRoot":"","sources":["../../../lib/observe/LogExecutionOptions.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"MetricTags.js","sourceRoot":"","sources":["../../../lib/logger/MetricTags.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"MetricTags.js","sourceRoot":"","sources":["../../../lib/observe/MetricTags.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { ObserveMethodOptions } from './ObserveMethodOptions';
2
+ export declare function ObserveMethod<T = unknown>(options?: ObserveMethodOptions<T>): MethodDecorator;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.LogMethod = LogMethod;
6
+ exports.ObserveMethod = ObserveMethod;
7
7
  const DeepLogObject_1 = require("@coast/service-common/logger/DeepLogObject");
8
8
  const RedactionUtils_1 = require("@coast/service-common/logger/redaction/RedactionUtils");
9
9
  const SensitiveSymbol_1 = require("@coast/service-common/logger/redaction/SensitiveSymbol");
@@ -11,53 +11,70 @@ const common_1 = require("@nestjs/common");
11
11
  const lodash_1 = __importDefault(require("lodash"));
12
12
  const Constants_1 = require("../Constants");
13
13
  const CoastMetrics_1 = require("../metrics/CoastMetrics");
14
- function LogMethod(options) {
15
- const extraLogFieldsOption = options?.extraLogFields;
16
- const metrics = options?.metrics;
17
- const extraTagsOption = metrics?.extraTags;
18
- const injectLogger = (0, common_1.Inject)(Constants_1.Constants.COAST_LOGGER);
19
- const injectMetrics = metrics !== undefined ? (0, common_1.Inject)(CoastMetrics_1.CoastMetrics) : undefined;
14
+ function ObserveMethod(options) {
15
+ const logExecutionOption = options?.logExecution ?? true;
16
+ const collectMetricsOption = options?.collectMetrics ?? false;
17
+ const logExecutionEnabled = logExecutionOption !== false;
18
+ const collectMetricsEnabled = collectMetricsOption !== false;
19
+ const logExecutionConfig = typeof logExecutionOption === 'object' ? logExecutionOption : {};
20
+ const collectMetricsConfig = typeof collectMetricsOption === 'object' ? collectMetricsOption : {};
21
+ const samplePercentage = logExecutionConfig.samplePercentage;
22
+ const extraLogFieldsOption = logExecutionConfig.extraLogFields;
23
+ const extraTagsOption = collectMetricsConfig.extraTags;
24
+ const injectLogger = logExecutionEnabled ? (0, common_1.Inject)(Constants_1.Constants.COAST_LOGGER) : undefined;
25
+ const injectMetrics = collectMetricsEnabled ? (0, common_1.Inject)(CoastMetrics_1.CoastMetrics) : undefined;
20
26
  return (target, method, descriptor) => {
21
27
  if (descriptor === undefined) {
22
28
  descriptor = Object.getOwnPropertyDescriptor(target, method);
23
29
  }
24
- injectLogger(target, 'logger');
30
+ if (injectLogger !== undefined) {
31
+ injectLogger(target, 'logger');
32
+ }
25
33
  if (injectMetrics !== undefined) {
26
34
  injectMetrics(target, 'metrics');
27
35
  }
28
36
  const originalMethod = descriptor?.value;
29
37
  if (!lodash_1.default.isNil(descriptor)) {
30
38
  descriptor.value = function () {
31
- const coastLogger = this.logger;
32
- const coastMetrics = metrics !== undefined ? this.metrics : undefined;
33
- const resolvedExtras = resolveOption(extraLogFieldsOption, this, coastLogger, 'extraLogFields');
34
- const resolvedTags = resolveOption(extraTagsOption, this, coastLogger, 'metrics.extraTags');
39
+ const coastLogger = logExecutionEnabled ? this.logger : undefined;
40
+ const coastMetrics = collectMetricsEnabled ? this.metrics : undefined;
41
+ const shouldLog = coastLogger !== undefined && isSampledIn(samplePercentage);
42
+ const resolvedExtras = shouldLog
43
+ ? resolveOption(extraLogFieldsOption, this, coastLogger, 'logExecution.extraLogFields')
44
+ : undefined;
45
+ const resolvedTags = coastMetrics !== undefined
46
+ ? resolveOption(extraTagsOption, this, coastLogger, 'collectMetrics.extraTags')
47
+ : undefined;
35
48
  const className = target.constructor?.name;
36
49
  let callSucceeded = true;
37
50
  let capturedError;
38
- const sensitiveParameters = Reflect.getOwnMetadata(SensitiveSymbol_1.SENSITIVE, target, method);
39
- const indexesToSkip = new Set([]);
40
- if (sensitiveParameters) {
41
- sensitiveParameters.keys.map((i) => i.index).forEach((idx) => indexesToSkip.add(idx));
42
- }
43
- const loggableArguments = [];
44
- for (let i = 0; i < arguments.length; i++) {
45
- if (!indexesToSkip.has(i)) {
46
- loggableArguments.push({ value: arguments[i], redaction: undefined });
51
+ if (shouldLog) {
52
+ const sensitiveParameters = Reflect.getOwnMetadata(SensitiveSymbol_1.SENSITIVE, target, method);
53
+ const indexesToSkip = new Set([]);
54
+ if (sensitiveParameters) {
55
+ sensitiveParameters.keys.map((i) => i.index).forEach((idx) => indexesToSkip.add(idx));
47
56
  }
48
- else {
49
- loggableArguments.push({
50
- value: arguments[i],
51
- redaction: sensitiveParameters.keys.find((key) => key.index === i)?.redaction,
52
- });
57
+ const loggableArguments = [];
58
+ for (let i = 0; i < arguments.length; i++) {
59
+ if (!indexesToSkip.has(i)) {
60
+ loggableArguments.push({ value: arguments[i], redaction: undefined });
61
+ }
62
+ else {
63
+ loggableArguments.push({
64
+ value: arguments[i],
65
+ redaction: sensitiveParameters.keys.find((key) => key.index === i)?.redaction,
66
+ });
67
+ }
53
68
  }
69
+ logMethodStart(className, method.toString(), coastLogger, loggableArguments, resolvedExtras);
54
70
  }
55
- logMethodStart(className, method.toString(), coastLogger, loggableArguments, resolvedExtras);
56
71
  const startTime = process.hrtime.bigint();
57
72
  const finish = () => {
58
73
  const endTime = process.hrtime.bigint();
59
74
  const latencyMs = Number(endTime - startTime) / 1_000_000;
60
- logMethodResult(className, method, callSucceeded, latencyMs, coastLogger, resolvedExtras, capturedError);
75
+ if (shouldLog) {
76
+ logMethodResult(className, method, callSucceeded, latencyMs, coastLogger, resolvedExtras, capturedError);
77
+ }
61
78
  if (coastMetrics !== undefined) {
62
79
  emitMethodMetrics(className, method, callSucceeded, latencyMs, coastMetrics, resolvedTags, capturedError);
63
80
  }
@@ -87,6 +104,12 @@ function LogMethod(options) {
87
104
  return descriptor;
88
105
  };
89
106
  }
107
+ function isSampledIn(samplePercentage) {
108
+ if (samplePercentage === undefined) {
109
+ return true;
110
+ }
111
+ return Math.random() * 100 < samplePercentage;
112
+ }
90
113
  function resolveOption(option, self, coastLogger, fieldName) {
91
114
  if (typeof option !== 'function') {
92
115
  return option;
@@ -96,7 +119,7 @@ function resolveOption(option, self, coastLogger, fieldName) {
96
119
  }
97
120
  catch (e) {
98
121
  coastLogger?.warn({
99
- msg: `LogMethod ${fieldName} resolver threw; falling back without it`,
122
+ msg: `ObserveMethod ${fieldName} resolver threw; falling back without it`,
100
123
  errorClass: e instanceof Error ? e.constructor.name : undefined,
101
124
  });
102
125
  return undefined;
@@ -146,4 +169,4 @@ function emitMethodMetrics(className, methodName, callSucceeded, latencyMs, coas
146
169
  coastMetrics.counter('method.invocations', 1, attrs);
147
170
  coastMetrics.histogram('method.latency_ms', latencyMs, attrs);
148
171
  }
149
- //# sourceMappingURL=LogMethod.js.map
172
+ //# sourceMappingURL=ObserveMethod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObserveMethod.js","sourceRoot":"","sources":["../../../lib/observe/ObserveMethod.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { CollectMetricsOptions } from './CollectMetricsOptions';
2
+ import { LogExecutionOptions } from './LogExecutionOptions';
3
+ export interface ObserveMethodOptions<T = unknown> {
4
+ logExecution?: boolean | LogExecutionOptions<T>;
5
+ collectMetrics?: boolean | CollectMetricsOptions<T>;
6
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=MetricsConfig.js.map
3
+ //# sourceMappingURL=ObserveMethodOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObserveMethodOptions.js","sourceRoot":"","sources":["../../../lib/observe/ObserveMethodOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FakeUser.js","sourceRoot":"","sources":["../../../../lib/observe/test/FakeUser.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gFAA6E;AAE7E,MAAa,QAAQ;IAArB;QACW,WAAM,GAAG,QAAQ,CAAC;QAGlB,cAAS,GAAG,mBAAmB,CAAC;IAC3C,CAAC;CAAA;AALD,4BAKC;AADU;IADN,IAAA,qBAAS,GAAE;;2CAC2B"}
@@ -0,0 +1,2 @@
1
+ export declare class ObserveMethodMetricsTestModule {
2
+ }
@@ -6,21 +6,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.LogMethodMetricsTestModule = void 0;
9
+ exports.ObserveMethodMetricsTestModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  const config_1 = require("@nestjs/config");
12
+ const LoggerModule_1 = require("../../logger/LoggerModule");
12
13
  const CoastMetrics_1 = require("../../metrics/CoastMetrics");
13
- const LoggerModule_1 = require("../LoggerModule");
14
- const TestMetricsLoggedMethods_1 = require("./TestMetricsLoggedMethods");
14
+ const TestObserveMetricsMethods_1 = require("./TestObserveMetricsMethods");
15
15
  const stubMetricService = {
16
16
  getGauge: () => ({ record: () => { } }),
17
17
  getHistogram: () => ({ record: () => { } }),
18
18
  getCounter: () => ({ add: () => { } }),
19
19
  };
20
- let LogMethodMetricsTestModule = class LogMethodMetricsTestModule {
20
+ let ObserveMethodMetricsTestModule = class ObserveMethodMetricsTestModule {
21
21
  };
22
- exports.LogMethodMetricsTestModule = LogMethodMetricsTestModule;
23
- exports.LogMethodMetricsTestModule = LogMethodMetricsTestModule = __decorate([
22
+ exports.ObserveMethodMetricsTestModule = ObserveMethodMetricsTestModule;
23
+ exports.ObserveMethodMetricsTestModule = ObserveMethodMetricsTestModule = __decorate([
24
24
  (0, common_1.Module)({
25
25
  imports: [
26
26
  config_1.ConfigModule.forRoot({
@@ -35,7 +35,7 @@ exports.LogMethodMetricsTestModule = LogMethodMetricsTestModule = __decorate([
35
35
  }),
36
36
  }),
37
37
  ],
38
- providers: [{ provide: CoastMetrics_1.CoastMetrics, useValue: new CoastMetrics_1.CoastMetrics(stubMetricService) }, TestMetricsLoggedMethods_1.TestMetricsLoggedMethods],
38
+ providers: [{ provide: CoastMetrics_1.CoastMetrics, useValue: new CoastMetrics_1.CoastMetrics(stubMetricService) }, TestObserveMetricsMethods_1.TestObserveMetricsMethods],
39
39
  })
40
- ], LogMethodMetricsTestModule);
41
- //# sourceMappingURL=LogMethodMetricsTestModule.js.map
40
+ ], ObserveMethodMetricsTestModule);
41
+ //# sourceMappingURL=ObserveMethodMetricsTestModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObserveMethodMetricsTestModule.js","sourceRoot":"","sources":["../../../../lib/observe/test/ObserveMethodMetricsTestModule.ts"],"names":[],"mappings":";;;;;;;;;AACA,2CAAwC;AACxC,2CAA6D;AAG7D,4DAAyD;AACzD,6DAA0D;AAC1D,2EAAwE;AAExE,MAAM,iBAAiB,GAAG;IACtB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAS,EAAE,GAAE,CAAC,EAAE,CAAC;IAC5C,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAS,EAAE,GAAE,CAAC,EAAE,CAAC;IAChD,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAS,EAAE,GAAE,CAAC,EAAE,CAAC;CAClB,CAAC;AAkBvB,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;CAAG,CAAA;AAAjC,wEAA8B;yCAA9B,8BAA8B;IAhB1C,IAAA,eAAM,EAAC;QACJ,OAAO,EAAE;YACL,qBAAY,CAAC,OAAO,CAAC;gBACjB,QAAQ,EAAE,IAAI;aACjB,CAAC;YACF,2BAAY,CAAC,YAAY,CAAC;gBACtB,OAAO,EAAE,CAAC,qBAAY,CAAC;gBACvB,MAAM,EAAE,CAAC,sBAAa,CAAC;gBACvB,UAAU,EAAE,KAAK,EAAE,aAA4B,EAAE,EAAE,CAAC,CAAC;oBACjD,KAAK,EAAE,aAAa,CAAC,GAAG,CAAW,WAAW,CAAC;oBAC/C,MAAM,EAAE,aAAa,CAAC,GAAG,CAAU,YAAY,CAAC;iBACnD,CAAC;aACL,CAAC;SACL;QACD,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,2BAAY,EAAE,QAAQ,EAAE,IAAI,2BAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE,qDAAyB,CAAC;KACnH,CAAC;GACW,8BAA8B,CAAG"}
@@ -0,0 +1,2 @@
1
+ export declare class ObserveMethodTestModule {
2
+ }
@@ -6,15 +6,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.LogMethodTestModule = void 0;
9
+ exports.ObserveMethodTestModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  const config_1 = require("@nestjs/config");
12
- const LoggerModule_1 = require("../LoggerModule");
13
- const TestLoggedMethods_1 = require("./TestLoggedMethods");
14
- let LogMethodTestModule = class LogMethodTestModule {
12
+ const LoggerModule_1 = require("../../logger/LoggerModule");
13
+ const TestObservedMethods_1 = require("./TestObservedMethods");
14
+ let ObserveMethodTestModule = class ObserveMethodTestModule {
15
15
  };
16
- exports.LogMethodTestModule = LogMethodTestModule;
17
- exports.LogMethodTestModule = LogMethodTestModule = __decorate([
16
+ exports.ObserveMethodTestModule = ObserveMethodTestModule;
17
+ exports.ObserveMethodTestModule = ObserveMethodTestModule = __decorate([
18
18
  (0, common_1.Module)({
19
19
  imports: [
20
20
  config_1.ConfigModule.forRoot({
@@ -29,7 +29,7 @@ exports.LogMethodTestModule = LogMethodTestModule = __decorate([
29
29
  }),
30
30
  }),
31
31
  ],
32
- providers: [TestLoggedMethods_1.TestLoggedMethods],
32
+ providers: [TestObservedMethods_1.TestObservedMethods],
33
33
  })
34
- ], LogMethodTestModule);
35
- //# sourceMappingURL=LogMethodTestModule.js.map
34
+ ], ObserveMethodTestModule);
35
+ //# sourceMappingURL=ObserveMethodTestModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObserveMethodTestModule.js","sourceRoot":"","sources":["../../../../lib/observe/test/ObserveMethodTestModule.ts"],"names":[],"mappings":";;;;;;;;;AACA,2CAAwC;AACxC,2CAA6D;AAE7D,4DAAyD;AACzD,+DAA4D;AAkBrD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAAG,CAAA;AAA1B,0DAAuB;kCAAvB,uBAAuB;IAhBnC,IAAA,eAAM,EAAC;QACJ,OAAO,EAAE;YACL,qBAAY,CAAC,OAAO,CAAC;gBACjB,QAAQ,EAAE,IAAI;aACjB,CAAC;YACF,2BAAY,CAAC,YAAY,CAAC;gBACtB,OAAO,EAAE,CAAC,qBAAY,CAAC;gBACvB,MAAM,EAAE,CAAC,sBAAa,CAAC;gBACvB,UAAU,EAAE,KAAK,EAAE,aAA4B,EAAE,EAAE,CAAC,CAAC;oBACjD,KAAK,EAAE,aAAa,CAAC,GAAG,CAAW,WAAW,CAAC;oBAC/C,MAAM,EAAE,aAAa,CAAC,GAAG,CAAU,YAAY,CAAC;iBACnD,CAAC;aACL,CAAC;SACL;QACD,SAAS,EAAE,CAAC,yCAAmB,CAAC;KACnC,CAAC;GACW,uBAAuB,CAAG"}
@@ -1,7 +1,7 @@
1
1
  interface Named {
2
2
  name: string;
3
3
  }
4
- export declare class TestMetricsLoggedMethods implements Named {
4
+ export declare class TestObserveMetricsMethods implements Named {
5
5
  readonly name = "metrics_test_class";
6
6
  metricsNoTags(): void;
7
7
  metricsWithTagsAndLogFields(): void;
@@ -9,16 +9,16 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.TestMetricsLoggedMethods = void 0;
12
+ exports.TestObserveMetricsMethods = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
- const LogMethod_1 = require("../LogMethod");
14
+ const ObserveMethod_1 = require("../ObserveMethod");
15
15
  class FakeError extends Error {
16
16
  constructor() {
17
17
  super('metrics test boom');
18
18
  this.name = 'FakeError';
19
19
  }
20
20
  }
21
- let TestMetricsLoggedMethods = class TestMetricsLoggedMethods {
21
+ let TestObserveMetricsMethods = class TestObserveMetricsMethods {
22
22
  constructor() {
23
23
  this.name = 'metrics_test_class';
24
24
  }
@@ -39,61 +39,61 @@ let TestMetricsLoggedMethods = class TestMetricsLoggedMethods {
39
39
  metricsWithFunctionTags() { }
40
40
  metricsWithThrowingTagsResolver() { }
41
41
  };
42
- exports.TestMetricsLoggedMethods = TestMetricsLoggedMethods;
42
+ exports.TestObserveMetricsMethods = TestObserveMetricsMethods;
43
43
  __decorate([
44
- (0, LogMethod_1.LogMethod)({ metrics: {} }),
44
+ (0, ObserveMethod_1.ObserveMethod)({ logExecution: false, collectMetrics: true }),
45
45
  __metadata("design:type", Function),
46
46
  __metadata("design:paramtypes", []),
47
47
  __metadata("design:returntype", void 0)
48
- ], TestMetricsLoggedMethods.prototype, "metricsNoTags", null);
48
+ ], TestObserveMetricsMethods.prototype, "metricsNoTags", null);
49
49
  __decorate([
50
- (0, LogMethod_1.LogMethod)({
51
- extraLogFields: { requestId: 'high-cardinality-ok' },
52
- metrics: { extraTags: { toolName: 'create_automation' } },
50
+ (0, ObserveMethod_1.ObserveMethod)({
51
+ logExecution: { extraLogFields: { requestId: 'high-cardinality-ok' } },
52
+ collectMetrics: { extraTags: { toolName: 'create_automation' } },
53
53
  }),
54
54
  __metadata("design:type", Function),
55
55
  __metadata("design:paramtypes", []),
56
56
  __metadata("design:returntype", void 0)
57
- ], TestMetricsLoggedMethods.prototype, "metricsWithTagsAndLogFields", null);
57
+ ], TestObserveMetricsMethods.prototype, "metricsWithTagsAndLogFields", null);
58
58
  __decorate([
59
- (0, LogMethod_1.LogMethod)({ metrics: { extraTags: { toolName: 'async_resolve' } } }),
59
+ (0, ObserveMethod_1.ObserveMethod)({ logExecution: false, collectMetrics: { extraTags: { toolName: 'async_resolve' } } }),
60
60
  __metadata("design:type", Function),
61
61
  __metadata("design:paramtypes", []),
62
62
  __metadata("design:returntype", Promise)
63
- ], TestMetricsLoggedMethods.prototype, "metricsAsyncResolve", null);
63
+ ], TestObserveMetricsMethods.prototype, "metricsAsyncResolve", null);
64
64
  __decorate([
65
- (0, LogMethod_1.LogMethod)({ metrics: { extraTags: { toolName: 'async_reject' } } }),
65
+ (0, ObserveMethod_1.ObserveMethod)({ logExecution: false, collectMetrics: { extraTags: { toolName: 'async_reject' } } }),
66
66
  __metadata("design:type", Function),
67
67
  __metadata("design:paramtypes", []),
68
68
  __metadata("design:returntype", Promise)
69
- ], TestMetricsLoggedMethods.prototype, "metricsAsyncReject", null);
69
+ ], TestObserveMetricsMethods.prototype, "metricsAsyncReject", null);
70
70
  __decorate([
71
- (0, LogMethod_1.LogMethod)({ metrics: { extraTags: { toolName: 'sync_throw' } } }),
71
+ (0, ObserveMethod_1.ObserveMethod)({ logExecution: false, collectMetrics: { extraTags: { toolName: 'sync_throw' } } }),
72
72
  __metadata("design:type", Function),
73
73
  __metadata("design:paramtypes", []),
74
74
  __metadata("design:returntype", void 0)
75
- ], TestMetricsLoggedMethods.prototype, "metricsSyncThrow", null);
75
+ ], TestObserveMetricsMethods.prototype, "metricsSyncThrow", null);
76
76
  __decorate([
77
- (0, LogMethod_1.LogMethod)({ metrics: { extraTags: { method: 'overridden', toolName: 'collision' } } }),
77
+ (0, ObserveMethod_1.ObserveMethod)({ logExecution: false, collectMetrics: { extraTags: { method: 'overridden', toolName: 'collision' } } }),
78
78
  __metadata("design:type", Function),
79
79
  __metadata("design:paramtypes", []),
80
80
  __metadata("design:returntype", void 0)
81
- ], TestMetricsLoggedMethods.prototype, "metricsTagsCollision", null);
81
+ ], TestObserveMetricsMethods.prototype, "metricsTagsCollision", null);
82
82
  __decorate([
83
- (0, LogMethod_1.LogMethod)(),
83
+ (0, ObserveMethod_1.ObserveMethod)(),
84
84
  __metadata("design:type", Function),
85
85
  __metadata("design:paramtypes", []),
86
86
  __metadata("design:returntype", void 0)
87
- ], TestMetricsLoggedMethods.prototype, "noMetricsConfig", null);
87
+ ], TestObserveMetricsMethods.prototype, "noMetricsConfig", null);
88
88
  __decorate([
89
- (0, LogMethod_1.LogMethod)({ metrics: { extraTags: (self) => ({ toolName: self.name }) } }),
89
+ (0, ObserveMethod_1.ObserveMethod)({ logExecution: false, collectMetrics: { extraTags: (self) => ({ toolName: self.name }) } }),
90
90
  __metadata("design:type", Function),
91
91
  __metadata("design:paramtypes", []),
92
92
  __metadata("design:returntype", void 0)
93
- ], TestMetricsLoggedMethods.prototype, "metricsWithFunctionTags", null);
93
+ ], TestObserveMetricsMethods.prototype, "metricsWithFunctionTags", null);
94
94
  __decorate([
95
- (0, LogMethod_1.LogMethod)({
96
- metrics: {
95
+ (0, ObserveMethod_1.ObserveMethod)({
96
+ collectMetrics: {
97
97
  extraTags: () => {
98
98
  throw new Error('tags resolver boom');
99
99
  },
@@ -102,8 +102,8 @@ __decorate([
102
102
  __metadata("design:type", Function),
103
103
  __metadata("design:paramtypes", []),
104
104
  __metadata("design:returntype", void 0)
105
- ], TestMetricsLoggedMethods.prototype, "metricsWithThrowingTagsResolver", null);
106
- exports.TestMetricsLoggedMethods = TestMetricsLoggedMethods = __decorate([
105
+ ], TestObserveMetricsMethods.prototype, "metricsWithThrowingTagsResolver", null);
106
+ exports.TestObserveMetricsMethods = TestObserveMetricsMethods = __decorate([
107
107
  (0, common_1.Injectable)()
108
- ], TestMetricsLoggedMethods);
109
- //# sourceMappingURL=TestMetricsLoggedMethods.js.map
108
+ ], TestObserveMetricsMethods);
109
+ //# sourceMappingURL=TestObserveMetricsMethods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestObserveMetricsMethods.js","sourceRoot":"","sources":["../../../../lib/observe/test/TestObserveMetricsMethods.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,oDAAiD;AAEjD,MAAM,SAAU,SAAQ,KAAK;IACzB;QACI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC5B,CAAC;CACJ;AAOM,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAA/B;QACa,SAAI,GAAG,oBAAoB,CAAC;IA4ChD,CAAC;IAzCG,aAAa,KAAU,CAAC;IAMxB,2BAA2B,KAAU,CAAC;IAGhC,AAAN,KAAK,CAAC,mBAAmB;QACrB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB;QACpB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,SAAS,EAAE,CAAC;IAC1B,CAAC;IAGD,gBAAgB;QACZ,MAAM,IAAI,SAAS,EAAE,CAAC;IAC1B,CAAC;IAGD,oBAAoB,KAAU,CAAC;IAG/B,eAAe,KAAU,CAAC;IAG1B,uBAAuB,KAAU,CAAC;IASlC,+BAA+B,KAAU,CAAC;CAC7C,CAAA;AA7CY,8DAAyB;AAIlC;IADC,IAAA,6BAAa,EAAC,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;;;;8DACrC;AAMxB;IAJC,IAAA,6BAAa,EAAC;QACX,YAAY,EAAE,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,EAAE;QACtE,cAAc,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE;KACnE,CAAC;;;;4EACoC;AAGhC;IADL,IAAA,6BAAa,EAAC,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;;;;oEAGpG;AAGK;IADL,IAAA,6BAAa,EAAC,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;;;;mEAInG;AAGD;IADC,IAAA,6BAAa,EAAC,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;;;;iEAGjG;AAGD;IADC,IAAA,6BAAa,EAAC,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;;;;qEACxF;AAG/B;IADC,IAAA,6BAAa,GAAE;;;;gEACU;AAG1B;IADC,IAAA,6BAAa,EAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;;;;wEAChF;AASlC;IAPC,IAAA,6BAAa,EAAC;QACX,cAAc,EAAE;YACZ,SAAS,EAAE,GAAG,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC1C,CAAC;SACJ;KACJ,CAAC;;;;gFACwC;oCA5CjC,yBAAyB;IADrC,IAAA,mBAAU,GAAE;GACA,yBAAyB,CA6CrC"}
@@ -2,7 +2,7 @@ import { FakeUser } from './FakeUser';
2
2
  interface Named {
3
3
  name: string;
4
4
  }
5
- export declare class TestLoggedMethods implements Named {
5
+ export declare class TestObservedMethods implements Named {
6
6
  readonly name = "test_class";
7
7
  counter: number;
8
8
  logStartAndEnd(): void;
@@ -32,5 +32,8 @@ export declare class TestLoggedMethods implements Named {
32
32
  logAsyncWithFunctionExtras(): Promise<void>;
33
33
  logMutatesCounter(): void;
34
34
  logWithThrowingResolver(): void;
35
+ logExecutionDisabled(): void;
36
+ logSampledOut(): void;
37
+ logSampledIn(): void;
35
38
  }
36
39
  export {};