Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion codex-rs/codex-api/src/endpoint/responses_websocket.rs
Original file line number Diff line number Diff line change
Expand Up @@ -668,7 +668,6 @@ async fn run_websocket_response_stream(

match message {
Message::Text(text) => {
trace!("websocket event: {text}");
if let Some(wrapped_error) = parse_wrapped_websocket_error_event(&text)
&& let Some(error) =
map_wrapped_websocket_error_event(wrapped_error, text.to_string())
Expand Down
46 changes: 5 additions & 41 deletions codex-rs/otel/src/events/session_telemetry.rs
Original file line number Diff line number Diff line change
Expand Up @@ -707,7 +707,6 @@ impl SessionTelemetry {
duration: Duration,
) {
let mut kind = None;
let mut error_message = None;
let mut success = true;

match result {
Expand All @@ -724,49 +723,26 @@ impl SessionTelemetry {
}
if kind.as_deref() == Some("response.failed") {
success = false;
error_message = value
.get("response")
.and_then(|value| value.get("error"))
.map(serde_json::Value::to_string)
.or_else(|| Some("response.failed event received".to_string()));
}
}
Err(err) => {
Err(_) => {
kind = Some("parse_error".to_string());
error_message = Some(err.to_string());
success = false;
}
}
}
tokio_tungstenite::tungstenite::Message::Binary(_) => {
success = false;
error_message = Some("unexpected binary websocket event".to_string());
}
tokio_tungstenite::tungstenite::Message::Ping(_)
| tokio_tungstenite::tungstenite::Message::Pong(_) => {
return;
}
tokio_tungstenite::tungstenite::Message::Close(_) => {
tokio_tungstenite::tungstenite::Message::Binary(_)
| tokio_tungstenite::tungstenite::Message::Close(_)
| tokio_tungstenite::tungstenite::Message::Frame(_) => {
success = false;
error_message =
Some("websocket closed by server before response.completed".to_string());
}
tokio_tungstenite::tungstenite::Message::Frame(_) => {
success = false;
error_message = Some("unexpected websocket frame".to_string());
}
},
Ok(Some(Err(err))) => {
Ok(Some(Err(_))) | Ok(None) | Err(_) => {
success = false;
error_message = Some(err.to_string());
}
Ok(None) => {
success = false;
error_message = Some("stream closed before response.completed".to_string());
}
Err(err) => {
success = false;
error_message = Some(err.to_string());
}
}

Expand All @@ -775,18 +751,6 @@ impl SessionTelemetry {
let tags = [("kind", kind_str), ("success", success_str)];
self.counter(WEBSOCKET_EVENT_COUNT_METRIC, /*inc*/ 1, &tags);
self.record_duration(WEBSOCKET_EVENT_DURATION_METRIC, duration, &tags);
log_and_trace_event!(
self,
common: {
event.name = "codex.websocket_event",
event.kind = %kind_str,
duration_ms = %duration.as_millis(),
success = success_str,
error.message = error_message.as_deref(),
},
log: {},
trace: {},
);
}

pub fn log_sse_event<E>(
Expand Down
Loading