@dbos-inc/dbos-sdk 3.6.7-preview → 3.6.10-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.
Files changed (45) hide show
  1. package/dbos-config.schema.json +0 -93
  2. package/dist/dbos-config.schema.json +0 -93
  3. package/dist/src/cli/docker_pg_helper.d.ts +0 -3
  4. package/dist/src/cli/docker_pg_helper.d.ts.map +1 -1
  5. package/dist/src/cli/docker_pg_helper.js +13 -29
  6. package/dist/src/cli/docker_pg_helper.js.map +1 -1
  7. package/dist/src/config.d.ts.map +1 -1
  8. package/dist/src/config.js +0 -7
  9. package/dist/src/config.js.map +1 -1
  10. package/dist/src/datasource.d.ts.map +1 -1
  11. package/dist/src/datasource.js +7 -7
  12. package/dist/src/datasource.js.map +1 -1
  13. package/dist/src/dbos-executor.d.ts +15 -1
  14. package/dist/src/dbos-executor.d.ts.map +1 -1
  15. package/dist/src/dbos-executor.js +10 -11
  16. package/dist/src/dbos-executor.js.map +1 -1
  17. package/dist/src/dbos.d.ts +2 -13
  18. package/dist/src/dbos.d.ts.map +1 -1
  19. package/dist/src/dbos.js +2 -33
  20. package/dist/src/dbos.js.map +1 -1
  21. package/dist/src/telemetry/collector.d.ts +1 -4
  22. package/dist/src/telemetry/collector.d.ts.map +1 -1
  23. package/dist/src/telemetry/collector.js.map +1 -1
  24. package/dist/src/telemetry/exporters.d.ts +3 -7
  25. package/dist/src/telemetry/exporters.d.ts.map +1 -1
  26. package/dist/src/telemetry/exporters.js +27 -10
  27. package/dist/src/telemetry/exporters.js.map +1 -1
  28. package/dist/src/telemetry/logs.d.ts +14 -21
  29. package/dist/src/telemetry/logs.d.ts.map +1 -1
  30. package/dist/src/telemetry/logs.js +155 -90
  31. package/dist/src/telemetry/logs.js.map +1 -1
  32. package/dist/src/telemetry/traces.d.ts +42 -6
  33. package/dist/src/telemetry/traces.d.ts.map +1 -1
  34. package/dist/src/telemetry/traces.js +95 -31
  35. package/dist/src/telemetry/traces.js.map +1 -1
  36. package/dist/src/utils.d.ts +2 -0
  37. package/dist/src/utils.d.ts.map +1 -1
  38. package/dist/src/utils.js +7 -1
  39. package/dist/src/utils.js.map +1 -1
  40. package/dist/tsconfig.tsbuildinfo +1 -1
  41. package/package.json +4 -15
  42. package/dist/src/telemetry/index.d.ts +0 -12
  43. package/dist/src/telemetry/index.d.ts.map +0 -1
  44. package/dist/src/telemetry/index.js +0 -14
  45. package/dist/src/telemetry/index.js.map +0 -1
@@ -1,17 +1,13 @@
1
- import { TelemetrySignal } from './collector';
2
- export interface OTLPExporterConfig {
3
- logsEndpoint?: string[];
4
- tracesEndpoint?: string[];
5
- }
1
+ import { OTLPExporterConfig } from '../dbos-executor';
6
2
  export interface ITelemetryExporter {
7
- export(signal: TelemetrySignal[]): Promise<void>;
3
+ export(signal: object[]): Promise<void>;
8
4
  flush(): Promise<void>;
9
5
  }
10
6
  export declare class TelemetryExporter implements ITelemetryExporter {
11
7
  private readonly tracesExporters;
12
8
  private readonly logsExporters;
13
9
  constructor(config: OTLPExporterConfig);
14
- export(signals: TelemetrySignal[]): Promise<void>;
10
+ export(signals: object[]): Promise<void>;
15
11
  flush(): Promise<void>;
16
12
  }
