@interopio/otel 0.0.13 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/builder.d.ts +1 -2
  2. package/dist/builder.js +4 -7
  3. package/dist/builder.js.map +1 -1
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +3 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/metrics/factory/builder.d.ts +1 -0
  8. package/dist/metrics/factory/builder.js +10 -0
  9. package/dist/metrics/factory/builder.js.map +1 -1
  10. package/dist/metrics/metrics/application/duration.d.ts +23 -3
  11. package/dist/metrics/metrics/application/duration.js +83 -2
  12. package/dist/metrics/metrics/application/duration.js.map +1 -1
  13. package/dist/metrics/metrics/application/durationSoft.d.ts +4 -0
  14. package/dist/metrics/metrics/application/durationSoft.js +34 -0
  15. package/dist/metrics/metrics/application/durationSoft.js.map +1 -0
  16. package/dist/metrics/metrics/base/types.d.ts +1 -1
  17. package/dist/traces/builder.d.ts +11 -1
  18. package/dist/traces/builder.js +21 -1
  19. package/dist/traces/builder.js.map +1 -1
  20. package/dist/traces/ioInsightsSampler.d.ts +3 -2
  21. package/dist/traces/ioInsightsSampler.js +10 -5
  22. package/dist/traces/ioInsightsSampler.js.map +1 -1
  23. package/dist/traces/manager.d.ts +7 -5
  24. package/dist/traces/manager.js +83 -51
  25. package/dist/traces/manager.js.map +1 -1
  26. package/dist/traces/nullTracesManager.d.ts +3 -3
  27. package/dist/traces/nullTracesManager.js +35 -13
  28. package/dist/traces/nullTracesManager.js.map +1 -1
  29. package/dist/traces/nullTracingState.d.ts +23 -0
  30. package/dist/traces/nullTracingState.js +52 -0
  31. package/dist/traces/nullTracingState.js.map +1 -0
  32. package/dist/traces/tracingState.d.ts +7 -8
  33. package/dist/traces/tracingState.js +13 -29
  34. package/dist/traces/tracingState.js.map +1 -1
  35. package/dist/traces/types.d.ts +205 -25
  36. package/dist/traces/types.js.map +1 -1
  37. package/dist/traces/utils/index.d.ts +8 -8
  38. package/dist/traces/utils/index.js +76 -32
  39. package/dist/traces/utils/index.js.map +1 -1
  40. package/dist/validation/metrics/application/duration.d.ts +2 -2
  41. package/dist/validation/metrics/application/duration.js.map +1 -1
  42. package/dist/validation/traces/filter.js +5 -3
  43. package/dist/validation/traces/filter.js.map +1 -1
  44. package/dist/validation/traces/withSpan.d.ts +1 -1
  45. package/dist/validation/traces/withSpan.js.map +1 -1
  46. package/package.json +5 -4
  47. package/dist/metrics/metrics/application/durationBase.d.ts +0 -22
  48. package/dist/metrics/metrics/application/durationBase.js +0 -97
  49. 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();
@@ -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":";;;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,mCAAmC;IAE5B,UAAU,CAAC,MAAc;;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,CAAC;QAEpC,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,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SACpC;aAAM;YACL,UAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,6BAA2B,CAAC,CAAC;SAC1D;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,YAAY,CAAC,QAA2B;QAC7C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0BAA0B;IAEnB,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;AAzED,0BAyEC"}
package/dist/index.d.ts CHANGED
@@ -10,4 +10,5 @@ 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
12
  export { TracesManager, TracesSettings, SamplingSettings, TracesDefaultsSettings } from "./traces/types";
13
+ export { TracingState } from "./traces/tracingState";
13
14
  export { LogsManager, LogsSettings } from "./logs/types";
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ 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.MetricsDependencyBuilder = exports.Log4jsWrapper = exports.ioInsightsSampler = exports.Builder = void 0;
17
+ exports.TracingState = exports.MetricsDependencyBuilder = exports.Log4jsWrapper = exports.ioInsightsSampler = exports.Builder = void 0;
18
18
  var builder_1 = require("./builder");
