@interopio/otel 0.0.13 → 0.0.16

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 (61) hide show
  1. package/dist/builder.d.ts +1 -2
  2. package/dist/builder.js +17 -15
  3. package/dist/builder.js.map +1 -1
  4. package/dist/container.d.ts +2 -1
  5. package/dist/container.js +3 -6
  6. package/dist/container.js.map +1 -1
  7. package/dist/index.d.ts +4 -1
  8. package/dist/index.js +17 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/logger/log4jsWrapper.d.ts +7 -1
  11. package/dist/logger/log4jsWrapper.js +7 -1
  12. package/dist/logger/log4jsWrapper.js.map +1 -1
  13. package/dist/metrics/builder.js +6 -2
  14. package/dist/metrics/builder.js.map +1 -1
  15. package/dist/metrics/factory/builder.d.ts +1 -0
  16. package/dist/metrics/factory/builder.js +10 -0
  17. package/dist/metrics/factory/builder.js.map +1 -1
  18. package/dist/metrics/metrics/application/duration.d.ts +23 -3
  19. package/dist/metrics/metrics/application/duration.js +83 -2
  20. package/dist/metrics/metrics/application/duration.js.map +1 -1
  21. package/dist/metrics/metrics/application/durationSoft.d.ts +4 -0
  22. package/dist/metrics/metrics/application/durationSoft.js +34 -0
  23. package/dist/metrics/metrics/application/durationSoft.js.map +1 -0
  24. package/dist/metrics/metrics/base/types.d.ts +1 -1
  25. package/dist/traces/builder.d.ts +11 -1
  26. package/dist/traces/builder.js +27 -6
  27. package/dist/traces/builder.js.map +1 -1
  28. package/dist/traces/ioInsightsSampler.d.ts +3 -2
  29. package/dist/traces/ioInsightsSampler.js +14 -8
  30. package/dist/traces/ioInsightsSampler.js.map +1 -1
  31. package/dist/traces/manager.d.ts +9 -7
  32. package/dist/traces/manager.js +113 -63
  33. package/dist/traces/manager.js.map +1 -1
  34. package/dist/traces/nullTracesManager.d.ts +8 -3
  35. package/dist/traces/nullTracesManager.js +47 -12
  36. package/dist/traces/nullTracesManager.js.map +1 -1
  37. package/dist/traces/nullTracingState.d.ts +21 -0
  38. package/dist/traces/nullTracingState.js +57 -0
  39. package/dist/traces/nullTracingState.js.map +1 -0
  40. package/dist/traces/traces.d.ts +21 -0
  41. package/dist/traces/traces.js +65 -0
  42. package/dist/traces/traces.js.map +1 -0
  43. package/dist/traces/tracingState.d.ts +8 -8
  44. package/dist/traces/tracingState.js +18 -31
  45. package/dist/traces/tracingState.js.map +1 -1
  46. package/dist/traces/types.d.ts +238 -26
  47. package/dist/traces/types.js.map +1 -1
  48. package/dist/traces/utils/index.d.ts +16 -8
  49. package/dist/traces/utils/index.js +123 -35
  50. package/dist/traces/utils/index.js.map +1 -1
  51. package/dist/types.d.ts +41 -3
  52. package/dist/validation/metrics/application/duration.d.ts +2 -2
  53. package/dist/validation/metrics/application/duration.js.map +1 -1
  54. package/dist/validation/traces/filter.js +5 -3
  55. package/dist/validation/traces/filter.js.map +1 -1
  56. package/dist/validation/traces/withSpan.d.ts +1 -1
  57. package/dist/validation/traces/withSpan.js.map +1 -1
  58. package/package.json +5 -4
  59. package/dist/metrics/metrics/application/durationBase.d.ts +0 -22
  60. package/dist/metrics/metrics/application/durationBase.js +0 -97
  61. package/dist/metrics/metrics/application/durationBase.js.map +0 -1
package/dist/builder.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { MetricsManagerBuilder } from "./metrics/builder";
2
2
  import { TracesManagerBuilder } from "./traces/builder";
3
- import { TracesManagerBuilder as ITracesBuilder } from "./traces/types";
4
3
  import { MetricsManagerBuilder as IMetricsBuilder } from "./metrics/types";
5
4
  import { Container as IContainer, Settings } from "./types";
6
5
  import { Logger } from "./logger/types";
@@ -13,7 +12,7 @@ export declare class Builder {
13
12
  withLogger(logger: Logger): this;
14
13
  withSettings(settings: Partial<Settings>): this;
15
14
  withMetrics(): IMetricsBuilder;
16
- withTraces(): ITracesBuilder;
15
+ withTraces(): TracesManagerBuilder;
17
16
  build(): IContainer;
18
17
  private buildCore;
19
18
  }
