Skip to content

Commit e6305bb

Browse files
authored
chore!: Remove SDK tracing support (#1269)
1 parent 4dcc82a commit e6305bb

File tree

21 files changed

+1044
-816
lines changed

21 files changed

+1044
-816
lines changed

package-lock.json

Lines changed: 627 additions & 40 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@
5353
"@opentelemetry/api": "^1.4.1",
5454
"@opentelemetry/core": "^1.12.0",
5555
"@opentelemetry/sdk-node": "^0.38.0",
56-
"@opentelemetry/semantic-conventions": "^1.12.0",
5756
"@tsconfig/node14": "^1.0.3",
5857
"@types/dedent": "^0.7.0",
5958
"@types/fs-extra": "^9.0.13",

packages/common/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
"author": "Temporal Technologies Inc. <sdk@temporal.io>",
1313
"license": "MIT",
1414
"dependencies": {
15-
"@opentelemetry/api": "^1.4.1",
1615
"@temporalio/proto": "file:../proto",
1716
"long": "^5.2.0",
1817
"ms": "^3.0.0-canary.1",

packages/common/src/otel.ts

Lines changed: 0 additions & 63 deletions
This file was deleted.

packages/core-bridge/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
"author": "Temporal Technologies Inc. <sdk@temporal.io>",
2323
"license": "MIT",
2424
"dependencies": {
25-
"@opentelemetry/api": "^1.4.1",
2625
"@temporalio/common": "file:../common",
2726
"arg": "^5.0.2",
2827
"cargo-cp-artifact": "^0.1.6",

packages/core-bridge/src/conversions.rs

Lines changed: 3 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@ use neon::{
55
prelude::*,
66
types::{JsBoolean, JsNumber, JsString},
77
};
8-
use opentelemetry::trace::{SpanContext, SpanId, TraceFlags, TraceId, TraceState};
9-
use std::{collections::HashMap, net::SocketAddr, str::FromStr, time::Duration};
8+
use std::{collections::HashMap, net::SocketAddr, time::Duration};
109
use temporal_sdk_core::{
1110
api::telemetry::{
1211
Logger, MetricTemporality, MetricsExporter, OtelCollectorOptions, TelemetryOptions,
13-
TelemetryOptionsBuilder, TraceExportConfig, TraceExporter,
12+
TelemetryOptionsBuilder,
1413
},
1514
api::worker::{WorkerConfig, WorkerConfigBuilder},
1615
ephemeral_server::{
@@ -44,7 +43,6 @@ impl ArrayHandleConversionsExt for Handle<'_, JsArray> {
4443

4544
pub trait ObjectHandleConversionsExt {
4645
fn set_default(&self, cx: &mut FunctionContext, key: &str, value: &str) -> NeonResult<()>;
47-
fn as_otel_span_context(&self, ctx: &mut FunctionContext) -> NeonResult<SpanContext>;
4846
fn as_client_options(&self, ctx: &mut FunctionContext) -> NeonResult<ClientOptions>;
4947
fn as_telemetry_options(&self, cx: &mut FunctionContext) -> NeonResult<TelemetryOptions>;
5048
fn as_worker_config(&self, cx: &mut FunctionContext) -> NeonResult<WorkerConfig>;
@@ -60,19 +58,6 @@ pub trait ObjectHandleConversionsExt {
6058
}
6159

6260
impl ObjectHandleConversionsExt for Handle<'_, JsObject> {
63-
fn as_otel_span_context(&self, ctx: &mut FunctionContext) -> NeonResult<SpanContext> {
64-
let trace_id = js_value_getter!(ctx, self, "traceId", JsString);
65-
let span_id = js_value_getter!(ctx, self, "spanId", JsString);
66-
let trace_flags = js_value_getter!(ctx, self, "traceFlags", JsNumber);
67-
Ok(SpanContext::new(
68-
TraceId::from_hex(&trace_id).expect("TraceId is valid"),
69-
SpanId::from_hex(&span_id).expect("SpanId is valid"),
70-
TraceFlags::new(trace_flags as u8),
71-
false,
72-
TraceState::from_str("").expect("Trace state must be valid"),
73-
))
74-
}
75-
7661
fn as_hash_map_of_string_to_string(
7762
&self,
7863
cx: &mut FunctionContext,
@@ -213,7 +198,7 @@ impl ObjectHandleConversionsExt for Handle<'_, JsObject> {
213198
};
214199
}
215200
if let Some(ref prom) = js_optional_getter!(cx, metrics, "prometheus", JsObject) {
216-
let addr = js_value_getter!(cx, prom, "bindAddress", JsString);
201+
let addr = js_value_getter!(cx, prom, "bindAddress", JsString);
217202
match addr.parse::<SocketAddr>() {
218203
Ok(address) => telemetry_opts.metrics(MetricsExporter::Prometheus(address)),
219204
Err(_) => cx.throw_type_error(
@@ -250,33 +235,6 @@ impl ObjectHandleConversionsExt for Handle<'_, JsObject> {
250235
}
251236
}
252237

253-
if let Some(ref tracing) = js_optional_getter!(cx, self, "tracing", JsObject) {
254-
let filter = js_value_getter!(cx, tracing, "filter", JsString);
255-
if let Some(ref otel) = js_optional_getter!(cx, tracing, "otel", JsObject) {
256-
let url = js_value_getter!(cx, otel, "url", JsString);
257-
let url = match Url::parse(&url) {
258-
Ok(url) => url,
259-
Err(_) => cx.throw_type_error("Invalid telemetryOptions.tracing.otel.url")?,
260-
};
261-
let headers =
262-
if let Some(ref headers) = js_optional_getter!(cx, otel, "headers", JsObject) {
263-
headers.as_hash_map_of_string_to_string(cx)?
264-
} else {
265-
Default::default()
266-
};
267-
telemetry_opts.tracing(TraceExportConfig {
268-
filter,
269-
exporter: TraceExporter::Otel(OtelCollectorOptions {
270-
url,
271-
headers,
272-
metric_periodicity: None,
273-
}),
274-
});
275-
} else {
276-
cx.throw_type_error("Invalid telemetryOptions.tracing, missing `otel` option")?
277-
}
278-
}
279-
280238
telemetry_opts.build().map_err(|reason| {
281239
cx.throw_type_error::<_, TelemetryOptions>(format!("{}", reason))
282240
.unwrap_err()

packages/core-bridge/src/worker.rs

Lines changed: 9 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use crate::{conversions::ObjectHandleConversionsExt, errors::*, helpers::*, runtime::*};
22
use futures::stream::StreamExt;
33
use neon::{prelude::*, types::buffer::TypedArray};
4-
use opentelemetry::trace::{FutureExt, SpanContext, TraceContextExt};
54
use prost::Message;
65
use std::{cell::RefCell, sync::Arc};
76
use temporal_sdk_core::replay::HistoryForReplay;
@@ -42,27 +41,23 @@ pub enum WorkerRequest {
4241
},
4342
/// A request to poll for workflow activations
4443
PollWorkflowActivation {
45-
otel_span: SpanContext,
4644
/// Used to send the result back into JS
4745
callback: Root<JsFunction>,
4846
},
4947
/// A request to complete a single workflow activation
5048
CompleteWorkflowActivation {
5149
completion: WorkflowActivationCompletion,
52-
otel_span: SpanContext,
5350
/// Used to send the result back into JS
5451
callback: Root<JsFunction>,
5552
},
5653
/// A request to poll for activity tasks
5754
PollActivityTask {
58-
otel_span: SpanContext,
5955
/// Used to report completion or error back into JS
6056
callback: Root<JsFunction>,
6157
},
6258
/// A request to complete a single activity task
6359
CompleteActivityTask {
6460
completion: ActivityTaskCompletion,
65-
otel_span: SpanContext,
6661
/// Used to send the result back into JS
6762
callback: Root<JsFunction>,
6863
},
@@ -89,35 +84,29 @@ pub async fn start_worker_loop(
8984
send_result(channel, callback, |cx| Ok(cx.undefined()));
9085
}
9186
WorkerRequest::PollWorkflowActivation {
92-
otel_span,
9387
callback,
9488
} => {
9589
handle_poll_workflow_activation_request(
96-
worker, otel_span, channel, callback,
90+
worker, channel, callback,
9791
)
9892
.await
9993
}
10094
WorkerRequest::PollActivityTask {
101-
otel_span,
10295
callback,
10396
} => {
104-
handle_poll_activity_task_request(worker, otel_span, channel, callback)
97+
handle_poll_activity_task_request(worker, channel, callback)
10598
.await
10699
}
107100
WorkerRequest::CompleteWorkflowActivation {
108101
completion,
109-
otel_span,
110102
callback,
111103
} => {
112-
let otel_ctx =
113-
opentelemetry::Context::new().with_remote_span_context(otel_span);
114104
void_future_to_js(
115105
channel,
116106
callback,
117107
async move {
118108
worker
119109
.complete_workflow_activation(completion)
120-
.with_context(otel_ctx)
121110
.await
122111
},
123112
|cx, err| -> JsResult<JsObject> {
@@ -132,18 +121,14 @@ pub async fn start_worker_loop(
132121
}
133122
WorkerRequest::CompleteActivityTask {
134123
completion,
135-
otel_span,
136124
callback,
137125
} => {
138-
let otel_ctx =
139-
opentelemetry::Context::new().with_remote_span_context(otel_span);
140126
void_future_to_js(
141127
channel,
142128
callback,
143129
async move {
144130
worker
145131
.complete_activity_task(completion)
146-
.with_context(otel_ctx)
147132
.await
148133
},
149134
|cx, err| -> JsResult<JsObject> {
@@ -170,14 +155,11 @@ pub async fn start_worker_loop(
170155
/// Called within the poll loop thread, calls core and triggers JS callback with result
171156
async fn handle_poll_workflow_activation_request(
172157
worker: &CoreWorker,
173-
span_context: SpanContext,
174158
channel: Arc<Channel>,
175159
callback: Root<JsFunction>,
176160
) {
177-
let otel_ctx = opentelemetry::Context::new().with_remote_span_context(span_context);
178161
match worker
179162
.poll_workflow_activation()
180-
.with_context(otel_ctx)
181163
.await
182164
{
183165
Ok(task) => {
@@ -207,12 +189,10 @@ async fn handle_poll_workflow_activation_request(
207189
/// Called within the poll loop thread, calls core and triggers JS callback with result
208190
pub async fn handle_poll_activity_task_request(
209191
worker: &CoreWorker,
210-
span_context: SpanContext,
211192
channel: Arc<Channel>,
212193
callback: Root<JsFunction>,
213194
) {
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 {
216196
Ok(task) => {
217197
send_result(channel, callback, move |cx| {
218198
let len = task.encoded_len();
@@ -321,15 +301,13 @@ pub fn close_history_stream(mut cx: FunctionContext) -> JsResult<JsUndefined> {
321301
/// There should be only one concurrent poll request for this type.
322302
pub fn worker_poll_workflow_activation(mut cx: FunctionContext) -> JsResult<JsUndefined> {
323303
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)?;
326305
match worker.borrow().as_ref() {
327306
None => {
328307
callback_with_unexpected_error(&mut cx, callback, "Tried to use closed Worker")?;
329308
}
330309
Some(worker) => {
331310
let request = WorkerRequest::PollWorkflowActivation {
332-
otel_span: otel_span.as_otel_span_context(&mut cx)?,
333311
callback: callback.root(&mut cx),
334312
};
335313
if let Err(err) = worker.sender.send(request) {
@@ -344,15 +322,13 @@ pub fn worker_poll_workflow_activation(mut cx: FunctionContext) -> JsResult<JsUn
344322
/// There should be only one concurrent poll request for this type.
345323
pub fn worker_poll_activity_task(mut cx: FunctionContext) -> JsResult<JsUndefined> {
346324
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)?;
349326
match worker.borrow().as_ref() {
350327
None => {
351328
callback_with_unexpected_error(&mut cx, callback, "Tried to use closed Worker")?;
352329
}
353330
Some(worker) => {
354331
let request = WorkerRequest::PollActivityTask {
355-
otel_span: otel_span.as_otel_span_context(&mut cx)?,
356332
callback: callback.root(&mut cx),
357333
};
358334
if let Err(err) = worker.sender.send(request) {
@@ -366,9 +342,8 @@ pub fn worker_poll_activity_task(mut cx: FunctionContext) -> JsResult<JsUndefine
366342
/// Submit a workflow activation completion to core.
367343
pub fn worker_complete_workflow_activation(mut cx: FunctionContext) -> JsResult<JsUndefined> {
368344
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)?;
372347
match worker.borrow().as_ref() {
373348
None => {
374349
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<
378353
Ok(completion) => {
379354
let request = WorkerRequest::CompleteWorkflowActivation {
380355
completion,
381-
otel_span: otel_span.as_otel_span_context(&mut cx)?,
382356
callback: callback.root(&mut cx),
383357
};
384358
if let Err(err) = worker.sender.send(request) {
@@ -397,9 +371,8 @@ pub fn worker_complete_workflow_activation(mut cx: FunctionContext) -> JsResult<
397371
/// Submit an activity task completion to core.
398372
pub fn worker_complete_activity_task(mut cx: FunctionContext) -> JsResult<JsUndefined> {
399373
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)?;
403376
match worker.borrow().as_ref() {
404377
None => {
405378
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
409382
Ok(completion) => {
410383
let request = WorkerRequest::CompleteActivityTask {
411384
completion,
412-
otel_span: otel_span.as_otel_span_context(&mut cx)?,
413385
callback: callback.root(&mut cx),
414386
};
415387
if let Err(err) = worker.sender.send(request) {

0 commit comments

Comments
 (0)