19
19
  Object.defineProperty(exports, "Builder", { enumerable: true, get: function () { return builder_1.Builder; } });
20
20
  var ioInsightsSampler_1 = require("./traces/ioInsightsSampler");
@@ -24,4 +24,6 @@ Object.defineProperty(exports, "Log4jsWrapper", { enumerable: true, get: functio
24
24
  var builder_2 = require("./metrics/dependencies/builder");
25
25
  Object.defineProperty(exports, "MetricsDependencyBuilder", { enumerable: true, get: function () { return builder_2.MetricsDependencyBuilder; } });
26
26
  __exportStar(require("./metrics/dependencies/types"), exports);
27
+ var tracingState_1 = require("./traces/tracingState");
28
+ Object.defineProperty(exports, "TracingState", { enumerable: true, get: function () { return tracingState_1.TracingState; } });
27
29
  //# 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;AAI7C,sDAAqD;AAA5C,4GAAA,YAAY,OAAA"}
@@ -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":";;;AACA,4DAA0E;AAC1E,4DAA0E;AAC1E,wDAAsE;AACtE,8DAA4E;AAC5E,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,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,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;AApMD,sDAoMC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/metrics/factory/builder.ts"],"names":[],"mappings":"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"}
@@ -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
  }
@@ -19,6 +19,26 @@ class TracesManagerBuilder {
19
19
  this.tracerProvider = tracerProvider;
20
20
  return this;
21
21
  }
22
+ withSamplerGetter(samplerGetter) {
23
+ this.samplerGetter = samplerGetter;
24
+ return this;
25
+ }
26
+ withSpanProcessors(spanProcessors) {
27
+ this.spanProcessors = spanProcessors;
28
+ return this;
29
+ }
30
+ withSpanExporters(spanExporters) {
31
+ this.spanExporters = spanExporters;
32
+ return this;
33
+ }
34
+ withProviderRegistrationSettings(providerRegistrationSettings) {
35
+ this.providerRegistrationSettings = providerRegistrationSettings;
36
+ return this;
37
+ }
38
+ withContextManager(contextManager) {
39
+ this.providerRegistrationSettings = Object.assign(Object.assign({}, this.providerRegistrationSettings), { contextManager });
40
+ return this;
41
+ }
22
42
  build() {
23
43
  // vnikolov TODO
24
44
  // const validator = new TracesBuilderValidator();
@@ -31,7 +51,7 @@ class TracesManagerBuilder {
31
51
  url: undefined,
32
52
  filters: undefined,
33
53
  default: undefined,
34
- }, this.logger, this.tracingContextGetter, this.tracerProvider);
54
+ }, this.logger, this.tracingContextGetter, this.tracerProvider, this.samplerGetter, this.spanProcessors, this.spanExporters, this.providerRegistrationSettings);
35
55
  return manager;
36
56
  }