package/dist/builder.js CHANGED
@@ -22,19 +22,16 @@ class Builder {
22
22
  constructor() {
23
23
  this.logger = new null_1.NullLogger();
24
24
  }
25
- // these methods must be invoked
25
+ // these methods must be invoked...
26
26
  withLogger(logger) {
27
27
  var _a;
28
28
  this.logger = logger !== null && logger !== void 0 ? logger : this.logger;
29
- const augmentedLogger = this.logger;
30
- augmentedLogger.verbose = () => ({});
31
29
  if (this.logger.level) {
32
30
  const level = (_a = this.logger.level) === null || _a === void 0 ? void 0 : _a.valueOf();
33
- api_1.diag.setLogger(augmentedLogger, level);
31
+ api_1.diag.setLogger(this.logger, level);
34
32
  }
35
33
  else {
36
- api_1.diag.setLogger(augmentedLogger, 70 /* LoggerLogLevel.DEBUG */);
37
- // todo vnikolov: for glue/iodesktop logger use logger.publishLevel() and convert it to LoggerLogLevel
34
+ api_1.diag.setLogger(this.logger, 70 /* LoggerLogLevel.DEBUG */);
38
35
  }
39
36
  return this;
40
37
  }
@@ -42,7 +39,7 @@ class Builder {
42
39
  this.settings = settings;
43
40
  return this;
44
41
  }
45
- // before these methods
42
+ // ...before these methods
46
43
  withMetrics() {
47
44
  var _a;
48
45
  this.metricsBuilder = new builder_1.MetricsManagerBuilder();
@@ -51,10 +48,10 @@ class Builder {
51
48
  return this.metricsBuilder;
52
49
  }
53
50
  withTraces() {
54
- var _a;
51
+ var _a, _b, _c, _d, _e, _f;
55
52
  this.tracesBuilder = new builder_2.TracesManagerBuilder();
56
53
  this.tracesBuilder.withLogger(this.logger);
57
- this.tracesBuilder.withSettings((_a = this.settings) === null || _a === void 0 ? void 0 : _a.traces);
54
+ this.tracesBuilder.withSettings(Object.assign({ serviceId: (_a = this.settings) === null || _a === void 0 ? void 0 : _a.serviceId, serviceName: (_b = this.settings) === null || _b === void 0 ? void 0 : _b.serviceName, serviceVersion: (_c = this.settings) === null || _c === void 0 ? void 0 : _c.serviceVersion, platformVersion: (_d = this.settings) === null || _d === void 0 ? void 0 : _d.platformVersion, userId: (_e = this.settings) === null || _e === void 0 ? void 0 : _e.userId, enabled: false }, (_f = this.settings) === null || _f === void 0 ? void 0 : _f.traces));
58
55
  return this.tracesBuilder;
59
56
  }
60
57
  build() {
@@ -63,12 +60,17 @@ class Builder {
63
60
  return this.buildCore();
64
61
  }
65
62
  buildCore() {
66
- const metrics = this.metricsBuilder ? this.metricsBuilder.build() : new nullMetricsManager_1.NullMetricsManager();
67
- const traces = this.tracesBuilder ? this.tracesBuilder.build() : new nullTracesManager_1.NullTracesManager();
68
- // not implemented yet
69
- const logs = new nullManager_1.NullManager();
70
- const container = new container_1.Container(traces, metrics, logs);
71
- return container;
63
+ var _a;
64
+ if (((_a = this.settings) === null || _a === void 0 ? void 0 : _a.enabled) === true) {
65
+ const metrics = (this.metricsBuilder || this.withMetrics()).build();
66
+ const traces = (this.tracesBuilder || this.withTraces()).build();
67
+ // not implemented yet
68
+ const logs = new nullManager_1.NullManager();
69
+ return new container_1.Container(Object.assign({ enabled: true }, this.settings), traces, metrics, logs);
70
+ }
71
+ else {
72
+ return new container_1.Container(Object.assign({ enabled: false }, this.settings), new nullTracesManager_1.NullTracesManager(), new nullMetricsManager_1.NullMetricsManager(), new nullManager_1.NullManager());
73
+ }
72
74
  }
73
75
  }
74
76
  exports.Builder = Builder;
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,+CAA0D;AAC1D,8CAAwD;AAIxD,wCAA2C;AAC3C,kDAAwD;AAExD,2CAAwC;AACxC,2EAAwE;AACxE,qDAAkD;AAElD,kEAA+D;AAE/D,MAAa,OAAO;IAMlB;;;;;;;QAOI;IACJ;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,iBAAU,EAAE,CAAC;IACjC,CAAC;IAED,gCAAgC;IAEzB,UAAU,CAAC,MAAc;;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,CAAC;QAEpC,MAAM,eAAe,GAA8B,IAAI,CAAC,MAAa,CAAC;QACtE,eAAe,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACrB,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,OAAO,EAAE,CAAC;YAC3C,UAAI,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;SACxC;aAAM;YACL,UAAI,CAAC,SAAS,CAAC,eAAe,EAAE,6BAA2B,CAAC,CAAC;YAC7D,sGAAsG;SACvG;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,YAAY,CAAC,QAA2B;QAC7C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IAEhB,WAAW;;QAChB,IAAI,CAAC,cAAc,GAAG,IAAI,+BAAqB,EAAE,CAAC;QAClD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEM,UAAU;;QACf,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAoB,EAAE,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,CAAC,CAAC;QAEvD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEM,KAAK;QACV,MAAM,SAAS,GAAG,IAAI,0BAAgB,EAAE,CAAC;QACzC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAEO,SAAS;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,uCAAkB,EAAE,CAAC;QAE7F,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,qCAAiB,EAAE,CAAC;QAEzF,sBAAsB;QACtB,MAAM,IAAI,GAAG,IAAI,yBAAW,EAAgB,CAAC;QAE7C,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACvD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA7ED,0BA6EC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,12 @@ import { MetricsManager } from "./metrics/types";
3
3
  import { TracesManager } from "./traces/types";
4
4
  import { Container as IContainer, Settings } from "./types";
5
5
  export declare class Container implements IContainer {
6
+ private _settings;
6
7
  traces: TracesManager;
7
8
  metrics: MetricsManager;
8
9
  logs: LogsManager;
9
10
  started: boolean;
10
- constructor(traces: TracesManager, metrics: MetricsManager, logs: LogsManager);
11
+ constructor(_settings: Settings, traces: TracesManager, metrics: MetricsManager, logs: LogsManager);
11
12
  get settings(): Settings;
12
13
  start(): Promise<void>;
13
14
  stop(): Promise<void>;
package/dist/container.js CHANGED
@@ -12,7 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Container = void 0;
13
13
  const container_1 = require("./validation/container");
14
14
  class Container {
15
- constructor(traces, metrics, logs) {
15
+ constructor(_settings, traces, metrics, logs) {
16
+ this._settings = _settings;
16
17
  this.traces = traces;
17
18
  this.metrics = metrics;
18
19
  this.logs = logs;
@@ -21,11 +22,7 @@ class Container {
21
22
  validator.validate(this);
22
23
  }
23
24
  get settings() {
24
- return {
25
- metrics: this.metrics.settings,
26
- traces: this.traces.settings,
27
- logs: this.logs.settings
28
- };
25
+ return this._settings;
29
26
  }
30
27
  start() {
31
28
  return __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,sDAA4D;AAE5D,MAAa,SAAS;IAGlB,YACW,MAAqB,EACrB,OAAuB,EACvB,IAAiB;QAFjB,WAAM,GAAN,MAAM,CAAe;QACrB,YAAO,GAAP,OAAO,CAAgB;QACvB,SAAI,GAAJ,IAAI,CAAa;QALrB,YAAO,GAAY,KAAK,CAAC;QAO5B,MAAM,SAAS,GAAG,IAAI,8BAAkB,EAAE,CAAC;QAC3C,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;SAC3B,CAAC;IACN,CAAC;IAEY,KAAK;;YACd,gEAAgE;YAChE,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAChG,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7F,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAEvF,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;YAEhE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;KAAA;IAEY,IAAI;;YACb,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACtF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACnF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAE7E,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;YAEhE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC;KAAA;CACJ;AAxCD,8BAwCC"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,sDAA4D;AAE5D,MAAa,SAAS;IAGlB,YACY,SAAmB,EACpB,MAAqB,EACrB,OAAuB,EACvB,IAAiB;QAHhB,cAAS,GAAT,SAAS,CAAU;QACpB,WAAM,GAAN,MAAM,CAAe;QACrB,YAAO,GAAP,OAAO,CAAgB;QACvB,SAAI,GAAJ,IAAI,CAAa;QANrB,YAAO,GAAY,KAAK,CAAC;QAQ5B,MAAM,SAAS,GAAG,IAAI,8BAAkB,EAAE,CAAC;QAC3C,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEY,KAAK;;YACd,gEAAgE;YAChE,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAChG,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7F,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAEvF,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;YAEhE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;KAAA;IAEY,IAAI;;YACb,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACtF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACnF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAE7E,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;YAEhE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC;KAAA;CACJ;AArCD,8BAqCC"}
package/dist/index.d.ts CHANGED
@@ -9,5 +9,8 @@ export { MetricsMeterProvider, MetricsMeterSettings } from "./metrics/meter/type
9
9
  export { MetricSettings, MetricType, Metric } from "./metrics/metrics/base/types";
10
10
  export { MetricsDependencyBuilder } from "./metrics/dependencies/builder";
11
11
  export * from "./metrics/dependencies/types";
12
- export { TracesManager, TracesSettings, SamplingSettings, TracesDefaultsSettings } from "./traces/types";
12
+ export { PropagationInfo, PropagationInfoCarrier, TracesManager, TracesSettings, SamplingSettings, TracesDefaultsSettings, TracingState, WithSpanCallback, } from "./traces/types";
13
+ import Traces, { withSpan } from "./traces/traces";
14
+ export { Traces, withSpan };
13
15
  export { LogsManager, LogsSettings } from "./logs/types";
16
+ export declare const OTEL_PI_KEY = "__interopIOTracePropagationInfo";
package/dist/index.js CHANGED
@@ -10,11 +10,23 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
10
10
  if (k2 === undefined) k2 = k;
11
11
  o[k2] = m[k];
12
12
  }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
13
18
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
19
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
20
  };
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
16
28
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.MetricsDependencyBuilder = exports.Log4jsWrapper = exports.ioInsightsSampler = exports.Builder = void 0;
29
+ exports.OTEL_PI_KEY = exports.withSpan = exports.Traces = exports.MetricsDependencyBuilder = exports.Log4jsWrapper = exports.ioInsightsSampler = exports.Builder = void 0;
18
30
  var builder_1 = require("./builder");
19
31
  Object.defineProperty(exports, "Builder", { enumerable: true, get: function () { return builder_1.Builder; } });
20
32
  var ioInsightsSampler_1 = require("./traces/ioInsightsSampler");
@@ -24,4 +36,8 @@ Object.defineProperty(exports, "Log4jsWrapper", { enumerable: true, get: functio
24
36
  var builder_2 = require("./metrics/dependencies/builder");
25
37
  Object.defineProperty(exports, "MetricsDependencyBuilder", { enumerable: true, get: function () { return builder_2.MetricsDependencyBuilder; } });
26
38
  __exportStar(require("./metrics/dependencies/types"), exports);
39
+ const traces_1 = __importStar(require("./traces/traces"));
40
+ exports.Traces = traces_1.default;
41
+ Object.defineProperty(exports, "withSpan", { enumerable: true, get: function () { return traces_1.withSpan; } });
42
+ exports.OTEL_PI_KEY = "__interopIOTracePropagationInfo";
27
43
  //# 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,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,gEAA+D;AAAtD,sHAAA,iBAAiB,OAAA;AAC1B,wDAAuD;AAA9C,8GAAA,aAAa,OAAA;AAUtB,0DAA0E;AAAjE,mHAAA,wBAAwB,OAAA;AACjC,+DAA6C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,gEAA+D;AAAtD,sHAAA,iBAAiB,OAAA;AAC1B,wDAAuD;AAA9C,8GAAA,aAAa,OAAA;AAUtB,0DAA0E;AAAjE,mHAAA,wBAAwB,OAAA;AACjC,+DAA6C;AAa7C,0DAAmD;AAC1C,iBADF,gBAAM,CACE;AAAE,yFADA,iBAAQ,OACA;AAIZ,QAAA,WAAW,GAAG,iCAAiC,CAAC"}
@@ -1,8 +1,13 @@
1
1
  import * as log4js from "log4js";
2
2
  import { Logger, LoggerLogLevel } from "./types";
3
+ type logLevel = "error" | "warn" | "info" | "debug" | "trace";
4
+ type moreLogLevels = "off" | "trace" | "debug" | "info" | "warn" | "error";
5
+ type log4jsSubset = Pick<log4js.Logger, logLevel> & (Pick<log4js.Logger, "level"> | {
6
+ publishLevel: () => moreLogLevels | undefined;
7
+ });
3
8
  export declare class Log4jsWrapper implements Logger {
4
9
  private logger;
5
- constructor(logger: log4js.Logger);
10
+ constructor(logger: log4jsSubset);
6
11
  get level(): LoggerLogLevel;
7
12
  error(message: string, ...args: unknown[]): void;
8
13
  warn(message: string, ...args: unknown[]): void;
@@ -11,3 +16,4 @@ export declare class Log4jsWrapper implements Logger {
11
16
  verbose(message: string, ...args: unknown[]): void;
12
17
  private convert;
13
18
  }
19
+ export {};
@@ -7,7 +7,7 @@ class Log4jsWrapper {
7
7
  this.logger = logger;
8
8
  }
9
9
  get level() {
10
- return this.convert(this.logger.level);
10
+ return this.convert("level" in this.logger ? this.logger.level : this.logger.publishLevel());
11
11
  }
12
12
  error(message, ...args) {
13
13
  // we log errors as warn because some of our clients stopped the platform if an log error is observed (they consider it as broken state)
@@ -27,8 +27,14 @@ class Log4jsWrapper {
27
27
  this.logger.trace(message, ...args);
28
28
  }
29
29
  convert(level) {
30
+ if (level === undefined) {
31
+ return 60 /* LoggerLogLevel.INFO */;
32
+ }
30
33
  const currentLevel = typeof level !== "string" ? level.levelStr.toLowerCase() : level.toLowerCase();
31
34
  switch (currentLevel) {
35
+ case "off": {
36
+ return 0 /* LoggerLogLevel.NONE */;
37
+ }
32
38
  case "error": {
33
39
  return 30 /* LoggerLogLevel.ERROR */;
34
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"log4jsWrapper.js","sourceRoot":"","sources":["../../src/logger/log4jsWrapper.ts"],"names":[],"mappings":";;;AAGA,qDAAqD;AACrD,MAAa,aAAa;IAGtB,YAAY,MAAqB;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QAC5C,wIAAwI;QACxI,4DAA4D;QAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;IAEM,OAAO,CAAC,OAAe,EAAE,GAAG,IAAe;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;IAEO,OAAO,CAAC,KAA4B;QACxC,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAEpG,QAAQ,YAAY,EAAE;YAClB,KAAK,OAAO,CAAC,CAAC;gBACV,qCAA4B;aAC/B;YACD,KAAK,MAAM,CAAC,CAAC;gBACT,oCAA2B;aAC9B;YACD,KAAK,MAAM,CAAC,CAAC;gBACT,oCAA2B;aAC9B;YACD,KAAK,OAAO,CAAC,CAAC;gBACV,qCAA4B;aAC/B;YACD,KAAK,OAAO,CAAC,CAAC;gBACV,uCAA8B;aACjC;YACD,OAAO,CAAC,CAAC;gBACL,oCAA2B;aAC9B;SACJ;IACL,CAAC;CACJ;AAzDD,sCAyDC"}
1
+ {"version":3,"file":"log4jsWrapper.js","sourceRoot":"","sources":["../../src/logger/log4jsWrapper.ts"],"names":[],"mappings":";;;AAOA,qDAAqD;AACrD,MAAa,aAAa;IAGtB,YAAY,MAAoB;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IACjG,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QAC5C,wIAAwI;QACxI,4DAA4D;QAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;IAEM,OAAO,CAAC,OAAe,EAAE,GAAG,IAAe;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;IAEO,OAAO,CAAC,KAAwC;QACpD,IAAI,KAAK,KAAK,SAAS,EAAE;YACrB,oCAA2B;SAC9B;QACD,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAEpG,QAAQ,YAAY,EAAE;YAClB,KAAK,KAAK,CAAC,CAAC;gBACR,mCAA2B;aAC9B;YACD,KAAK,OAAO,CAAC,CAAC;gBACV,qCAA4B;aAC/B;YACD,KAAK,MAAM,CAAC,CAAC;gBACT,oCAA2B;aAC9B;YACD,KAAK,MAAM,CAAC,CAAC;gBACT,oCAA2B;aAC9B;YACD,KAAK,OAAO,CAAC,CAAC;gBACV,qCAA4B;aAC/B;YACD,KAAK,OAAO,CAAC,CAAC;gBACV,uCAA8B;aACjC;YACD,OAAO,CAAC,CAAC;gBACL,oCAA2B;aAC9B;SACJ;IACL,CAAC;CACJ;AA/DD,sCA+DC"}
@@ -7,6 +7,7 @@ const builder_2 = require("./settings/builder");
7
7
  const builder_3 = require("../validation/metrics/builder");
8
8
  const providerFactory_1 = require("./meter/providerFactory");
9
9
  const lazyProvider_1 = require("./meter/lazyProvider");
10
+ const nullMetricsManager_1 = require("./utils/nullMetricsManager");
10
11
  class MetricsManagerBuilder {
11
12
  withLogger(logger) {
12
13
  this.logger = logger;
@@ -30,9 +31,12 @@ class MetricsManagerBuilder {
30
31
  return this.buildCore();
31
32
  }
32
33
  buildCore() {
33
- var _a;
34
+ var _a, _b;
35
+ if (((_a = this.settings) === null || _a === void 0 ? void 0 : _a.enabled) !== true) {
36
+ return new nullMetricsManager_1.NullMetricsManager();
37
+ }
34
38
  const metricsSettings = this.createMetricsSettings();
35
- const meterProviderCreateFunc = (_a = this.meterProviderCreateFunc) !== null && _a !== void 0 ? _a : this.createMeterProviderCreateFunc(metricsSettings.meter);
39
+ const meterProviderCreateFunc = (_b = this.meterProviderCreateFunc) !== null && _b !== void 0 ? _b : this.createMeterProviderCreateFunc(metricsSettings.meter);
36
40
  const lazyMeterProvider = new lazyProvider_1.LazyMetricsMeterProvider(meterProviderCreateFunc, metricsSettings.meter.serviceName);
37
41
  const metricsFactory = this.createMetricsFactory(lazyMeterProvider, this.dependencyContainer, this.logger);
38
42
  const manager = new manager_1.MetricsManager(metricsSettings, metricsFactory, lazyMeterProvider, this.logger);
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/metrics/builder.ts"],"names":[],"mappings":";;;AAAA,+CAA0D;AAC1D,uCAA2C;AAC3C,gDAA4D;AAC5D,2DAAwE;AACxE,6DAAsE;AAOtE,uDAAgE;AAEhE,MAAa,qBAAqB;IAMvB,UAAU,CAAC,MAAc;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY,CAAC,QAA0B;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,iBAAiB,CAAC,uBAAuD;QAC5E,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,uBAAuB,CAAC,SAAqC;QAChE,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK;QACR,MAAM,SAAS,GAAG,IAAI,iCAAuB,EAAE,CAAC;QAChD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAEO,SAAS;;QACb,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACrD,MAAM,uBAAuB,GAAG,MAAA,IAAI,CAAC,uBAAuB,mCAAI,IAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1H,MAAM,iBAAiB,GAAG,IAAI,uCAAwB,CAAC,uBAAuB,EAAE,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnH,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3G,MAAM,OAAO,GAAG,IAAI,wBAAc,CAAC,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpG,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,qBAAqB;QACzB,MAAM,QAAQ,GAAG,IAAI,gCAAsB,EAAE;aACxC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC3B,KAAK,EAAE,CAAC;QAEb,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,oBAAoB,CACxB,iBAA2C,EAC3C,mBAA+C,EAC/C,MAAc;QAGd,MAAM,OAAO,GAAG,IAAI,+BAAqB,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,CAAC;aACpF,YAAY,EAAE;aACd,KAAK,EAAE,CAAC;QAEb,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,6BAA6B,CAAC,QAAsC;QACxE,MAAM,IAAI,qBAAQ,QAAQ,CAAE,CAAC;QAC7B,OAAO,GAAG,EAAE;YACR,MAAM,OAAO,GAAG,IAAI,6CAA2B,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,aAAa,CAAC;QACzB,CAAC,CAAC;IACN,CAAC;CACJ;AAvED,sDAuEC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/metrics/builder.ts"],"names":[],"mappings":";;;AAAA,+CAA0D;AAC1D,uCAA2C;AAC3C,gDAA4D;AAC5D,2DAAwE;AACxE,6DAAsE;AAOtE,uDAAgE;AAChE,mEAAgE;AAEhE,MAAa,qBAAqB;IAMvB,UAAU,CAAC,MAAc;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY,CAAC,QAA0B;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,iBAAiB,CAAC,uBAAuD;QAC5E,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,uBAAuB,CAAC,SAAqC;QAChE,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK;QACR,MAAM,SAAS,GAAG,IAAI,iCAAuB,EAAE,CAAC;QAChD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAEO,SAAS;;QACb,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,MAAK,IAAI,EAAE;YACjC,OAAO,IAAI,uCAAkB,EAAE,CAAC;SACnC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACrD,MAAM,uBAAuB,GAAG,MAAA,IAAI,CAAC,uBAAuB,mCAAI,IAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1H,MAAM,iBAAiB,GAAG,IAAI,uCAAwB,CAAC,uBAAuB,EAAE,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnH,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3G,MAAM,OAAO,GAAG,IAAI,wBAAc,CAAC,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpG,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,qBAAqB;QACzB,MAAM,QAAQ,GAAG,IAAI,gCAAsB,EAAE;aACxC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC3B,KAAK,EAAE,CAAC;QAEb,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,oBAAoB,CACxB,iBAA2C,EAC3C,mBAA+C,EAC/C,MAAc;QAGd,MAAM,OAAO,GAAG,IAAI,+BAAqB,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,CAAC;aACpF,YAAY,EAAE;aACd,KAAK,EAAE,CAAC;QAEb,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,6BAA6B,CAAC,QAAsC;QACxE,MAAM,IAAI,qBAAQ,QAAQ,CAAE,CAAC;QAC7B,OAAO,GAAG,EAAE;YACR,MAAM,OAAO,GAAG,IAAI,6CAA2B,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,aAAa,CAAC;QACzB,CAAC,CAAC;IACN,CAAC;CACJ;AA1ED,sDA0EC"}
@@ -16,6 +16,7 @@ export declare class MetricsFactoryBuilder {
16
16
  withAppStartupHistogram(): this;
17
17
  withAppCount(): this;
18
18
  withAppDurationHistogram(): this;
19
+ withAppDurationSoftHistogram(): this;
19
20
  withAppMemory(): this;
20
21
  withAppCPU(): this;
21
22
  withAppError(): this;
@@ -5,6 +5,7 @@ const started_1 = require("../metrics/application/started");
5
5
  const stopped_1 = require("../metrics/application/stopped");
6
6
  const count_1 = require("../metrics/application/count");
7
7
  const duration_1 = require("../metrics/application/duration");
8
+ const durationSoft_1 = require("../metrics/application/durationSoft");
8
9
  const memory_1 = require("../metrics/application/memory");
9
10
  const cpu_1 = require("../metrics/application/cpu");
10
11
  const memory_2 = require("../metrics/system/memory");
@@ -44,6 +45,7 @@ class MetricsFactoryBuilder {
44
45
  .withAppStartupHistogram()
45
46
  .withAppCount()
46
47
  .withAppDurationHistogram()
48
+ .withAppDurationSoftHistogram()
47
49
  .withAppMemory()
48
50
  .withAppCPU()
49
51
  .withSystemMemory()
@@ -97,6 +99,14 @@ class MetricsFactoryBuilder {
97
99
  this.metricsFactories.set("app_duration", func.bind(this));
98
100
  return this;
99
101
  }
102
+ withAppDurationSoftHistogram() {
103
+ const func = (settings) => {
104
+ const metric = new durationSoft_1.ApplicationDurationSoftMetric(settings, this.meter, this.logger, this.dependencyContainer.instanceFocusedHandler);
105
+ return metric;
106
+ };
107
+ this.metricsFactories.set("app_duration_soft", func.bind(this));
108
+ return this;
109
+ }
100
110
  withAppMemory() {
101
111
  const func = (settings) => {
102
112
  const metric = new memory_1.ApplicationMemoryMetric(settings, this.meter, this.logger, this.dependencyContainer.performanceProvider);
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/metrics/factory/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/metrics/factory/builder.ts"],"names":[],"mappings":";;;AACA,4DAA0E;AAC1E,4DAA0E;AAC1E,wDAAsE;AACtE,8DAA4E;AAC5E,sEAAoF;AACpF,0DAAwE;AACxE,oDAAkE;AAClE,qDAA8D;AAC9D,+CAAwD;AACxD,yDAAoE;AACpE,uCAA2C;AAC3C,4EAAyF;AACzF,0DAA+E;AAC/E,0DAAsE;AACtE,4DAA0E;AAC1E,uDAAgE;AAChE,wDAAsE;AACtE,wDAAsE;AACtE,qDAAgE;AAChE,sDAAkE;AAOlE,MAAa,qBAAqB;IAG9B,YACW,iBAA2C,EAC3C,mBAA+C,EAC/C,MAAc;QAFd,sBAAiB,GAAjB,iBAAiB,CAA0B;QAC3C,wBAAmB,GAAnB,mBAAmB,CAA4B;QAC/C,WAAM,GAAN,MAAM,CAAQ;QALjB,qBAAgB,GAAG,IAAI,GAAG,EAAgC,CAAC;QAO/D,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAgC,CAAC;IACpE,CAAC;IAED,IAAY,KAAK;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,KAAK;QACR,MAAM,SAAS,GAAG,IAAI,+CAA8B,EAAE,CAAC;QACvD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEzB,MAAM,cAAc,GAAG,IAAI,wBAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9E,OAAO,cAAc,CAAC;IAC1B,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,cAAc,EAAE;aACvB,cAAc,EAAE;aAChB,uBAAuB,EAAE;aACzB,YAAY,EAAE;aACd,wBAAwB,EAAE;aAC1B,4BAA4B,EAAE;aAC9B,aAAa,EAAE;aACf,UAAU,EAAE;aACZ,gBAAgB,EAAE;aAClB,aAAa,EAAE;aACf,YAAY,EAAE;aACd,YAAY,EAAE;aACd,0BAA0B,EAAE;aAC5B,6BAA6B,EAAE;aAC/B,oBAAoB,EAAE;aACtB,kBAAkB,EAAE;aACpB,mBAAmB,EAAE;aACrB,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAEM,cAAc;QACjB,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,kCAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;YAChI,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,cAAc;QACjB,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,kCAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;YAChI,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,uBAAuB;QAC1B,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,kCAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;YAC9H,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY;QACf,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,8BAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;YAC/K,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,wBAAwB;QAC3B,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,oCAAyB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;YACjI,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,4BAA4B;QAC/B,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,4CAA6B,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;YACrI,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,aAAa;QAChB,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,gCAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;YAC5H,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,UAAU;QACb,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,0BAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;YACzH,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY;QACf,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,8BAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;YAC5H,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY;QACf,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,8BAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;YAC5H,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACnB,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,2BAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;YACvH,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,aAAa;QAChB,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,qBAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;YACpH,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,0BAA0B;QAC7B,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,6BAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;YAC1H,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,6BAA6B;QAChC,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,yCAA+B,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;YACzI,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,oBAAoB;QACvB,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,gCAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;YAC/H,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,kBAAkB;QACrB,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,4BAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;YAChL,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,mBAAmB;QACtB,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,+BAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;YAC7H,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,iBAAiB;QACpB,MAAM,IAAI,GAAG,CAAC,QAAgC,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,2BAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;YACzH,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA9MD,sDA8MC"}
@@ -1,7 +1,27 @@
1
- import { ApplicationMetricData } from "../base/types";
2
- import { ApplicationDurationMetricBase } from "./durationBase";
3
- export declare class ApplicationDurationMetric extends ApplicationDurationMetricBase {
1
+ import { Meter } from "@opentelemetry/api";
2
+ import { InternalMetricSettings, ApplicationMetricData } from "../base/types";
3
+ import { ObservableMetricBase } from "../base/observable";
4
+ import { Logger } from "../../../logger/types";
5
+ import { InstanceFocusedHandler, InstanceFocusedHandlerArgs } from "../../dependencies/types";
6
+ export declare class ApplicationDurationMetric extends ObservableMetricBase<ApplicationMetricData> {
7
+ instanceFocusHandler: InstanceFocusedHandler;
8
+ protected focusedTimes: Map<string, number[]>;
9
+ protected currentFocusedApp?: {
10
+ name: string;
11
+ gotFocusTime: number;
12
+ };
13
+ private unInstanceFocusHandler;
14
+ private validator;
4
15
  private appDurationMetric;
16
+ constructor(settings: InternalMetricSettings, meter: Meter, logger: Logger, instanceFocusHandler: InstanceFocusedHandler);
5
17
  protected createMetricCore(): Promise<void>;
6
18
  protected sendMetric(focusedPeriods: number[], data: ApplicationMetricData): void;
19
+ protected observeCore(): Promise<void>;
20
+ protected subscribeCore(): Promise<void>;
21
+ protected unsubscribeCore(): Promise<void>;
22
+ protected handleFocusChanged(args: InstanceFocusedHandlerArgs): void;
23
+ private handleFocusChangedCore;
24
+ private handleGotFocus;
25
+ private handleLostFocus;
26
+ private addFocusLostEventCore;
7
27
  }
@@ -1,8 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApplicationDurationMetric = void 0;
4
- const durationBase_1 = require("./durationBase");
5
- class ApplicationDurationMetric extends durationBase_1.ApplicationDurationMetricBase {
4
+ const validator_1 = require("../../../validation/validator");
5
+ const duration_1 = require("../../../validation/metrics/application/duration");
6
+ const observable_1 = require("../base/observable");
7
+ class ApplicationDurationMetric extends observable_1.ObservableMetricBase {
8
+ constructor(settings, meter, logger, instanceFocusHandler) {
9
+ super(settings, meter, logger);
10
+ this.instanceFocusHandler = instanceFocusHandler;
11
+ // application -> focused times for a given period
12
+ this.focusedTimes = new Map();
13
+ this.validator = new duration_1.ApplicationDurationMetricValidator();
14
+ this.validator.validate(this);
15
+ }
6
16
  createMetricCore() {
7
17
  const advice = { explicitBucketBoundaries: this.settings.buckets };
8
18
  this.appDurationMetric = this.meter.createHistogram(this.settings.name, { description: this.settings.description, unit: this.settings.unit, advice });
@@ -14,6 +24,77 @@ class ApplicationDurationMetric extends durationBase_1.ApplicationDurationMetric
14
24
  this.logger.debug(`metric ${this.settings.name} sent focused time ${period} for app ${data.application}`);
15
25
  });
16
26
  }
27
+ observeCore() {
28
+ this.focusedTimes.forEach((focusedPeriods, application) => {
29
+ const data = this.getApplicationData(application);
30
+ this.sendMetric(focusedPeriods, data);
31
+ focusedPeriods.splice(0);
32
+ });
33
+ return Promise.resolve();
34
+ }
35
+ subscribeCore() {
36
+ this.unInstanceFocusHandler = this.instanceFocusHandler(this.handleFocusChanged.bind(this));
37
+ return Promise.resolve();
38
+ }
39
+ unsubscribeCore() {
40
+ this.unInstanceFocusHandler();
41
+ return Promise.resolve();
42
+ }
43
+ handleFocusChanged(args) {
44
+ try {
45
+ this.validator.validateFocusChanged(args);
46
+ this.logger.debug(`focused changed is being invoked for metric ${this.settings.name} with ${JSON.stringify(args)}`);
47
+ return this.handleFocusChangedCore(args);
48
+ }
49
+ catch (error) {
50
+ const message = `error while executing handleFocusChanges for metric from type: ${this.settings.type}`;
51
+ this.logger.warn(message, error);
52
+ }
53
+ }
54
+ handleFocusChangedCore(e) {
55
+ const focused = e.focused;
56
+ const application = e.application;
57
+ if (focused) {
58
+ this.handleGotFocus(application);
59
+ }
60
+ else {
61
+ try {
62
+ this.handleLostFocus(application);
63
+ }
64
+ finally {
65
+ this.currentFocusedApp = undefined;
66
+ }
67
+ }
68
+ }
69
+ handleGotFocus(application) {
70
+ const now = new Date().getTime();
71
+ this.currentFocusedApp = { name: application, gotFocusTime: now };
72
+ if (!this.focusedTimes.has(this.currentFocusedApp.name)) {
73
+ this.focusedTimes.set(this.currentFocusedApp.name, []);
74
+ }
75
+ this.logger.debug(`got focus event has been added for metric ${this.settings.name}`);
76
+ }
77
+ handleLostFocus(application) {
78
+ if (validator_1.Validator.isNullOrUndefined(this.currentFocusedApp)) {
79
+ throw new Error(`cannot handle focus lost for application ${application} since there is no previous got focus event`);
80
+ }
81
+ const currentFocusedApp = this.currentFocusedApp.name;
82
+ const gotFocusTime = this.currentFocusedApp.gotFocusTime;
83
+ if (application !== currentFocusedApp) {
84
+ throw new Error(`cannot handle focus lost for application ${application} since the previous got focus event had come from application ${currentFocusedApp}`);
85
+ }
86
+ if (!this.focusedTimes.has(application)) {
87
+ throw new Error(`there is no got focus event for ${application}`);
88
+ }
89
+ this.addFocusLostEventCore(currentFocusedApp, gotFocusTime);
90
+ this.logger.debug(`lost focus event has been added for metric ${this.settings.name}`);
91
+ }
92
+ addFocusLostEventCore(application, gotFocusTime) {
93
+ const now = new Date().getTime();
94
+ const focusedTime = (now - gotFocusTime);
95
+ const focusedTimes = this.focusedTimes.get(application);
96
+ focusedTimes.push(focusedTime);
97
+ }
17
98
  }
18
99
  exports.ApplicationDurationMetric = ApplicationDurationMetric;
19
100
  //# sourceMappingURL=duration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../../src/metrics/metrics/application/duration.ts"],"names":[],"mappings":";;;AAEA,iDAA+D;AAE/D,MAAa,yBAA0B,SAAQ,4CAA6B;IAGrD,gBAAgB;QAC/B,MAAM,MAAM,GAAG,EAAE,wBAAwB,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,UAAU,CAAC,cAAwB,EAAE,IAA2B;QAC/E,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,sBAAsB,MAAM,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAhBD,8DAgBC"}
1
+ {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../../src/metrics/metrics/application/duration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ApplicationDurationMetric } from "./duration";
2
+ export declare class ApplicationDurationSoftMetric extends ApplicationDurationMetric {
3
+ protected observeCore(): Promise<void>;
4
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ApplicationDurationSoftMetric = void 0;
13
+ const duration_1 = require("./duration");
14
+ class ApplicationDurationSoftMetric extends duration_1.ApplicationDurationMetric {
15
+ observeCore() {
16
+ const _super = Object.create(null, {
17
+ observeCore: { get: () => super.observeCore }
18
+ });
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ const hasFocusedApp = this.currentFocusedApp !== undefined;
21
+ const currentFocusedApp = hasFocusedApp ? this.currentFocusedApp.name : undefined;
22
+ if (hasFocusedApp) {
23
+ this.handleFocusChanged({ application: currentFocusedApp, focused: false });
24
+ }
25
+ yield _super.observeCore.call(this);
26
+ if (hasFocusedApp) {
27
+ this.handleFocusChanged({ application: currentFocusedApp, focused: true });
28
+ }
29
+ return Promise.resolve();
30
+ });
31
+ }
32
+ }
33
+ exports.ApplicationDurationSoftMetric = ApplicationDurationSoftMetric;
34
+ //# sourceMappingURL=durationSoft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"durationSoft.js","sourceRoot":"","sources":["../../../../src/metrics/metrics/application/durationSoft.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,yCAAuD;AAEvD,MAAa,6BAA8B,SAAQ,oCAAyB;IAE/C,WAAW;;;;;YAChC,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC;YAC3D,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAEnF,IAAI,aAAa,EAAE;gBACf,IAAI,CAAC,kBAAkB,CAAC,EAAE,WAAW,EAAE,iBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;aAChF;YAED,MAAM,OAAM,WAAW,WAAE,CAAC;YAE1B,IAAI,aAAa,EAAE;gBACf,IAAI,CAAC,kBAAkB,CAAC,EAAE,WAAW,EAAE,iBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;aAC/E;YAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;KAAA;CACJ;AAlBD,sEAkBC"}
@@ -28,4 +28,4 @@ export interface Metric {
28
28
  start(): Promise<void>;
29
29
  stop(): Promise<void>;
30
30
  }
31
- export type MetricType = "app_started" | "app_stopped" | "app_startup" | "app_count" | "app_duration" | "app_memory" | "app_cpu" | "app_error" | "app_crash" | "layout_startup" | "workspace_startup" | "workspace_stopped" | "workspace_count" | "platform_startup" | "platform_error" | "system_memory" | "system_cpu" | "null";
31
+ export type MetricType = "app_started" | "app_stopped" | "app_startup" | "app_count" | "app_duration" | "app_duration_soft" | "app_memory" | "app_cpu" | "app_error" | "app_crash" | "layout_startup" | "workspace_startup" | "workspace_stopped" | "workspace_count" | "platform_startup" | "platform_error" | "system_memory" | "system_cpu" | "null";
@@ -1,15 +1,25 @@
1
- import { TracerProvider } from "@opentelemetry/api";
1
+ import { ContextManager, TracerProvider } from "@opentelemetry/api";
2
2
  import { Logger } from "../logger/types";
3
3
  import { TracesManager as ITracesManager, TracesSettings, TracingContext } from "./types";
4
+ import { Sampler, SpanExporter, SpanProcessor } from "@opentelemetry/sdk-trace-base";
4
5
  export declare class TracesManagerBuilder implements TracesManagerBuilder {
5
6
  logger: Logger;
6
7
  settings: TracesSettings | undefined;
7
8
  tracingContextGetter: (() => TracingContext) | undefined;
8
9
  tracerProvider: TracerProvider;
10
+ samplerGetter?: (defaultSampler: Sampler) => Sampler;
11
+ spanProcessors?: SpanProcessor[];
12
+ spanExporters?: SpanExporter[];
13
+ providerRegistrationSettings?: any;
9
14
  withLogger(logger: Logger): this;
10
15
  withSettings(settings?: TracesSettings): this;
11
16
  withTracingContextGetter(tracingContextGetter?: () => TracingContext): this;
12
17
  withTracerProvider(tracerProvider: TracerProvider): this;
18
+ withSamplerGetter(samplerGetter: (defaultSampler: Sampler) => Sampler): this;
19
+ withSpanProcessors(spanProcessors: SpanProcessor[]): this;
20
+ withSpanExporters(spanExporters: SpanExporter[]): this;
21
+ withProviderRegistrationSettings(providerRegistrationSettings: any): this;
22
+ withContextManager(contextManager: ContextManager): this;
13
23
  build(): ITracesManager;
14
24
  private buildCore;
15
25
  }