diff --git a/ext/telemetry/lib.rs b/ext/telemetry/lib.rs index 9612401014..06210a70e7 100644 --- a/ext/telemetry/lib.rs +++ b/ext/telemetry/lib.rs @@ -732,9 +732,9 @@ fn op_otel_instrumentation_scope_enter( #[op2(fast)] fn op_otel_instrumentation_scope_enter_builtin(state: &mut OpState) { - state.put(InstrumentationScope( - BUILT_IN_INSTRUMENTATION_SCOPE.get().unwrap().clone(), - )); + if let Some(scope) = BUILT_IN_INSTRUMENTATION_SCOPE.get() { + state.put(InstrumentationScope(scope.clone())); + } } #[op2(fast)] @@ -749,6 +749,9 @@ fn op_otel_log( let Some(Processors { logs, .. }) = OTEL_PROCESSORS.get() else { return; }; + let Some(instrumentation_scope) = BUILT_IN_INSTRUMENTATION_SCOPE.get() else { + return; + }; // Convert the integer log level that ext/console uses to the corresponding // OpenTelemetry log severity. @@ -776,10 +779,7 @@ fn op_otel_log( ); } - logs.emit( - &mut log_record, - BUILT_IN_INSTRUMENTATION_SCOPE.get().unwrap(), - ); + logs.emit(&mut log_record, instrumentation_scope); } fn owned_string<'s>( diff --git a/ext/telemetry/telemetry.ts b/ext/telemetry/telemetry.ts index e9e38d1592..acdfd4d715 100644 --- a/ext/telemetry/telemetry.ts +++ b/ext/telemetry/telemetry.ts @@ -220,6 +220,7 @@ function submitSpan( startTime: number, endTime: number, ) { + if (!TRACING_ENABLED) return; if (!(traceFlags & TRACE_FLAG_SAMPLED)) return; // TODO(@lucacasonato): `resource` is ignored for now, should we implement it?