diff --git a/services/rfq/api/client/client.go b/services/rfq/api/client/client.go index 2ff8c44bad..c8af1e749b 100644 --- a/services/rfq/api/client/client.go +++ b/services/rfq/api/client/client.go @@ -278,8 +278,9 @@ func (c *clientImpl) processWebsocket(ctx context.Context, conn *websocket.Conn, return nil case msg, ok := <-reqChan: if !ok { - return nil + return fmt.Errorf("error reading from reqChan: %w", ctx.Err()) } + fmt.Printf("sending message to websocket: %+v\n", msg) err := conn.WriteJSON(msg) if err != nil { return fmt.Errorf("error sending message to websocket: %w", err) diff --git a/services/rfq/api/rest/ws.go b/services/rfq/api/rest/ws.go index 15a8d7871a..0db91a5840 100644 --- a/services/rfq/api/rest/ws.go +++ b/services/rfq/api/rest/ws.go @@ -131,6 +131,8 @@ func (c *wsClient) Run(ctx context.Context) (err error) { } case <-c.pingTicker.C: // ping timed out, close the connection + _, span := c.handler.Tracer().Start(ctx, "pingTimeout") + defer metrics.EndSpanWithErr(span, err) cancel() } } @@ -176,6 +178,14 @@ func (c *wsClient) sendRelayerRequest(ctx context.Context, req *model.WsRFQReque // handleRelayerMessage handles messages from the relayer. // An error returned will result in the websocket connection being closed. func (c *wsClient) handleRelayerMessage(ctx context.Context, msg []byte) (err error) { + _, span := c.handler.Tracer().Start(ctx, "handleRelayerMessage", trace.WithAttributes( + attribute.String("relayer_address", c.relayerAddr), + attribute.String("message", string(msg)), + )) + defer func() { + metrics.EndSpanWithErr(span, err) + }() + var rfqMsg model.ActiveRFQMessage err = json.Unmarshal(msg, &rfqMsg) if err != nil { @@ -205,8 +215,6 @@ func (c *wsClient) handleRelayerMessage(ctx context.Context, msg []byte) (err er case SendQuoteOp: err = c.handleSendQuote(ctx, rfqMsg.Content) logger.Errorf("error handling send quote: %v", err) - case PongOp: - c.lastPing = time.Now() default: logger.Errorf("received unexpected operation from relayer: %s", rfqMsg.Op) return nil diff --git a/services/rfq/relayer/quoter/quoter.go b/services/rfq/relayer/quoter/quoter.go index 8d12602d36..3a7662813e 100644 --- a/services/rfq/relayer/quoter/quoter.go +++ b/services/rfq/relayer/quoter/quoter.go @@ -285,7 +285,7 @@ func (m *Manager) SubscribeActiveRFQ(ctx context.Context) (err error) { return nil case msg, ok := <-respChan: if !ok { - return nil + return fmt.Errorf("error subscribing to active quotes: %w", ctx.Err()) } if msg == nil { continue