@temporalio/interceptors-opentelemetry 1.13.1 → 1.14.0
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.
- package/{LICENSE.md → LICENSE} +6 -8
- package/lib/client/index.d.ts +9 -1
- package/lib/client/index.js +122 -3
- package/lib/client/index.js.map +1 -1
- package/lib/instrumentation.d.ts +21 -3
- package/lib/instrumentation.js +52 -12
- package/lib/instrumentation.js.map +1 -1
- package/lib/worker/index.d.ts +8 -7
- package/lib/worker/index.js +29 -4
- package/lib/worker/index.js.map +1 -1
- package/lib/workflow/context-manager.d.ts +2 -1
- package/lib/workflow/context-manager.js +8 -2
- package/lib/workflow/context-manager.js.map +1 -1
- package/lib/workflow/definitions.d.ts +45 -1
- package/lib/workflow/definitions.js +44 -0
- package/lib/workflow/definitions.js.map +1 -1
- package/lib/workflow/index.d.ts +12 -1
- package/lib/workflow/index.js +112 -12
- package/lib/workflow/index.js.map +1 -1
- package/lib/workflow/runtime.js +3 -2
- package/lib/workflow/runtime.js.map +1 -1
- package/lib/workflow/span-exporter.d.ts +1 -0
- package/lib/workflow/span-exporter.js +5 -25
- package/lib/workflow/span-exporter.js.map +1 -1
- package/lib/workflow/workflow-module-loader.d.ts +28 -0
- package/lib/workflow/workflow-module-loader.js +56 -0
- package/lib/workflow/workflow-module-loader.js.map +1 -0
- package/package.json +18 -16
- package/src/client/index.ts +178 -5
- package/src/instrumentation.ts +62 -11
- package/src/worker/index.ts +48 -13
- package/src/workflow/context-manager.ts +13 -5
- package/src/workflow/definitions.ts +54 -0
- package/src/workflow/index.ts +146 -12
- package/src/workflow/runtime.ts +4 -2
- package/src/workflow/span-exporter.ts +7 -3
- package/src/workflow/workflow-module-loader.ts +64 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/workflow/definitions.ts"],"names":[],"mappings":";;;AAwCA,IAAY,
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/workflow/definitions.ts"],"names":[],"mappings":";;;AAwCA,IAAY,QA0FX;AA1FD,WAAY,QAAQ;IAClB;;OAEG;IACH,4CAAgC,CAAA;IAEhC;;OAEG;IACH,8CAAkC,CAAA;IAElC;;OAEG;IACH,kEAAsD,CAAA;IAEtD;;OAEG;IACH,4CAAgC,CAAA;IAEhC;;OAEG;IACH,yDAA6C,CAAA;IAE7C;;OAEG;IACH,kEAAsD,CAAA;IAEtD;;OAEG;IACH,mDAAuC,CAAA;IAEvC;;OAEG;IACH,iDAAqC,CAAA;IAErC;;OAEG;IACH,mDAAuC,CAAA;IAEvC;;OAEG;IACH,uDAA2C,CAAA;IAE3C;;OAEG;IACH,oDAAwC,CAAA;IAExC;;OAEG;IACH,8CAAkC,CAAA;IAElC;;OAEG;IACH,kDAAsC,CAAA;IAEtC;;OAEG;IACH,4CAAgC,CAAA;IAChC;;OAEG;IACH,uDAA2C,CAAA;IAC3C;;OAEG;IACH,4CAAgC,CAAA;IAChC;;OAEG;IACH,4CAAgC,CAAA;IAChC;;OAEG;IACH,6CAAiC,CAAA;IACjC;;OAEG;IACH,yDAA6C,CAAA;AAC/C,CAAC,EA1FW,QAAQ,wBAAR,QAAQ,QA0FnB;AAEY,QAAA,cAAc,GAAG,GAAG,CAAC"}
|
package/lib/workflow/index.d.ts
CHANGED
|
@@ -1,31 +1,42 @@
|
|
|
1
1
|
import './runtime';
|
|
2
2
|
import * as otel from '@opentelemetry/api';
|
|
3
|
-
import { ActivityInput, ContinueAsNewInput, DisposeInput, GetLogAttributesInput, LocalActivityInput, Next, SignalInput, SignalWorkflowInput, StartChildWorkflowExecutionInput, WorkflowExecuteInput, WorkflowInboundCallsInterceptor, WorkflowInternalsInterceptor, WorkflowOutboundCallsInterceptor } from '@temporalio/workflow';
|
|
3
|
+
import type { ActivityInput, ContinueAsNewInput, DisposeInput, GetLogAttributesInput, GetMetricTagsInput, LocalActivityInput, Next, QueryInput, SignalInput, SignalWorkflowInput, StartChildWorkflowExecutionInput, UpdateInput, WorkflowExecuteInput, WorkflowInboundCallsInterceptor, WorkflowInternalsInterceptor, WorkflowOutboundCallsInterceptor, StartNexusOperationInput, StartNexusOperationOutput } from '@temporalio/workflow';
|
|
4
4
|
export * from './definitions';
|
|
5
5
|
/**
|
|
6
6
|
* Intercepts calls to run a Workflow
|
|
7
7
|
*
|
|
8
8
|
* Wraps the operation in an opentelemetry Span and links it to a parent Span context if one is
|
|
9
9
|
* provided in the Workflow input headers.
|
|
10
|
+
*
|
|
11
|
+
* `@temporalio/workflow` must be provided by host package in order to function.
|
|
10
12
|
*/
|
|
11
13
|
export declare class OpenTelemetryInboundInterceptor implements WorkflowInboundCallsInterceptor {
|
|
12
14
|
protected readonly tracer: otel.Tracer;
|
|
15
|
+
constructor();
|
|
13
16
|
execute(input: WorkflowExecuteInput, next: Next<WorkflowInboundCallsInterceptor, 'execute'>): Promise<unknown>;
|
|
14
17
|
handleSignal(input: SignalInput, next: Next<WorkflowInboundCallsInterceptor, 'handleSignal'>): Promise<void>;
|
|
18
|
+
handleUpdate(input: UpdateInput, next: Next<WorkflowInboundCallsInterceptor, 'handleUpdate'>): Promise<unknown>;
|
|
19
|
+
validateUpdate(input: UpdateInput, next: Next<WorkflowInboundCallsInterceptor, 'validateUpdate'>): void;
|
|
20
|
+
handleQuery(input: QueryInput, next: Next<WorkflowInboundCallsInterceptor, 'handleQuery'>): Promise<unknown>;
|
|
15
21
|
}
|
|
16
22
|
/**
|
|
17
23
|
* Intercepts outbound calls to schedule an Activity
|
|
18
24
|
*
|
|
19
25
|
* Wraps the operation in an opentelemetry Span and passes it to the Activity via headers.
|
|
26
|
+
*
|
|
27
|
+
* `@temporalio/workflow` must be provided by host package in order to function.
|
|
20
28
|
*/
|
|
21
29
|
export declare class OpenTelemetryOutboundInterceptor implements WorkflowOutboundCallsInterceptor {
|
|
22
30
|
protected readonly tracer: otel.Tracer;
|
|
31
|
+
constructor();
|
|
23
32
|
scheduleActivity(input: ActivityInput, next: Next<WorkflowOutboundCallsInterceptor, 'scheduleActivity'>): Promise<unknown>;
|
|
24
33
|
scheduleLocalActivity(input: LocalActivityInput, next: Next<WorkflowOutboundCallsInterceptor, 'scheduleLocalActivity'>): Promise<unknown>;
|
|
34
|
+
startNexusOperation(input: StartNexusOperationInput, next: Next<WorkflowOutboundCallsInterceptor, 'startNexusOperation'>): Promise<StartNexusOperationOutput>;
|
|
25
35
|
startChildWorkflowExecution(input: StartChildWorkflowExecutionInput, next: Next<WorkflowOutboundCallsInterceptor, 'startChildWorkflowExecution'>): Promise<[Promise<string>, Promise<unknown>]>;
|
|
26
36
|
continueAsNew(input: ContinueAsNewInput, next: Next<WorkflowOutboundCallsInterceptor, 'continueAsNew'>): Promise<never>;
|
|
27
37
|
signalWorkflow(input: SignalWorkflowInput, next: Next<WorkflowOutboundCallsInterceptor, 'signalWorkflow'>): Promise<void>;
|
|
28
38
|
getLogAttributes(input: GetLogAttributesInput, next: Next<WorkflowOutboundCallsInterceptor, 'getLogAttributes'>): Record<string, unknown>;
|
|
39
|
+
getMetricTags(input: GetMetricTagsInput, next: Next<WorkflowOutboundCallsInterceptor, 'getMetricTags'>): GetMetricTagsInput;
|
|
29
40
|
}
|
|
30
41
|
export declare class OpenTelemetryInternalsInterceptor implements WorkflowInternalsInterceptor {
|
|
31
42
|
dispose(input: DisposeInput, next: Next<WorkflowInternalsInterceptor, 'dispose'>): Promise<void>;
|
package/lib/workflow/index.js
CHANGED
|
@@ -32,11 +32,11 @@ exports.OpenTelemetryInternalsInterceptor = exports.OpenTelemetryOutboundInterce
|
|
|
32
32
|
require("./runtime"); // Patch the Workflow isolate runtime for opentelemetry
|
|
33
33
|
const otel = __importStar(require("@opentelemetry/api"));
|
|
34
34
|
const tracing = __importStar(require("@opentelemetry/sdk-trace-base"));
|
|
35
|
-
const workflow_1 = require("@temporalio/workflow");
|
|
36
35
|
const instrumentation_1 = require("../instrumentation");
|
|
37
36
|
const context_manager_1 = require("./context-manager");
|
|
38
37
|
const definitions_1 = require("./definitions");
|
|
39
38
|
const span_exporter_1 = require("./span-exporter");
|
|
39
|
+
const workflow_module_loader_1 = require("./workflow-module-loader");
|
|
40
40
|
__exportStar(require("./definitions"), exports);
|
|
41
41
|
let tracer = undefined;
|
|
42
42
|
let contextManager = undefined;
|
|
@@ -57,24 +57,76 @@ function getTracer() {
|
|
|
57
57
|
*
|
|
58
58
|
* Wraps the operation in an opentelemetry Span and links it to a parent Span context if one is
|
|
59
59
|
* provided in the Workflow input headers.
|
|
60
|
+
*
|
|
61
|
+
* `@temporalio/workflow` must be provided by host package in order to function.
|
|
60
62
|
*/
|
|
61
63
|
class OpenTelemetryInboundInterceptor {
|
|
62
64
|
tracer = getTracer();
|
|
65
|
+
constructor() {
|
|
66
|
+
(0, workflow_module_loader_1.ensureWorkflowModuleLoaded)();
|
|
67
|
+
}
|
|
63
68
|
async execute(input, next) {
|
|
64
|
-
const
|
|
69
|
+
const { workflowInfo, ContinueAsNew } = (0, workflow_module_loader_1.getWorkflowModule)();
|
|
70
|
+
const context = (0, instrumentation_1.extractContextFromHeaders)(input.headers);
|
|
71
|
+
if (!(0, workflow_module_loader_1.hasSdkFlag)('OpenTelemetryInterceporsAvoidsExtraYields'))
|
|
72
|
+
await Promise.resolve();
|
|
65
73
|
return await (0, instrumentation_1.instrument)({
|
|
66
74
|
tracer: this.tracer,
|
|
67
|
-
spanName: `${definitions_1.SpanName.WORKFLOW_EXECUTE}${definitions_1.SPAN_DELIMITER}${
|
|
75
|
+
spanName: `${definitions_1.SpanName.WORKFLOW_EXECUTE}${definitions_1.SPAN_DELIMITER}${workflowInfo().workflowType}`,
|
|
68
76
|
fn: () => next(input),
|
|
69
77
|
context,
|
|
70
|
-
acceptableErrors: (err) => err instanceof
|
|
78
|
+
acceptableErrors: (err) => err instanceof ContinueAsNew,
|
|
71
79
|
});
|
|
72
80
|
}
|
|
73
81
|
async handleSignal(input, next) {
|
|
74
|
-
|
|
82
|
+
// Tracing of inbound signals was added in v1.11.5.
|
|
83
|
+
if (!(0, workflow_module_loader_1.hasSdkFlag)('OpenTelemetryInterceptorsTracesInboundSignals'))
|
|
84
|
+
return next(input);
|
|
85
|
+
const context = (0, instrumentation_1.extractContextFromHeaders)(input.headers);
|
|
86
|
+
if (!(0, workflow_module_loader_1.hasSdkFlag)('OpenTelemetryInterceporsAvoidsExtraYields'))
|
|
87
|
+
await Promise.resolve();
|
|
75
88
|
return await (0, instrumentation_1.instrument)({
|
|
76
89
|
tracer: this.tracer,
|
|
77
|
-
spanName: `${definitions_1.SpanName.
|
|
90
|
+
spanName: `${definitions_1.SpanName.WORKFLOW_HANDLE_SIGNAL}${definitions_1.SPAN_DELIMITER}${input.signalName}`,
|
|
91
|
+
fn: () => next(input),
|
|
92
|
+
context,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
async handleUpdate(input, next) {
|
|
96
|
+
if (!(0, workflow_module_loader_1.hasSdkFlag)('OpenTelemetryInterceptorsInstrumentsAllMethods'))
|
|
97
|
+
return next(input);
|
|
98
|
+
const context = (0, instrumentation_1.extractContextFromHeaders)(input.headers);
|
|
99
|
+
return await (0, instrumentation_1.instrument)({
|
|
100
|
+
tracer: this.tracer,
|
|
101
|
+
spanName: `${definitions_1.SpanName.WORKFLOW_HANDLE_UPDATE}${definitions_1.SPAN_DELIMITER}${input.name}`,
|
|
102
|
+
fn: (span) => {
|
|
103
|
+
span.setAttribute(instrumentation_1.UPDATE_ID_ATTR_KEY, input.updateId);
|
|
104
|
+
return next(input);
|
|
105
|
+
},
|
|
106
|
+
context,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
validateUpdate(input, next) {
|
|
110
|
+
if (!(0, workflow_module_loader_1.hasSdkFlag)('OpenTelemetryInterceptorsInstrumentsAllMethods'))
|
|
111
|
+
return next(input);
|
|
112
|
+
const context = (0, instrumentation_1.extractContextFromHeaders)(input.headers);
|
|
113
|
+
(0, instrumentation_1.instrumentSync)({
|
|
114
|
+
tracer: this.tracer,
|
|
115
|
+
spanName: `${definitions_1.SpanName.WORKFLOW_VALIDATE_UPDATE}${definitions_1.SPAN_DELIMITER}${input.name}`,
|
|
116
|
+
fn: (span) => {
|
|
117
|
+
span.setAttribute(instrumentation_1.UPDATE_ID_ATTR_KEY, input.updateId);
|
|
118
|
+
return next(input);
|
|
119
|
+
},
|
|
120
|
+
context,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
async handleQuery(input, next) {
|
|
124
|
+
if (!(0, workflow_module_loader_1.hasSdkFlag)('OpenTelemetryInterceptorsInstrumentsAllMethods'))
|
|
125
|
+
return next(input);
|
|
126
|
+
const context = (0, instrumentation_1.extractContextFromHeaders)(input.headers);
|
|
127
|
+
return await (0, instrumentation_1.instrument)({
|
|
128
|
+
tracer: this.tracer,
|
|
129
|
+
spanName: `${definitions_1.SpanName.WORKFLOW_HANDLE_QUERY}${definitions_1.SPAN_DELIMITER}${input.queryName}`,
|
|
78
130
|
fn: () => next(input),
|
|
79
131
|
context,
|
|
80
132
|
});
|
|
@@ -85,15 +137,22 @@ exports.OpenTelemetryInboundInterceptor = OpenTelemetryInboundInterceptor;
|
|
|
85
137
|
* Intercepts outbound calls to schedule an Activity
|
|
86
138
|
*
|
|
87
139
|
* Wraps the operation in an opentelemetry Span and passes it to the Activity via headers.
|
|
140
|
+
*
|
|
141
|
+
* `@temporalio/workflow` must be provided by host package in order to function.
|
|
88
142
|
*/
|
|
89
143
|
class OpenTelemetryOutboundInterceptor {
|
|
90
144
|
tracer = getTracer();
|
|
145
|
+
constructor() {
|
|
146
|
+
(0, workflow_module_loader_1.ensureWorkflowModuleLoaded)();
|
|
147
|
+
}
|
|
91
148
|
async scheduleActivity(input, next) {
|
|
92
149
|
return await (0, instrumentation_1.instrument)({
|
|
93
150
|
tracer: this.tracer,
|
|
94
151
|
spanName: `${definitions_1.SpanName.ACTIVITY_START}${definitions_1.SPAN_DELIMITER}${input.activityType}`,
|
|
95
152
|
fn: async () => {
|
|
96
|
-
const headers =
|
|
153
|
+
const headers = (0, instrumentation_1.headersWithContext)(input.headers);
|
|
154
|
+
if (!(0, workflow_module_loader_1.hasSdkFlag)('OpenTelemetryInterceporsAvoidsExtraYields'))
|
|
155
|
+
await Promise.resolve();
|
|
97
156
|
return next({
|
|
98
157
|
...input,
|
|
99
158
|
headers,
|
|
@@ -102,11 +161,16 @@ class OpenTelemetryOutboundInterceptor {
|
|
|
102
161
|
});
|
|
103
162
|
}
|
|
104
163
|
async scheduleLocalActivity(input, next) {
|
|
164
|
+
// Tracing of local activities was added in v1.11.6.
|
|
165
|
+
if (!(0, workflow_module_loader_1.hasSdkFlag)('OpenTelemetryInterceptorsTracesLocalActivities'))
|
|
166
|
+
return next(input);
|
|
105
167
|
return await (0, instrumentation_1.instrument)({
|
|
106
168
|
tracer: this.tracer,
|
|
107
169
|
spanName: `${definitions_1.SpanName.ACTIVITY_START}${definitions_1.SPAN_DELIMITER}${input.activityType}`,
|
|
108
170
|
fn: async () => {
|
|
109
|
-
const headers =
|
|
171
|
+
const headers = (0, instrumentation_1.headersWithContext)(input.headers);
|
|
172
|
+
if (!(0, workflow_module_loader_1.hasSdkFlag)('OpenTelemetryInterceporsAvoidsExtraYields'))
|
|
173
|
+
await Promise.resolve();
|
|
110
174
|
return next({
|
|
111
175
|
...input,
|
|
112
176
|
headers,
|
|
@@ -114,12 +178,28 @@ class OpenTelemetryOutboundInterceptor {
|
|
|
114
178
|
},
|
|
115
179
|
});
|
|
116
180
|
}
|
|
181
|
+
async startNexusOperation(input, next) {
|
|
182
|
+
if (!(0, workflow_module_loader_1.hasSdkFlag)('OpenTelemetryInterceptorsInstrumentsAllMethods'))
|
|
183
|
+
return next(input);
|
|
184
|
+
return await (0, instrumentation_1.instrument)({
|
|
185
|
+
tracer: this.tracer,
|
|
186
|
+
spanName: `${definitions_1.SpanName.NEXUS_OPERATION_START}${definitions_1.SPAN_DELIMITER}${input.service}${definitions_1.SPAN_DELIMITER}${input.operation}`,
|
|
187
|
+
fn: async (span) => {
|
|
188
|
+
span.setAttribute(instrumentation_1.NEXUS_SERVICE_ATTR_KEY, input.service);
|
|
189
|
+
span.setAttribute(instrumentation_1.NEXUS_OPERATION_ATTR_KEY, input.operation);
|
|
190
|
+
span.setAttribute(instrumentation_1.NEXUS_ENDPOINT_ATTR_KEY, input.endpoint);
|
|
191
|
+
return await next(input);
|
|
192
|
+
},
|
|
193
|
+
});
|
|
194
|
+
}
|
|
117
195
|
async startChildWorkflowExecution(input, next) {
|
|
118
196
|
return await (0, instrumentation_1.instrument)({
|
|
119
197
|
tracer: this.tracer,
|
|
120
198
|
spanName: `${definitions_1.SpanName.CHILD_WORKFLOW_START}${definitions_1.SPAN_DELIMITER}${input.workflowType}`,
|
|
121
199
|
fn: async () => {
|
|
122
|
-
const headers =
|
|
200
|
+
const headers = (0, instrumentation_1.headersWithContext)(input.headers);
|
|
201
|
+
if (!(0, workflow_module_loader_1.hasSdkFlag)('OpenTelemetryInterceporsAvoidsExtraYields'))
|
|
202
|
+
await Promise.resolve();
|
|
123
203
|
return next({
|
|
124
204
|
...input,
|
|
125
205
|
headers,
|
|
@@ -128,17 +208,20 @@ class OpenTelemetryOutboundInterceptor {
|
|
|
128
208
|
});
|
|
129
209
|
}
|
|
130
210
|
async continueAsNew(input, next) {
|
|
211
|
+
const { ContinueAsNew } = (0, workflow_module_loader_1.getWorkflowModule)();
|
|
131
212
|
return await (0, instrumentation_1.instrument)({
|
|
132
213
|
tracer: this.tracer,
|
|
133
214
|
spanName: `${definitions_1.SpanName.CONTINUE_AS_NEW}${definitions_1.SPAN_DELIMITER}${input.options.workflowType}`,
|
|
134
215
|
fn: async () => {
|
|
135
|
-
const headers =
|
|
216
|
+
const headers = (0, instrumentation_1.headersWithContext)(input.headers);
|
|
217
|
+
if (!(0, workflow_module_loader_1.hasSdkFlag)('OpenTelemetryInterceporsAvoidsExtraYields'))
|
|
218
|
+
await Promise.resolve();
|
|
136
219
|
return next({
|
|
137
220
|
...input,
|
|
138
221
|
headers,
|
|
139
222
|
});
|
|
140
223
|
},
|
|
141
|
-
acceptableErrors: (err) => err instanceof
|
|
224
|
+
acceptableErrors: (err) => err instanceof ContinueAsNew,
|
|
142
225
|
});
|
|
143
226
|
}
|
|
144
227
|
async signalWorkflow(input, next) {
|
|
@@ -146,7 +229,9 @@ class OpenTelemetryOutboundInterceptor {
|
|
|
146
229
|
tracer: this.tracer,
|
|
147
230
|
spanName: `${definitions_1.SpanName.WORKFLOW_SIGNAL}${definitions_1.SPAN_DELIMITER}${input.signalName}`,
|
|
148
231
|
fn: async () => {
|
|
149
|
-
const headers =
|
|
232
|
+
const headers = (0, instrumentation_1.headersWithContext)(input.headers);
|
|
233
|
+
if (!(0, workflow_module_loader_1.hasSdkFlag)('OpenTelemetryInterceporsAvoidsExtraYields'))
|
|
234
|
+
await Promise.resolve();
|
|
150
235
|
return next({
|
|
151
236
|
...input,
|
|
152
237
|
headers,
|
|
@@ -169,6 +254,21 @@ class OpenTelemetryOutboundInterceptor {
|
|
|
169
254
|
return next(input);
|
|
170
255
|
}
|
|
171
256
|
}
|
|
257
|
+
getMetricTags(input, next) {
|
|
258
|
+
const span = otel.trace.getSpan(otel.context.active());
|
|
259
|
+
const spanContext = span?.spanContext();
|
|
260
|
+
if (spanContext && otel.isSpanContextValid(spanContext)) {
|
|
261
|
+
return next({
|
|
262
|
+
trace_id: spanContext.traceId,
|
|
263
|
+
span_id: spanContext.spanId,
|
|
264
|
+
trace_flags: `0${spanContext.traceFlags.toString(16)}`,
|
|
265
|
+
...input,
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
return next(input);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
172
272
|
}
|
|
173
273
|
exports.OpenTelemetryOutboundInterceptor = OpenTelemetryOutboundInterceptor;
|
|
174
274
|
class OpenTelemetryInternalsInterceptor {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAiC;AACjC,uDAAuD;AACvD,qBAAmB,CAAC,uDAAuD;AAC3E,yDAA2C;AAC3C,uEAAyD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"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"}
|
package/lib/workflow/runtime.js
CHANGED
|
@@ -4,8 +4,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
* Sets global variables required for importing opentelemetry in isolate
|
|
5
5
|
* @module
|
|
6
6
|
*/
|
|
7
|
-
const
|
|
8
|
-
|
|
7
|
+
const workflow_module_loader_1 = require("./workflow-module-loader");
|
|
8
|
+
const inWorkflowContext = (0, workflow_module_loader_1.getWorkflowModuleIfAvailable)()?.inWorkflowContext;
|
|
9
|
+
if (inWorkflowContext?.()) {
|
|
9
10
|
// Required by opentelemetry (pretend to be a browser)
|
|
10
11
|
Object.assign(globalThis, {
|
|
11
12
|
performance: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/workflow/runtime.ts"],"names":[],"mappings":";;AAAA;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/workflow/runtime.ts"],"names":[],"mappings":";;AAAA;;;GAGG;AACH,qEAAwE;AAExE,MAAM,iBAAiB,GAAG,IAAA,qDAA4B,GAAE,EAAE,iBAAiB,CAAC;AAE5E,IAAI,iBAAiB,EAAE,EAAE,EAAE,CAAC;IAC1B,sDAAsD;IACtD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;QACxB,WAAW,EAAE;YACX,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;YACtB,GAAG;gBACD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;YACtC,CAAC;SACF;QACD,MAAM,EAAE,UAAU;KACnB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -2,6 +2,7 @@ import * as tracing from '@opentelemetry/sdk-trace-base';
|
|
|
2
2
|
import { ExportResult } from '@opentelemetry/core';
|
|
3
3
|
import { SerializableSpan } from './definitions';
|
|
4
4
|
export declare class SpanExporter implements tracing.SpanExporter {
|
|
5
|
+
constructor();
|
|
5
6
|
export(spans: tracing.ReadableSpan[], resultCallback: (result: ExportResult) => void): void;
|
|
6
7
|
shutdown(): Promise<void>;
|
|
7
8
|
makeSerializable(span: tracing.ReadableSpan): SerializableSpan;
|
|
@@ -1,33 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
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
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.SpanExporter = void 0;
|
|
27
4
|
const core_1 = require("@opentelemetry/core");
|
|
28
|
-
const
|
|
29
|
-
const
|
|
5
|
+
const workflow_module_loader_1 = require("./workflow-module-loader");
|
|
6
|
+
const exporter = (0, workflow_module_loader_1.getWorkflowModuleIfAvailable)()?.proxySinks()?.exporter;
|
|
30
7
|
class SpanExporter {
|
|
8
|
+
constructor() {
|
|
9
|
+
(0, workflow_module_loader_1.ensureWorkflowModuleLoaded)();
|
|
10
|
+
}
|
|
31
11
|
export(spans, resultCallback) {
|
|
32
12
|
exporter.export(spans.map((span) => this.makeSerializable(span)));
|
|
33
13
|
resultCallback({ code: core_1.ExportResultCode.SUCCESS });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-exporter.js","sourceRoot":"","sources":["../../src/workflow/span-exporter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"span-exporter.js","sourceRoot":"","sources":["../../src/workflow/span-exporter.ts"],"names":[],"mappings":";;;AACA,8CAAqE;AAErE,qEAAoG;AAEpG,MAAM,QAAQ,GAAG,IAAA,qDAA4B,GAAE,EAAE,UAAU,EAAsB,EAAE,QAAQ,CAAC;AAE5F,MAAa,YAAY;IACvB;QACE,IAAA,mDAA0B,GAAE,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,KAA6B,EAAE,cAA8C;QACzF,QAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnE,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,uBAAuB;IACzB,CAAC;IAEM,gBAAgB,CAAC,IAA0B;QAChD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;SACpD,CAAC;IACJ,CAAC;CACF;AAlCD,oCAkCC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities for working with a possibly missing `@temporalio/workflow` peer dependency
|
|
3
|
+
* @module
|
|
4
|
+
*/
|
|
5
|
+
import type * as WorkflowModule from '@temporalio/workflow';
|
|
6
|
+
import type { SdkFlags as SdkFlagsT } from '@temporalio/workflow/lib/flags';
|
|
7
|
+
type SdkFlags = typeof SdkFlagsT;
|
|
8
|
+
/**
|
|
9
|
+
* Returns `@temporalio/workflow` module if present.
|
|
10
|
+
* Throws if the module failed to load
|
|
11
|
+
*/
|
|
12
|
+
export declare function getWorkflowModule(): typeof WorkflowModule;
|
|
13
|
+
/**
|
|
14
|
+
* Returns if an SDK flag was set
|
|
15
|
+
*
|
|
16
|
+
* Expects to be called only after `ensureWorkflowModuleLoaded`.
|
|
17
|
+
* Will throw if `@temporalio/workflow` is not available
|
|
18
|
+
*/
|
|
19
|
+
export declare function hasSdkFlag(flag: keyof SdkFlags): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Checks if the workflow module loaded successfully and throws if not.
|
|
22
|
+
*/
|
|
23
|
+
export declare function ensureWorkflowModuleLoaded(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Returns the workflow module if available, or undefined if it failed to load.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getWorkflowModuleIfAvailable(): typeof WorkflowModule | undefined;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getWorkflowModule = getWorkflowModule;
|
|
4
|
+
exports.hasSdkFlag = hasSdkFlag;
|
|
5
|
+
exports.ensureWorkflowModuleLoaded = ensureWorkflowModuleLoaded;
|
|
6
|
+
exports.getWorkflowModuleIfAvailable = getWorkflowModuleIfAvailable;
|
|
7
|
+
// @temporalio/workflow is an optional peer dependency.
|
|
8
|
+
// It can be missing as long as the user isn't attempting to construct a workflow interceptor.
|
|
9
|
+
// If we start shipping ES modules alongside CJS, we will have to reconsider
|
|
10
|
+
// this dynamic import as `import` is async for ES modules.
|
|
11
|
+
let workflowModule;
|
|
12
|
+
let workflowModuleLoadError;
|
|
13
|
+
try {
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
15
|
+
workflowModule = require('@temporalio/workflow');
|
|
16
|
+
}
|
|
17
|
+
catch (err) {
|
|
18
|
+
// Capture the module not found error to rethrow if the module is required
|
|
19
|
+
workflowModuleLoadError = err;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Returns `@temporalio/workflow` module if present.
|
|
23
|
+
* Throws if the module failed to load
|
|
24
|
+
*/
|
|
25
|
+
function getWorkflowModule() {
|
|
26
|
+
if (workflowModuleLoadError) {
|
|
27
|
+
throw workflowModuleLoadError;
|
|
28
|
+
}
|
|
29
|
+
return workflowModule;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Returns if an SDK flag was set
|
|
33
|
+
*
|
|
34
|
+
* Expects to be called only after `ensureWorkflowModuleLoaded`.
|
|
35
|
+
* Will throw if `@temporalio/workflow` is not available
|
|
36
|
+
*/
|
|
37
|
+
function hasSdkFlag(flag) {
|
|
38
|
+
const { SdkFlags } = require('@temporalio/workflow/lib/flags'); // eslint-disable-line @typescript-eslint/no-require-imports
|
|
39
|
+
const { getActivator } = require('@temporalio/workflow/lib/global-attributes'); // eslint-disable-line @typescript-eslint/no-require-imports
|
|
40
|
+
return getActivator().hasFlag(SdkFlags[flag]);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Checks if the workflow module loaded successfully and throws if not.
|
|
44
|
+
*/
|
|
45
|
+
function ensureWorkflowModuleLoaded() {
|
|
46
|
+
if (workflowModuleLoadError) {
|
|
47
|
+
throw workflowModuleLoadError;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Returns the workflow module if available, or undefined if it failed to load.
|
|
52
|
+
*/
|
|
53
|
+
function getWorkflowModuleIfAvailable() {
|
|
54
|
+
return workflowModule;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=workflow-module-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-module-loader.js","sourceRoot":"","sources":["../../src/workflow/workflow-module-loader.ts"],"names":[],"mappings":";;AA4BA,8CAKC;AAQD,gCAMC;AAKD,gEAIC;AAKD,oEAEC;AAtDD,uDAAuD;AACvD,8FAA8F;AAC9F,4EAA4E;AAC5E,2DAA2D;AAC3D,IAAI,cAAiD,CAAC;AACtD,IAAI,uBAAwC,CAAC;AAE7C,IAAI,CAAC;IACH,iEAAiE;IACjE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACnD,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACb,0EAA0E;IAC1E,uBAAuB,GAAG,GAAG,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB;IAC/B,IAAI,uBAAuB,EAAE,CAAC;QAC5B,MAAM,uBAAuB,CAAC;IAChC,CAAC;IACD,OAAO,cAAe,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,IAAoB;IAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,gCAAgC,CAAoD,CAAC,CAAC,4DAA4D;IAC/K,MAAM,EAAE,YAAY,EAAE,GACpB,OAAO,CAAC,4CAA4C,CAAgE,CAAC,CAAC,4DAA4D;IAEpL,OAAO,YAAY,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,SAAgB,0BAA0B;IACxC,IAAI,uBAAuB,EAAE,CAAC;QAC5B,MAAM,uBAAuB,CAAC;IAChC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,4BAA4B;IAC1C,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@temporalio/interceptors-opentelemetry",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"description": "Temporal.io SDK interceptors bundle for tracing with opentelemetry",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -14,24 +14,26 @@
|
|
|
14
14
|
"author": "Temporal Technologies Inc. <sdk@temporal.io>",
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@opentelemetry/api": "^1.
|
|
18
|
-
"@opentelemetry/core": "^1.
|
|
19
|
-
"@opentelemetry/resources": "^1.
|
|
20
|
-
"@opentelemetry/sdk-trace-base": "^1.
|
|
17
|
+
"@opentelemetry/api": "^1.9.0",
|
|
18
|
+
"@opentelemetry/core": "^1.25.1",
|
|
19
|
+
"@opentelemetry/resources": "^1.25.1",
|
|
20
|
+
"@opentelemetry/sdk-trace-base": "^1.25.1"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@temporalio/activity": "1.
|
|
24
|
-
"@temporalio/client": "1.
|
|
25
|
-
"@temporalio/common": "1.
|
|
26
|
-
"@temporalio/worker": "1.
|
|
27
|
-
"@temporalio/workflow": "1.
|
|
23
|
+
"@temporalio/activity": "1.14.0",
|
|
24
|
+
"@temporalio/client": "1.14.0",
|
|
25
|
+
"@temporalio/common": "1.14.0",
|
|
26
|
+
"@temporalio/worker": "1.14.0",
|
|
27
|
+
"@temporalio/workflow": "1.14.0"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@temporalio/
|
|
31
|
-
"@temporalio/
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"@temporalio/workflow":
|
|
30
|
+
"@temporalio/common": "1.14.0",
|
|
31
|
+
"@temporalio/workflow": "1.14.0"
|
|
32
|
+
},
|
|
33
|
+
"peerDependenciesMeta": {
|
|
34
|
+
"@temporalio/workflow": {
|
|
35
|
+
"optional": true
|
|
36
|
+
}
|
|
35
37
|
},
|
|
36
38
|
"bugs": {
|
|
37
39
|
"url": "https://github.com/temporalio/sdk-typescript/issues"
|
|
@@ -52,5 +54,5 @@
|
|
|
52
54
|
"src",
|
|
53
55
|
"lib"
|
|
54
56
|
],
|
|
55
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "eb428ac36568b48be67fdba662c38631867b932d"
|
|
56
58
|
}
|