37
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/traces/builder.ts"],"names":[],"mappings":";;;AACA,uCAA0C;AAI1C,MAAa,oBAAoB;IAMxB,UAAU,CAAC,MAAc;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,YAAY,CAAC,QAAyB;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,wBAAwB,CAAC,oBAA2C;QACzE,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,kBAAkB,CAAC,cAA8B;QACpD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK;QACV,gBAAgB;QAChB,kDAAkD;QAClD,4BAA4B;QAE5B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAEO,SAAS;QACf,MAAM,OAAO,GAAG,IAAI,uBAAa,CAC/B,IAAI,CAAC,QAAQ,IAAI;YACf,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;SACnB,EACD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,cAAc,CACpB,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAhDD,oDAgDC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/traces/builder.ts"],"names":[],"mappings":";;;AACA,uCAA0C;AAK1C,MAAa,oBAAoB;IAUxB,UAAU,CAAC,MAAc;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,YAAY,CAAC,QAAyB;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,wBAAwB,CAAC,oBAA2C;QACzE,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,kBAAkB,CAAC,cAA8B;QACpD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,iBAAiB,CAAC,aAAmD;QAC1E,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,kBAAkB,CAAC,cAA+B;QACvD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,iBAAiB,CAAC,aAA6B;QACpD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,gCAAgC,CAAC,4BAAiC;QACvE,IAAI,CAAC,4BAA4B,GAAG,4BAA4B,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,kBAAkB,CAAC,cAA8B;QACtD,IAAI,CAAC,4BAA4B,mCAAQ,IAAI,CAAC,4BAA4B,KAAE,cAAc,GAAE,CAAC;QAC7F,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK;QACV,gBAAgB;QAChB,kDAAkD;QAClD,4BAA4B;QAE5B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAEO,SAAS;QACf,MAAM,OAAO,GAAG,IAAI,uBAAa,CAC/B,IAAI,CAAC,QAAQ,IAAI;YACf,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;SACnB,EACD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAhFD,oDAgFC"}
@@ -1,13 +1,14 @@
1
- import { Attributes, Context, Link, Sampler, SamplingResult, SpanKind } from "@opentelemetry/api";
1
+ import { Attributes, Context, Link, SpanKind } from "@opentelemetry/api";
2
2
  import { Logger } from "../logger/types";
3
3
  import { SamplingSettings, TracesDefaultsSettings } from "./types";
