Skip to content

Commit 2ca1b45

Browse files
Merge remote-tracking branch 'origin/devin/1764930550-sentry-trace-propagation' into devin/1764930550-sentry-trace-propagation
Co-Authored-By: yujonglee <[email protected]>
2 parents 9e4bc80 + fcc1a24 commit 2ca1b45

File tree

2 files changed

+33
-41
lines changed

2 files changed

+33
-41
lines changed

apps/api/src/listen.ts

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,6 @@ export const listenSocketHandler: Handler<AppBindings> = async (c, next) => {
2323
return Sentry.startSpan(
2424
{ name: `WebSocket /listen ${provider}`, op: "websocket.server" },
2525
async () => {
26-
Sentry.addBreadcrumb({
27-
category: "websocket",
28-
message: `Starting WebSocket connection for provider: ${provider}`,
29-
level: "info",
30-
data: { provider },
31-
});
32-
3326
let connection: WsProxyConnection;
3427
try {
3528
connection = createProxyFromRequest(clientUrl, c.req.raw.headers);
@@ -88,12 +81,6 @@ export const listenSocketHandler: Handler<AppBindings> = async (c, next) => {
8881
return {
8982
onOpen(_event, ws) {
9083
connection.initializeUpstream(ws.raw);
91-
Sentry.addBreadcrumb({
92-
category: "websocket",
93-
message: "Client WebSocket opened",
94-
level: "info",
95-
data: { provider },
96-
});
9784
},
9885
async onMessage(event) {
9986
const payload = await normalizeWsData(event.data);

plugins/listener/src/actors/listener.rs

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -310,34 +310,39 @@ fn build_extra(args: &ListenerArgs) -> (f64, Extra) {
310310
fn build_trace_headers(args: &ListenerArgs, provider_name: &str) -> TraceHeaders {
311311
let mut trace_headers = TraceHeaders::default();
312312

313-
sentry::configure_scope(|scope| {
314-
scope.set_tag("session_id", &args.session_id);
315-
scope.set_tag("stt_provider", provider_name);
316-
scope.set_tag("channel_mode", format!("{:?}", args.mode));
317-
scope.set_tag("model", &args.model);
318-
scope.set_tag(
319-
"languages",
320-
args.languages
321-
.iter()
322-
.map(|l| l.iso639().code())
323-
.collect::<Vec<_>>()
324-
.join(","),
325-
);
326-
scope.set_tag("onboarding", args.onboarding.to_string());
327-
328-
if let Some(span) = scope.get_span() {
329-
trace_headers.sentry_trace = span
330-
.iter_headers()
331-
.find(|(k, _)| *k == "sentry-trace")
332-
.map(|(_, v)| v.to_string())
333-
.filter(|s| !s.is_empty());
334-
trace_headers.baggage = span
335-
.iter_headers()
336-
.find(|(k, _)| *k == "baggage")
337-
.map(|(_, v)| v.to_string())
338-
.filter(|s| !s.is_empty());
339-
}
340-
});
313+
sentry::with_scope(
314+
|scope| {
315+
scope.set_tag("session_id", &args.session_id);
316+
scope.set_tag("stt_provider", provider_name);
317+
scope.set_tag("channel_mode", format!("{:?}", args.mode));
318+
scope.set_tag("model", &args.model);
319+
scope.set_tag(
320+
"languages",
321+
args.languages
322+
.iter()
323+
.map(|l| l.iso639().code())
324+
.collect::<Vec<_>>()
325+
.join(","),
326+
);
327+
scope.set_tag("onboarding", args.onboarding.to_string());
328+
},
329+
|| {
330+
sentry::configure_scope(|scope| {
331+
if let Some(span) = scope.get_span() {
332+
trace_headers.sentry_trace = span
333+
.iter_headers()
334+
.find(|(k, _)| *k == "sentry-trace")
335+
.map(|(_, v)| v.to_string())
336+
.filter(|s| !s.is_empty());
337+
trace_headers.baggage = span
338+
.iter_headers()
339+
.find(|(k, _)| *k == "baggage")
340+
.map(|(_, v)| v.to_string())
341+
.filter(|s| !s.is_empty());
342+
}
343+
});
344+
},
345+
);
341346

342347
trace_headers
343348
}

0 commit comments

Comments
 (0)