17
13
  //# sourceMappingURL=exporters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exporters.d.ts","sourceRoot":"","sources":["../../../src/telemetry/exporters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAQ9C,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;gBAE3C,MAAM,EAAE,kBAAkB;IAsBhC,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDjD,KAAK;CAQZ"}
1
+ {"version":3,"file":"exporters.d.ts","sourceRoot":"","sources":["../../../src/telemetry/exporters.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAOtD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAYD,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;gBAE3C,MAAM,EAAE,kBAAkB;IA4BhC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDxC,KAAK;CAWZ"}
@@ -1,38 +1,52 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TelemetryExporter = void 0;
4
- const _1 = require("./");
5
- const exporter_trace_otlp_proto_1 = require("@opentelemetry/exporter-trace-otlp-proto");
6
- const exporter_logs_otlp_proto_1 = require("@opentelemetry/exporter-logs-otlp-proto");
7
- const core_1 = require("@opentelemetry/core");
4
+ const utils_1 = require("../utils");
5
+ function isTraceSignal(signal) {
6
+ // Span is an interface that has a property 'kind'
7
+ return 'kind' in signal;
8
+ }
9
+ function isLogSignal(signal) {
10
+ // LogRecord is an interface that has a property 'severityText' and 'severityNumber'
11
+ return 'severityText' in signal && 'severityNumber' in signal;
12
+ }
8
13
  class TelemetryExporter {
9
14
  tracesExporters = [];
10
15
  logsExporters = [];
11
16
  constructor(config) {
17
+ if (!utils_1.globalParams.enableOTLP) {
18
+ return;
19
+ }
20
+ const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-proto');
21
+ const { OTLPLogExporter } = require('@opentelemetry/exporter-logs-otlp-proto');
12
22
  const tracesSet = new Set(config.tracesEndpoint);
13
23
  for (const endpoint of tracesSet) {
14
- this.tracesExporters.push(new exporter_trace_otlp_proto_1.OTLPTraceExporter({
24
+ this.tracesExporters.push(new OTLPTraceExporter({
15
25
  url: endpoint,
16
26
  }));
17
27
  console.log(`Traces will be exported to ${endpoint}`);
18
28
  }
19
29
  const logsSet = new Set(config.logsEndpoint);
20
30
  for (const endpoint of logsSet) {
21
- this.logsExporters.push(new exporter_logs_otlp_proto_1.OTLPLogExporter({
31
+ this.logsExporters.push(new OTLPLogExporter({
22
32
  url: endpoint,
23
33
  }));
24
34
  console.log(`Logs will be exported to ${endpoint}`);
25
35
  }
26
36
  }
27
37
  async export(signals) {
38
+ if (!utils_1.globalParams.enableOTLP) {
39
+ return;
40
+ }
41
+ const { ExportResultCode } = require('@opentelemetry/core');
28
42
  // Sort out traces and logs
29
43
  const exportSpans = [];
30
44
  const exportLogs = [];
31
45
  signals.forEach((signal) => {
32
- if ((0, _1.isTraceSignal)(signal)) {
46
+ if (isTraceSignal(signal)) {
33
47
  exportSpans.push(signal);
34
48
  }
35
- if ((0, _1.isLogSignal)(signal)) {
49
+ if (isLogSignal(signal)) {
36
50
  exportLogs.push(signal);
37
51
  }
38
52
  });
@@ -42,7 +56,7 @@ class TelemetryExporter {
42
56
  if (exportSpans.length > 0 && this.tracesExporters.length > 0) {
43
57
  const traceExportTask = new Promise((resolve) => {
44
58
  const exportCallback = (results) => {
45
- if (results.code !== core_1.ExportResultCode.SUCCESS) {
59
+ if (results.code !== ExportResultCode.SUCCESS) {
46
60
  console.warn(`Trace export failed: ${results.code}`);
47
61
  console.warn(results);
48
62
  }
@@ -57,7 +71,7 @@ class TelemetryExporter {
57
71
  if (exportLogs.length > 0 && this.logsExporters.length > 0) {
58
72
  const logExportTask = new Promise((resolve) => {
59
73
  const exportCallback = (results) => {
60
- if (results.code !== core_1.ExportResultCode.SUCCESS) {
74
+ if (results.code !== ExportResultCode.SUCCESS) {
61
75
  console.warn(`Log export failed: ${results.code}`);
62
76
  console.warn(results);
63
77
  }
@@ -72,6 +86,9 @@ class TelemetryExporter {
72
86
  await Promise.all(tasks);
73
87
  }
74
88
  async flush() {
89
+ if (!utils_1.globalParams.enableOTLP) {
90
+ return;
91
+ }
75
92
  for (const exporter of this.tracesExporters) {
76
93
  await exporter.forceFlush();
77
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"exporters.js","sourceRoot":"","sources":["../../../src/telemetry/exporters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exporters.js","sourceRoot":"","sources":["../../../src/telemetry/exporters.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,20 @@
1
- import { Logger as IWinstonLogger } from 'winston';
2
- import { Span } from '@opentelemetry/sdk-trace-base';
3
1
  import { TelemetryCollector } from './collector';
2
+ import { LoggerConfig } from '../dbos-executor';
3
+ import { DBOSSpan } from './traces';
4
4
  /*****************/
5
5
  /*****************/
6
- export interface LoggerConfig {
7
- logLevel?: string;
8
- silent?: boolean;
9
- addContextMetadata?: boolean;
10
- forceConsole?: boolean;
11
- }
12
6
  type ContextualMetadata = {
13
- includeContextMetadata: boolean;
14
- span: Span;
7
+ includeContextMetadata?: boolean;
8
+ span?: DBOSSpan;
15
9
  };
16
10
  interface StackTrace {
17
11
  stack?: string;
18
12
  }
19
- export interface IGlobalLogger extends IWinstonLogger {
20
- readonly addContextMetadata: boolean;
21
- readonly logger: IWinstonLogger;
22
- readonly telemetryCollector: TelemetryCollector;
23
- }
24
13
  export declare class GlobalLogger {
25
14
  private readonly telemetryCollector?;
26
15
  private readonly logger;
27
16
  readonly addContextMetadata: boolean;
28
17
  private isLogging;
29
- private readonly otlpTransport?;
30
18
  constructor(telemetryCollector?: TelemetryCollector | undefined, config?: LoggerConfig);
31
19
  info(logEntry: unknown, metadata?: ContextualMetadata): void;
32
20
  debug(logEntry: unknown, metadata?: ContextualMetadata): void;
@@ -44,16 +32,21 @@ export interface DLogger {
44
32
  }
45
33
  export declare class DBOSContextualLogger implements DLogger {
46
34
  private readonly globalLogger;
47
- readonly ctx: () => Span;
35
+ readonly ctx: () => DBOSSpan | undefined;
48
36
  readonly includeContextMetadata: boolean;
49
- constructor(globalLogger: GlobalLogger, ctx: () => Span);
37
+ constructor(globalLogger: GlobalLogger, ctx: () => DBOSSpan | undefined);
50
38
  info(logEntry: unknown, metadata?: ContextualMetadata): void;
51
39
  debug(logEntry: unknown, metadata?: ContextualMetadata): void;
52
40
  warn(logEntry: unknown, metadata?: ContextualMetadata): void;
53
41
  error(inputError: unknown, metadata?: ContextualMetadata & StackTrace): void;
54
42
  }
55
- /***********************/
56
- /***********************/
57
- export declare const consoleFormat: import("logform").Format;
43
+ export declare class DBOSConsoleLogger implements DLogger {
44
+ readonly config: LoggerConfig;
45
+ constructor(config: LoggerConfig);
46
+ info(logEntry: unknown, _metadata?: ContextualMetadata): void;
47
+ debug(logEntry: unknown, _metadata?: ContextualMetadata): void;
48
+ warn(logEntry: unknown, _metadata?: ContextualMetadata): void;
49
+ error(inputError: unknown, metadata?: ContextualMetadata & StackTrace): void;
50
+ }
58
51
  export {};
59
52
  //# sourceMappingURL=logs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/telemetry/logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/telemetry/logs.ts"],"names":[],"mappings":"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"}
@@ -1,43 +1,140 @@
1
1
  "use strict";
2
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
3
+ /* eslint-disable @typescript-eslint/no-unsafe-call */
2
4
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.consoleFormat = exports.DBOSContextualLogger = exports.GlobalLogger = void 0;
4
- const winston_1 = require("winston");
5
- const TransportStream = require("winston-transport"); // eslint-disable-line @typescript-eslint/no-require-imports
6
- const api_logs_1 = require("@opentelemetry/api-logs");
7
- const sdk_logs_1 = require("@opentelemetry/sdk-logs");
5
+ exports.DBOSConsoleLogger = exports.DBOSContextualLogger = exports.GlobalLogger = void 0;
8
6
  const utils_1 = require("../utils");
7
+ // As DBOS OTLP is optional, OTLP objects must only be dynamically imported
8
+ // and only when OTLP is enabled. Importing OTLP types is fine as long
9
+ // as signatures using those types are not exported from this file.
10
+ var SeverityNumber;
11
+ (function (SeverityNumber) {
12
+ SeverityNumber[SeverityNumber["UNSPECIFIED"] = 0] = "UNSPECIFIED";
13
+ SeverityNumber[SeverityNumber["TRACE"] = 1] = "TRACE";
14
+ SeverityNumber[SeverityNumber["TRACE2"] = 2] = "TRACE2";
15
+ SeverityNumber[SeverityNumber["TRACE3"] = 3] = "TRACE3";
16
+ SeverityNumber[SeverityNumber["TRACE4"] = 4] = "TRACE4";
17
+ SeverityNumber[SeverityNumber["DEBUG"] = 5] = "DEBUG";
18
+ SeverityNumber[SeverityNumber["DEBUG2"] = 6] = "DEBUG2";
19
+ SeverityNumber[SeverityNumber["DEBUG3"] = 7] = "DEBUG3";
20
+ SeverityNumber[SeverityNumber["DEBUG4"] = 8] = "DEBUG4";
21
+ SeverityNumber[SeverityNumber["INFO"] = 9] = "INFO";
22
+ SeverityNumber[SeverityNumber["INFO2"] = 10] = "INFO2";
23
+ SeverityNumber[SeverityNumber["INFO3"] = 11] = "INFO3";
24
+ SeverityNumber[SeverityNumber["INFO4"] = 12] = "INFO4";
25
+ SeverityNumber[SeverityNumber["WARN"] = 13] = "WARN";
26
+ SeverityNumber[SeverityNumber["WARN2"] = 14] = "WARN2";
27
+ SeverityNumber[SeverityNumber["WARN3"] = 15] = "WARN3";
28
+ SeverityNumber[SeverityNumber["WARN4"] = 16] = "WARN4";
29
+ SeverityNumber[SeverityNumber["ERROR"] = 17] = "ERROR";
30
+ SeverityNumber[SeverityNumber["ERROR2"] = 18] = "ERROR2";
31
+ SeverityNumber[SeverityNumber["ERROR3"] = 19] = "ERROR3";
32
+ SeverityNumber[SeverityNumber["ERROR4"] = 20] = "ERROR4";
33
+ SeverityNumber[SeverityNumber["FATAL"] = 21] = "FATAL";
34
+ SeverityNumber[SeverityNumber["FATAL2"] = 22] = "FATAL2";
35
+ SeverityNumber[SeverityNumber["FATAL3"] = 23] = "FATAL3";
36
+ SeverityNumber[SeverityNumber["FATAL4"] = 24] = "FATAL4";
37
+ })(SeverityNumber || (SeverityNumber = {}));
9
38
  class GlobalLogger {
10
39
  telemetryCollector;
11
40
  logger;
12
41
  addContextMetadata;
13
42
  isLogging = false; // Prevent recursive logging
14
- otlpTransport;
15
43
  constructor(telemetryCollector, config) {
16
44
  this.telemetryCollector = telemetryCollector;
45
+ this.addContextMetadata = config?.addContextMetadata || false;
46
+ if (!utils_1.globalParams.enableOTLP) {
47
+ this.logger = new DBOSConsoleLogger(config ?? {});
48
+ return;
49
+ }
50
+ const TransportStream = require('winston-transport');
51
+ class OTLPLogQueueTransport extends TransportStream {
52
+ telemetryCollector;
53
+ name = 'OTLPLogQueueTransport';
54
+ otelLogger;
55
+ applicationID;
56
+ executorID;
57
+ constructor(telemetryCollector, logLevel) {
58
+ super();
59
+ this.telemetryCollector = telemetryCollector;
60
+ this.level = logLevel;
61
+ // not sure if we need a more explicit name here
62
+ const { LoggerProvider } = require('@opentelemetry/sdk-logs');
63
+ const loggerProvider = new LoggerProvider();
64
+ this.otelLogger = loggerProvider.getLogger('default');
65
+ this.applicationID = utils_1.globalParams.appID;
66
+ this.executorID = utils_1.globalParams.executorID;
67
+ const logRecordProcessor = {
68
+ forceFlush: async () => {
69
+ // no-op
70
+ },
71
+ onEmit(logRecord) {
72
+ telemetryCollector.push(logRecord);
73
+ },
74
+ shutdown: async () => {
75
+ // no-op
76
+ },
77
+ };
78
+ loggerProvider.addLogRecordProcessor(logRecordProcessor);
79
+ }
80
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
81
+ log(info, callback) {
82
+ const { level, message, stack, span } = info;
83
+ const levelToSeverityNumber = {
84
+ error: SeverityNumber.ERROR,
85
+ warn: SeverityNumber.WARN,
86
+ info: SeverityNumber.INFO,
87
+ debug: SeverityNumber.DEBUG,
88
+ };
89
+ // Ideally we want to give the spanContext to the logRecord,
90
+ // But there seems to some dependency bugs in opentelemetry-js
91
+ // (span.getValue(SPAN_KEY) undefined when we pass the context, as commented bellow)
92
+ // So for now we get the traceId and spanId directly from the context and pass them through the logRecord attributes
93
+ this.otelLogger.emit({
94
+ severityNumber: levelToSeverityNumber[level],
95
+ severityText: level,
96
+ body: message,
97
+ timestamp: performance.now(), // So far I don't see a major difference between this and observedTimestamp
98
+ observedTimestamp: performance.now(),
99
+ attributes: {
100
+ ...span?.attributes,
101
+ traceId: span?.spanContext()?.traceId,
102
+ spanId: span?.spanContext()?.spanId,
103
+ stack,
104
+ applicationID: this.applicationID,
105
+ applicationVersion: utils_1.globalParams.appVersion,
106
+ executorID: this.executorID,
107
+ },
108
+ });
109
+ callback();
110
+ }
111
+ }
112
+ // Import Winston dependencies only when OTLP is enabled
113
+ const { transports, createLogger } = require('winston');
17
114
  const winstonTransports = [];
18
- winstonTransports.push(new winston_1.transports.Console({
19
- format: exports.consoleFormat,
115
+ winstonTransports.push(new transports.Console({
116
+ format: getConsoleFormat(),
20
117
  level: config?.logLevel || 'info',
21
118
  silent: config?.silent || false,
22
119
  forceConsole: config?.forceConsole || false,
23
120
  }));
121
+ let otlpTransport = undefined;
24
122
  // Only enable the OTLP transport if we have a telemetry collector and an exporter
25
- if (this.telemetryCollector?.exporter) {
26
- this.otlpTransport = new OTLPLogQueueTransport(this.telemetryCollector, config?.logLevel || 'info');
27
- winstonTransports.push(this.otlpTransport);
123
+ if (utils_1.globalParams.enableOTLP && this.telemetryCollector?.exporter) {
124
+ otlpTransport = new OTLPLogQueueTransport(this.telemetryCollector, config?.logLevel || 'info');
125
+ winstonTransports.push(otlpTransport);
28
126
  }
29
- this.logger = (0, winston_1.createLogger)({ transports: winstonTransports });
30
- this.addContextMetadata = config?.addContextMetadata || false;
31
- if (process.env.DBOS__CAPTURE_STD !== 'false' && this.telemetryCollector?.exporter) {
127
+ this.logger = createLogger({ transports: winstonTransports });
128
+ if (utils_1.globalParams.enableOTLP && process.env.DBOS__CAPTURE_STD !== 'false' && this.telemetryCollector?.exporter) {
32
129
  (0, utils_1.interceptStreams)((msg, stream) => {
33
130
  if (stream === 'stdout') {
34
131
  if (!this.isLogging) {
35
- this.otlpTransport?.log({ level: 'info', message: msg.trim() }, () => { });
132
+ otlpTransport?.log({ level: 'info', message: msg.trim() }, () => { });
36
133
  }
37
134
  }
38
135
  else {
39
136
  if (!this.isLogging) {
40
- this.otlpTransport?.log({ level: 'error', message: msg.trim(), stack: new Error().stack }, () => { });
137
+ otlpTransport?.log({ level: 'error', message: msg.trim(), stack: new Error().stack }, () => { });
41
138
  }
42
139
  }
43
140
  });
@@ -132,82 +229,50 @@ class DBOSContextualLogger {
132
229
  }
133
230
  }
134
231
  exports.DBOSContextualLogger = DBOSContextualLogger;
232
+ class DBOSConsoleLogger {
233
+ config;
234
+ constructor(config) {
235
+ this.config = config;
236
+ }
237
+ info(logEntry, _metadata) {
238
+ console.log(logEntry);
239
+ }
240
+ debug(logEntry, _metadata) {
241
+ if (this.config.logLevel === 'debug') {
242
+ console.debug(logEntry);
243
+ }
244
+ }
245
+ warn(logEntry, _metadata) {
246
+ console.warn(logEntry);
247
+ }
248
+ error(inputError, metadata) {
249
+ if (inputError instanceof Error) {
250
+ console.error(inputError);
251
+ }
252
+ else if (metadata?.stack) {
253
+ console.error(inputError, '\n', metadata.stack);
254
+ }
255
+ else {
256
+ console.error(inputError);
257
+ }
258
+ }
259
+ }
260
+ exports.DBOSConsoleLogger = DBOSConsoleLogger;
135
261
  /***********************/
136
262
  /* FORMAT & TRANSPORTS */
137
263
  /***********************/
138
- exports.consoleFormat = winston_1.format.combine(winston_1.format.errors({ stack: true }), winston_1.format.timestamp(), winston_1.format.colorize(), winston_1.format.printf((info) => {
139
- const { timestamp, level, message, stack } = info;
140
- const applicationVersion = utils_1.globalParams.appVersion;
141
- const ts = typeof timestamp === 'string' ? timestamp.slice(0, 19).replace('T', ' ') : undefined;
142
- const formattedStack = typeof stack === 'string' ? stack?.split('\n').slice(1).join('\n') : undefined;
143
- const messageString = typeof message === 'string' ? message : utils_1.DBOSJSON.stringify(message);
144
- const fullMessageString = `${messageString}${info.includeContextMetadata ? ` ${utils_1.DBOSJSON.stringify(info.span?.attributes)}` : ''}`;
145
- const versionString = applicationVersion ? ` [version ${applicationVersion}]` : '';
146
- return `${ts}${versionString} [${level}]: ${fullMessageString} ${stack ? '\n' + formattedStack : ''}`;
147
- }));
148
- class OTLPLogQueueTransport extends TransportStream {
149
- telemetryCollector;
150
- name = 'OTLPLogQueueTransport';
151
- otelLogger;
152
- applicationID;
153
- executorID;
154
- constructor(telemetryCollector, logLevel) {
155
- super();
156
- this.telemetryCollector = telemetryCollector;
157
- this.level = logLevel;
158
- // not sure if we need a more explicit name here
159
- const loggerProvider = new sdk_logs_1.LoggerProvider();
160
- this.otelLogger = loggerProvider.getLogger('default');
161
- this.applicationID = utils_1.globalParams.appID;
162
- this.executorID = utils_1.globalParams.executorID;
163
- const logRecordProcessor = {
164
- forceFlush: async () => {
165
- // no-op
166
- },
167
- onEmit(logRecord) {
168
- telemetryCollector.push(logRecord);
169
- },
170
- shutdown: async () => {
171
- // no-op
172
- },
173
- };
174
- loggerProvider.addLogRecordProcessor(logRecordProcessor);
175
- }
176
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
177
- log(info, callback) {
178
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
179
- const { level, message, stack, span } = info;
180
- const levelToSeverityNumber = {
181
- error: api_logs_1.SeverityNumber.ERROR,
182
- warn: api_logs_1.SeverityNumber.WARN,
183
- info: api_logs_1.SeverityNumber.INFO,
184
- debug: api_logs_1.SeverityNumber.DEBUG,
185
- };
186
- // Ideally we want to give the spanContext to the logRecord,
187
- // But there seems to some dependency bugs in opentelemetry-js
188
- // (span.getValue(SPAN_KEY) undefined when we pass the context, as commented bellow)
189
- // So for now we get the traceId and spanId directly from the context and pass them through the logRecord attributes
190
- this.otelLogger.emit({
191
- severityNumber: levelToSeverityNumber[level],
192
- severityText: level,
193
- body: message,
194
- timestamp: performance.now(), // So far I don't see a major difference between this and observedTimestamp
195
- observedTimestamp: performance.now(),
196
- attributes: {
197
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
198
- ...span?.attributes,
199
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
200
- traceId: span?.spanContext()?.traceId,
201
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
202
- spanId: span?.spanContext()?.spanId,
203
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
204
- stack,
205
- applicationID: this.applicationID,
206
- applicationVersion: utils_1.globalParams.appVersion,
207
- executorID: this.executorID,
208
- },
209
- });
210
- callback();
211
- }
264
+ // Lazily create the console format only when Winston is used
265
+ function getConsoleFormat() {
266
+ const { format } = require('winston');
267
+ return format.combine(format.errors({ stack: true }), format.timestamp(), format.colorize(), format.printf((info) => {
268
+ const { timestamp, level, message, stack } = info;
269
+ const applicationVersion = utils_1.globalParams.appVersion;
270
+ const ts = typeof timestamp === 'string' ? timestamp.slice(0, 19).replace('T', ' ') : undefined;
271
+ const formattedStack = typeof stack === 'string' ? stack?.split('\n').slice(1).join('\n') : undefined;
272
+ const messageString = typeof message === 'string' ? message : utils_1.DBOSJSON.stringify(message);
273
+ const fullMessageString = `${messageString}${info.includeContextMetadata ? ` ${utils_1.DBOSJSON.stringify(info.span?.attributes)}` : ''}`;
274
+ const versionString = applicationVersion ? ` [version ${applicationVersion}]` : '';
275
+ return `${ts}${versionString} [${level}]: ${fullMessageString} ${stack ? '\n' + formattedStack : ''}`;
276
+ }));
212
277
  }
213
278
  //# sourceMappingURL=logs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/telemetry/logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/telemetry/logs.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,52 @@
1
- import { Span } from '@opentelemetry/sdk-trace-base';
2
- import { Attributes, SpanContext } from '@opentelemetry/api';
3
1
  import { TelemetryCollector } from './collector';
2
+ interface Attributes {
3
+ [attributeKey: string]: AttributeValue | undefined;
4
+ }
5
+ /**
6
+ * Attribute values may be any non-nullish primitive value except an object.
7
+ *
8
+ * null or undefined attribute values are invalid and will result in undefined behavior.
9
+ */
10
+ declare type AttributeValue = string | number | boolean | Array<null | undefined | string> | Array<null | undefined | number> | Array<null | undefined | boolean>;
11
+ export declare enum SpanStatusCode {
12
+ /**
13
+ * The default status.
14
+ */
15
+ UNSET = 0,
16
+ /**
17
+ * The operation has been validated by an Application developer or
18
+ * Operator to have completed successfully.
19
+ */
20
+ OK = 1,
21
+ /**
22
+ * The operation contains an error.
23
+ */
24
+ ERROR = 2
25
+ }
26
+ interface SpanStatus {
27
+ /** The status code of this message. */
28
+ code: SpanStatusCode;
29
+ /** A developer-facing error message. */
30
+ message?: string;
31
+ }
32
+ export type DBOSSpan = {
33
+ setStatus(status: SpanStatus): DBOSSpan;
34
+ attributes: Attributes;
35
+ setAttribute(key: string, attribute: AttributeValue): DBOSSpan;
36
+ addEvent(name: string, attributesOrStartTime?: Attributes, timeStamp?: number): DBOSSpan;
37
+ };
38
+ export declare function runWithTrace<R>(span: DBOSSpan, func: () => Promise<R>): Promise<R>;
39
+ export declare function getActiveSpan(): DBOSSpan | undefined;
4
40
  export declare function isTraceContextWorking(): boolean;
5
41
  export declare function installTraceContextManager(): void;
6
42
  export declare class Tracer {
7
43
  private readonly telemetryCollector;
8
- private readonly tracer;
9
44
  readonly applicationID: string;
10
45
  readonly executorID: string;
11
46
  constructor(telemetryCollector: TelemetryCollector);
12
- startSpanWithContext(spanContext: SpanContext, name: string, attributes?: Attributes): Span;
13
- startSpan(name: string, attributes?: Attributes, parentSpan?: Span): Span;
14
- endSpan(span: Span): void;
47
+ startSpanWithContext(spanContext: unknown, name: string, attributes?: Attributes): DBOSSpan;
48
+ startSpan(name: string, attributes?: Attributes, inputSpan?: DBOSSpan): DBOSSpan;
49
+ endSpan(inputSpan: DBOSSpan): void;
15
50
  }
51
+ export {};
16
52
  //# sourceMappingURL=traces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"traces.d.ts","sourceRoot":"","sources":["../../../src/telemetry/traces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAExF,OAAsB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAOjD,wBAAgB,qBAAqB,IAAI,OAAO,CAW/C;AAED,wBAAgB,0BAA0B,SAOzC;AAED,qBAAa,MAAM;IAIL,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAH/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBACC,kBAAkB,EAAE,kBAAkB;IAWnE,oBAAoB,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI;IAM3F,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI;IAWzE,OAAO,CAAC,IAAI,EAAE,IAAI;CAWnB"}
1
+ {"version":3,"file":"traces.d.ts","sourceRoot":"","sources":["../../../src/telemetry/traces.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAOjD,UAAU,UAAU;IAClB,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;CACpD;AACD;;;;GAIG;AACH,OAAO,MAAM,cAAc,GACvB,MAAM,GACN,MAAM,GACN,OAAO,GACP,KAAK,CAAC,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,GAChC,KAAK,CAAC,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,GAChC,KAAK,CAAC,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC;AAEtC,oBAAY,cAAc;IACxB;;OAEG;IACH,KAAK,IAAI;IACT;;;OAGG;IACH,EAAE,IAAI;IACN;;OAEG;IACH,KAAK,IAAI;CACV;AAED,UAAU,UAAU;IAClB,uCAAuC;IACvC,IAAI,EAAE,cAAc,CAAC;IACrB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC;IACxC,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,QAAQ,CAAC;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC1F,CAAC;AAkBF,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAMlF;AAED,wBAAgB,aAAa,yBAM5B;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAe/C;AAED,wBAAgB,0BAA0B,SAczC;AAED,qBAAa,MAAM;IAGL,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAF/C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBACC,kBAAkB,EAAE,kBAAkB;IAiBnE,oBAAoB,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,QAAQ;IAU3F,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ;IAiBhF,OAAO,CAAC,SAAS,EAAE,QAAQ;CAgB5B"}