1
1
use crate :: { conversions:: ObjectHandleConversionsExt , errors:: * , helpers:: * , runtime:: * } ;
2
2
use futures:: stream:: StreamExt ;
3
3
use neon:: { prelude:: * , types:: buffer:: TypedArray } ;
4
- use opentelemetry:: trace:: { FutureExt , SpanContext , TraceContextExt } ;
5
4
use prost:: Message ;
6
5
use std:: { cell:: RefCell , sync:: Arc } ;
7
6
use temporal_sdk_core:: replay:: HistoryForReplay ;
@@ -42,27 +41,23 @@ pub enum WorkerRequest {
42
41
} ,
43
42
/// A request to poll for workflow activations
44
43
PollWorkflowActivation {
45
- otel_span : SpanContext ,
46
44
/// Used to send the result back into JS
47
45
callback : Root < JsFunction > ,
48
46
} ,
49
47
/// A request to complete a single workflow activation
50
48
CompleteWorkflowActivation {
51
49
completion : WorkflowActivationCompletion ,
52
- otel_span : SpanContext ,
53
50
/// Used to send the result back into JS
54
51
callback : Root < JsFunction > ,
55
52
} ,
56
53
/// A request to poll for activity tasks
57
54
PollActivityTask {
58
- otel_span : SpanContext ,
59
55
/// Used to report completion or error back into JS
60
56
callback : Root < JsFunction > ,
61
57
} ,
62
58
/// A request to complete a single activity task
63
59
CompleteActivityTask {
64
60
completion : ActivityTaskCompletion ,
65
- otel_span : SpanContext ,
66
61
/// Used to send the result back into JS
67
62
callback : Root < JsFunction > ,
68
63
} ,
@@ -89,35 +84,29 @@ pub async fn start_worker_loop(
89
84
send_result ( channel, callback, |cx| Ok ( cx. undefined ( ) ) ) ;
90
85
}
91
86
WorkerRequest :: PollWorkflowActivation {
92
- otel_span,
93
87
callback,
94
88
} => {
95
89
handle_poll_workflow_activation_request (
96
- worker, otel_span , channel, callback,
90
+ worker, channel, callback,
97
91
)
98
92
. await
99
93
}
100
94
WorkerRequest :: PollActivityTask {
101
- otel_span,
102
95
callback,
103
96
} => {
104
- handle_poll_activity_task_request ( worker, otel_span , channel, callback)
97
+ handle_poll_activity_task_request ( worker, channel, callback)
105
98
. await
106
99
}
107
100
WorkerRequest :: CompleteWorkflowActivation {
108
101
completion,
109
- otel_span,
110
102
callback,
111
103
} => {
112
- let otel_ctx =
113
- opentelemetry:: Context :: new ( ) . with_remote_span_context ( otel_span) ;
114
104
void_future_to_js (
115
105
channel,
116
106
callback,
117
107
async move {
118
108
worker
119
109
. complete_workflow_activation ( completion)
120
- . with_context ( otel_ctx)
121
110
. await
122
111
} ,
123
112
|cx, err| -> JsResult < JsObject > {
@@ -132,18 +121,14 @@ pub async fn start_worker_loop(
132
121
}
133
122
WorkerRequest :: CompleteActivityTask {
134
123
completion,
135
- otel_span,
136
124
callback,
137
125
} => {
138
- let otel_ctx =
139
- opentelemetry:: Context :: new ( ) . with_remote_span_context ( otel_span) ;
140
126
void_future_to_js (
141
127
channel,
142
128
callback,
143
129
async move {
144
130
worker
145
131
. complete_activity_task ( completion)
146
- . with_context ( otel_ctx)
147
132
. await
148
133
} ,
149
134
|cx, err| -> JsResult < JsObject > {
@@ -170,14 +155,11 @@ pub async fn start_worker_loop(
170
155
/// Called within the poll loop thread, calls core and triggers JS callback with result
171
156
async fn handle_poll_workflow_activation_request (
172
157
worker : & CoreWorker ,
173
- span_context : SpanContext ,
174
158
channel : Arc < Channel > ,
175
159
callback : Root < JsFunction > ,
176
160
) {
177
- let otel_ctx = opentelemetry:: Context :: new ( ) . with_remote_span_context ( span_context) ;
178
161
match worker
179
162
. poll_workflow_activation ( )
180
- . with_context ( otel_ctx)
181
163
. await
182
164
{
183
165
Ok ( task) => {
@@ -207,12 +189,10 @@ async fn handle_poll_workflow_activation_request(
207
189
/// Called within the poll loop thread, calls core and triggers JS callback with result
208
190
pub async fn handle_poll_activity_task_request (
209
191
worker : & CoreWorker ,
210
- span_context : SpanContext ,
211
192
channel : Arc < Channel > ,
212
193
callback : Root < JsFunction > ,
213
194
) {
214
- let otel_ctx = opentelemetry:: Context :: new ( ) . with_remote_span_context ( span_context) ;
215
- match worker. poll_activity_task ( ) . with_context ( otel_ctx) . await {
195
+ match worker. poll_activity_task ( ) . await {
216
196
Ok ( task) => {
217
197
send_result ( channel, callback, move |cx| {
218
198
let len = task. encoded_len ( ) ;
@@ -321,15 +301,13 @@ pub fn close_history_stream(mut cx: FunctionContext) -> JsResult<JsUndefined> {
321
301
/// There should be only one concurrent poll request for this type.
322
302
pub fn worker_poll_workflow_activation ( mut cx : FunctionContext ) -> JsResult < JsUndefined > {
323
303
let worker = cx. argument :: < BoxedWorker > ( 0 ) ?;
324
- let otel_span = cx. argument :: < JsObject > ( 1 ) ?;
325
- let callback = cx. argument :: < JsFunction > ( 2 ) ?;
304
+ let callback = cx. argument :: < JsFunction > ( 1 ) ?;
326
305
match worker. borrow ( ) . as_ref ( ) {
327
306
None => {
328
307
callback_with_unexpected_error ( & mut cx, callback, "Tried to use closed Worker" ) ?;
329
308
}
330
309
Some ( worker) => {
331
310
let request = WorkerRequest :: PollWorkflowActivation {
332
- otel_span : otel_span. as_otel_span_context ( & mut cx) ?,
333
311
callback : callback. root ( & mut cx) ,
334
312
} ;
335
313
if let Err ( err) = worker. sender . send ( request) {
@@ -344,15 +322,13 @@ pub fn worker_poll_workflow_activation(mut cx: FunctionContext) -> JsResult<JsUn
344
322
/// There should be only one concurrent poll request for this type.
345
323
pub fn worker_poll_activity_task ( mut cx : FunctionContext ) -> JsResult < JsUndefined > {
346
324
let worker = cx. argument :: < BoxedWorker > ( 0 ) ?;
347
- let otel_span = cx. argument :: < JsObject > ( 1 ) ?;
348
- let callback = cx. argument :: < JsFunction > ( 2 ) ?;
325
+ let callback = cx. argument :: < JsFunction > ( 1 ) ?;
349
326
match worker. borrow ( ) . as_ref ( ) {
350
327
None => {
351
328
callback_with_unexpected_error ( & mut cx, callback, "Tried to use closed Worker" ) ?;
352
329
}
353
330
Some ( worker) => {
354
331
let request = WorkerRequest :: PollActivityTask {
355
- otel_span : otel_span. as_otel_span_context ( & mut cx) ?,
356
332
callback : callback. root ( & mut cx) ,
357
333
} ;
358
334
if let Err ( err) = worker. sender . send ( request) {
@@ -366,9 +342,8 @@ pub fn worker_poll_activity_task(mut cx: FunctionContext) -> JsResult<JsUndefine
366
342
/// Submit a workflow activation completion to core.
367
343
pub fn worker_complete_workflow_activation ( mut cx : FunctionContext ) -> JsResult < JsUndefined > {
368
344
let worker = cx. argument :: < BoxedWorker > ( 0 ) ?;
369
- let otel_span = cx. argument :: < JsObject > ( 1 ) ?;
370
- let completion = cx. argument :: < JsArrayBuffer > ( 2 ) ?;
371
- let callback = cx. argument :: < JsFunction > ( 3 ) ?;
345
+ let completion = cx. argument :: < JsArrayBuffer > ( 1 ) ?;
346
+ let callback = cx. argument :: < JsFunction > ( 2 ) ?;
372
347
match worker. borrow ( ) . as_ref ( ) {
373
348
None => {
374
349
callback_with_unexpected_error ( & mut cx, callback, "Tried to use closed Worker" ) ?;
@@ -378,7 +353,6 @@ pub fn worker_complete_workflow_activation(mut cx: FunctionContext) -> JsResult<
378
353
Ok ( completion) => {
379
354
let request = WorkerRequest :: CompleteWorkflowActivation {
380
355
completion,
381
- otel_span : otel_span. as_otel_span_context ( & mut cx) ?,
382
356
callback : callback. root ( & mut cx) ,
383
357
} ;
384
358
if let Err ( err) = worker. sender . send ( request) {
@@ -397,9 +371,8 @@ pub fn worker_complete_workflow_activation(mut cx: FunctionContext) -> JsResult<
397
371
/// Submit an activity task completion to core.
398
372
pub fn worker_complete_activity_task ( mut cx : FunctionContext ) -> JsResult < JsUndefined > {
399
373
let worker = cx. argument :: < BoxedWorker > ( 0 ) ?;
400
- let otel_span = cx. argument :: < JsObject > ( 1 ) ?;
401
- let result = cx. argument :: < JsArrayBuffer > ( 2 ) ?;
402
- let callback = cx. argument :: < JsFunction > ( 3 ) ?;
374
+ let result = cx. argument :: < JsArrayBuffer > ( 1 ) ?;
375
+ let callback = cx. argument :: < JsFunction > ( 2 ) ?;
403
376
match worker. borrow ( ) . as_ref ( ) {
404
377
None => {
405
378
callback_with_unexpected_error ( & mut cx, callback, "Tried to use closed Worker" ) ?;
@@ -409,7 +382,6 @@ pub fn worker_complete_activity_task(mut cx: FunctionContext) -> JsResult<JsUnde
409
382
Ok ( completion) => {
410
383
let request = WorkerRequest :: CompleteActivityTask {
411
384
completion,
412
- otel_span : otel_span. as_otel_span_context ( & mut cx) ?,
413
385
callback : callback. root ( & mut cx) ,
414
386
} ;
415
387
if let Err ( err) = worker. sender . send ( request) {
0 commit comments