4
+ import { Sampler, SamplingResult } from "@opentelemetry/sdk-trace-base";
4
5
  export declare class ioInsightsSampler implements Sampler {
5
6
  private settings;
6
7
  private defaults?;
7
8
  private contextGetter?;
8
9
  private logger?;
9
10
  constructor(settings: SamplingSettings[], defaults?: TracesDefaultsSettings | undefined, contextGetter?: (() => {
10
- [key: string]: string;
11
+ [key: string]: any;
11
12
  }) | undefined, logger?: Logger | undefined);
12
13
  shouldSample(context: Context, traceId: string, spanName: string, spanKind: SpanKind, attributes: Attributes, links: Link[]): SamplingResult;
13
14
  toString(): string;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ioInsightsSampler = void 0;
4
- const api_1 = require("@opentelemetry/api");
4
+ const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
5
5
  // https://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript
6
6
  // doesn't work on IE 11
7
7
  const cyrb53 = (str, seed = 0) => {
@@ -29,6 +29,11 @@ class ioInsightsSampler {
29
29
  const currentContext = ((_a = this.contextGetter) === null || _a === void 0 ? void 0 : _a.call(null)) || {};
30
30
  for (const setting of this.settings || []) {
31
31
  let matched = true;
32
+ if (matched && setting.name) {
33
+ if (!this.matchObjects("name", { name: setting.name }, { name: spanName })) {
34
+ matched = false;
35
+ }
36
+ }
32
37
  if (matched && setting.attributes) {
33
38
  if (!this.matchObjects("attributes", setting.attributes, attributes)) {
34
39
  matched = false;
@@ -63,7 +68,7 @@ class ioInsightsSampler {
63
68
  ((_m = this.logger) === null || _m === void 0 ? void 0 : _m.level) >= 80 /* LoggerLogLevel.VERBOSE */) {
64
69
  (_o = this.logger) === null || _o === void 0 ? void 0 : _o.verbose("no sampling rule matched, no defaults - will sample");
65
70
  }
66
- return { decision: api_1.SamplingDecision.RECORD_AND_SAMPLED };
71
+ return { decision: sdk_trace_base_1.SamplingDecision.RECORD_AND_SAMPLED };
67
72
  }
68
73
  toString() {
69
74
  try {
@@ -102,15 +107,15 @@ class ioInsightsSampler {
102
107
  var _a, _b, _c;
103
108
  let toReturn;
104
109
  if (sample === true || (typeof sample === "number" && sample >= 1.0)) {
105
- toReturn = { decision: api_1.SamplingDecision.RECORD_AND_SAMPLED };
110
+ toReturn = { decision: sdk_trace_base_1.SamplingDecision.RECORD_AND_SAMPLED };
106
111
  }
107
112
  else if (sample === false || (typeof sample === "number" && sample <= 0.0)) {
108
- toReturn = { decision: api_1.SamplingDecision.NOT_RECORD };
113
+ toReturn = { decision: sdk_trace_base_1.SamplingDecision.NOT_RECORD };
109
114
  }
110
115
  else {
111
116
  const hash = cyrb53(traceId);
112
117
  const toss = (hash / 1000) - Math.floor(hash / 1000);
113
- toReturn = { decision: toss <= sample ? api_1.SamplingDecision.RECORD_AND_SAMPLED : api_1.SamplingDecision.NOT_RECORD };
118
+ toReturn = { decision: toss <= sample ? sdk_trace_base_1.SamplingDecision.RECORD_AND_SAMPLED : sdk_trace_base_1.SamplingDecision.NOT_RECORD };
114
119
  }
115
120
  if (((_a = this.logger) === null || _a === void 0 ? void 0 : _a.level) &&
116
121
  ((_b = this.logger) === null || _b === void 0 ? void 0 : _b.level) >= 80 /* LoggerLogLevel.VERBOSE */) {
@@ -1 +1 @@
1
- {"version":3,"file":"ioInsightsSampler.js","sourceRoot":"","sources":["../../src/traces/ioInsightsSampler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ioInsightsSampler.js","sourceRoot":"","sources":["../../src/traces/ioInsightsSampler.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,21 @@
1
1
  import { Logger } from "../logger/types";
2
2
  import { TracesManager as ITracesManager, PropagationInfo, PropagationInfoCarrier, TracesSettings, TracingContext, WithSpanCallback } from "./types";
3
- import { TracerProvider } from "@opentelemetry/api";
3
+ import { TracerProvider, ContextManager } from "@opentelemetry/api";
4
+ import { Sampler, SpanExporter, SpanProcessor } from "@opentelemetry/sdk-trace-base";
4
5
  export declare class TracesManager implements ITracesManager {
5
6
  settings: TracesSettings;
6
7
  logger: Logger;
7
8
  tracingContextGetter: (() => TracingContext) | undefined;
8
- tracerProvider: TracerProvider;
9
9
  started: boolean;
10
10
  private VERSION;
11
11
  private DEFAULT_URL;
12
12
  private DEFAULT_USER;
13
13
  private DEFAULT_SERVICE_NAME;
14
- constructor(settings: TracesSettings, logger: Logger, tracingContextGetter: (() => TracingContext) | undefined, tracerProvider: TracerProvider);
15
- extractTracingPropagationInfo(propagationInfo: PropagationInfo | PropagationInfoCarrier): PropagationInfo | undefined;
16
- withSpan(source: string, tracingContextOrCallback: TracingContext | WithSpanCallback, propagationInfoOrCallback?: PropagationInfo | PropagationInfoCarrier | WithSpanCallback, callback?: WithSpanCallback): Promise<ReturnType<WithSpanCallback>>;
14
+ constructor(settings: TracesSettings, logger: Logger, tracingContextGetter: (() => TracingContext) | undefined, tracerProvider?: TracerProvider, sampler?: (defaultSampler: Sampler) => Sampler, spanProcessors?: SpanProcessor[], spanExporters?: SpanExporter[], providerRegistrationSettings?: {
15
+ contextManager?: ContextManager;
16
+ });
17
+ extractTracingPropagationInfo(propagationInfo: PropagationInfo | PropagationInfoCarrier, deleteProperty?: boolean): PropagationInfo | null;
18
+ withSpan<T>(source: string, tracingContextOrCallback: TracingContext | WithSpanCallback<T>, propagationInfoOrCallback?: PropagationInfo | PropagationInfoCarrier | WithSpanCallback<T>, callback?: WithSpanCallback<T>): Promise<T>;
17
19
  start(): Promise<void>;
18
20
  stop(): Promise<void>;
19
21
  }