@dbos-inc/dbos-sdk 2.4.17-preview → 2.4.19-preview

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.
@@ -9,11 +9,11 @@ const resources_1 = require("@opentelemetry/resources");
9
9
  const api_1 = __importDefault(require("@opentelemetry/api"));
10
10
  const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
11
11
  const core_1 = require("@opentelemetry/core");
12
+ const utils_1 = require("../utils");
12
13
  class Tracer {
13
14
  telemetryCollector;
14
15
  tracer;
15
16
  applicationID;
16
- applicationVersion;
17
17
  executorID;
18
18
  constructor(telemetryCollector) {
19
19
  this.telemetryCollector = telemetryCollector;
@@ -24,7 +24,6 @@ class Tracer {
24
24
  });
25
25
  this.tracer.register();
26
26
  this.applicationID = process.env.DBOS__APPID || '';
27
- this.applicationVersion = process.env.DBOS__APPVERSION || '';
28
27
  this.executorID = process.env.DBOS__VMID || 'local'; // for consistency with src/context.ts
29
28
  }
30
29
  startSpanWithContext(spanContext, name, attributes) {
@@ -46,7 +45,7 @@ class Tracer {
46
45
  endSpan(span) {
47
46
  span.end((0, core_1.hrTime)(performance.now()));
48
47
  span.attributes.applicationID = this.applicationID;
49
- span.attributes.applicationVersion = this.applicationVersion;
48
+ span.attributes.applicationVersion = utils_1.globalAppVersion.version;
50
49
  if (!('executorID' in span.attributes)) {
51
50
  span.attributes.executorID = this.executorID;
52
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"traces.js","sourceRoot":"","sources":["../../../src/telemetry/traces.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAwF;AACxF,wDAAoD;AACpD,6DAA4E;AAC5E,8EAAiF;AAEjF,8CAA6C;AAE7C,MAAa,MAAM;IAKY;IAJZ,MAAM,CAAsB;IACpC,aAAa,CAAS;IACtB,kBAAkB,CAAS;IAC3B,UAAU,CAAS;IAC5B,YAA6B,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACjE,IAAI,CAAC,MAAM,GAAG,IAAI,oCAAmB,CAAC;YACpC,QAAQ,EAAE,IAAI,oBAAQ,CAAC;gBACrB,CAAC,iDAA0B,CAAC,YAAY,CAAC,EAAE,MAAM;aAClD,CAAC;SACH,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,sCAAsC;IAC7F,CAAC;IAED,oBAAoB,CAAC,WAAwB,EAAE,IAAY,EAAE,UAAuB;QAClF,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;QAC5F,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,GAAG,CAAS,CAAC;IACvG,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,UAAuB,EAAE,UAAiB;QAChE,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAA,aAAM,EAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC;YACpF,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,GAAG,CAAS,CAAC;QAC/F,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,CAAS,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAU;QAChB,IAAI,CAAC,GAAG,CAAC,IAAA,aAAM,EAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC7D,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAoB,CAAC,CAAC;IACrD,CAAC;CACF;AA3CD,wBA2CC"}
1
+ {"version":3,"file":"traces.js","sourceRoot":"","sources":["../../../src/telemetry/traces.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAwF;AACxF,wDAAoD;AACpD,6DAA4E;AAC5E,8EAAiF;AAEjF,8CAA6C;AAC7C,oCAA4C;AAE5C,MAAa,MAAM;IAIY;IAHZ,MAAM,CAAsB;IACpC,aAAa,CAAS;IACtB,UAAU,CAAS;IAC5B,YAA6B,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACjE,IAAI,CAAC,MAAM,GAAG,IAAI,oCAAmB,CAAC;YACpC,QAAQ,EAAE,IAAI,oBAAQ,CAAC;gBACrB,CAAC,iDAA0B,CAAC,YAAY,CAAC,EAAE,MAAM;aAClD,CAAC;SACH,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,sCAAsC;IAC7F,CAAC;IAED,oBAAoB,CAAC,WAAwB,EAAE,IAAY,EAAE,UAAuB;QAClF,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;QAC5F,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,GAAG,CAAS,CAAC;IACvG,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,UAAuB,EAAE,UAAiB;QAChE,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAA,aAAM,EAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC;YACpF,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,GAAG,CAAS,CAAC;QAC/F,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,CAAS,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAU;QAChB,IAAI,CAAC,GAAG,CAAC,IAAA,aAAM,EAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,wBAAgB,CAAC,OAAO,CAAC;QAC9D,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAoB,CAAC,CAAC;IACrD,CAAC;CACF;AAzCD,wBAyCC"}
@@ -1,5 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  export declare function readFileSync(path: string, encoding?: BufferEncoding): string;
3
+ export declare const globalAppVersion: {
4
+ version: string;
5
+ wasComputed: boolean;
6
+ };
3
7
  export declare const sleepms: (ms: number) => Promise<unknown>;
4
8
  export type ValuesOf<T> = T[keyof T];
5
9
  export declare function findPackageRoot(start: string | string[]): string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";AAMA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,cAAuB,GAAG,MAAM,CAEpF;AAED,eAAO,MAAM,OAAO,OAAQ,MAAM,qBAA0C,CAAC;AAE7E,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAGrC,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAoBhE;AAsCD,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,WAmBlE;AAcD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAWjE;AAED,eAAO,MAAM,QAAQ;kBACL,MAAM;uBAID,OAAO;CAG3B,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAEpD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";AAMA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,cAAuB,GAAG,MAAM,CAEpF;AAED,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AACF,eAAO,MAAM,OAAO,OAAQ,MAAM,qBAA0C,CAAC;AAE7E,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAGrC,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAoBhE;AAsCD,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,WAmBlE;AAcD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAWjE;AAED,eAAO,MAAM,QAAQ;kBACL,MAAM;uBAID,OAAO;CAG3B,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAEpD"}
package/dist/src/utils.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.exhaustiveCheckGuard = exports.DBOSJSON = exports.DBOSReviver = exports.DBOSReplacer = exports.findPackageRoot = exports.sleepms = exports.readFileSync = void 0;
6
+ exports.exhaustiveCheckGuard = exports.DBOSJSON = exports.DBOSReviver = exports.DBOSReplacer = exports.findPackageRoot = exports.sleepms = exports.globalAppVersion = exports.readFileSync = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  /*
@@ -13,6 +13,10 @@ function readFileSync(path, encoding = 'utf8') {
13
13
  return fs_1.default.readFileSync(path, { encoding });
14
14
  }
15
15
  exports.readFileSync = readFileSync;
16
+ exports.globalAppVersion = {
17
+ version: process.env.DBOS__APPVERSION || '', // The one true source of appVersion
18
+ wasComputed: false, // Was app version set or computed? Stored procs don't support computed versions.
19
+ };
16
20
  const sleepms = (ms) => new Promise((r) => setTimeout(r, ms));
17
21
  exports.sleepms = sleepms;
18
22
  // Adapated and translated from from: https://github.com/junosuarez/find-root
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}