File tree Expand file tree Collapse file tree 1 file changed +14
-3
lines changed
Expand file tree Collapse file tree 1 file changed +14
-3
lines changed Original file line number Diff line number Diff line change 66from opentelemetry import trace
77
88from replit_river .client_transport import ClientTransport
9- from replit_river .error_schema import RiverException
9+ from replit_river .error_schema import RiverError , RiverException
1010from replit_river .transport_options import (
1111 HandshakeMetadataType ,
1212 TransportOptions ,
@@ -114,7 +114,9 @@ async def send_subscription(
114114 response_deserializer ,
115115 error_deserializer ,
116116 ):
117- yield msg
117+ if isinstance (msg , RiverError ):
118+ _record_river_error (msg )
119+ yield msg # type: ignore # https://github.com/python/mypy/issues/10817
118120
119121 async def send_stream (
120122 self ,
@@ -139,7 +141,16 @@ async def send_stream(
139141 response_deserializer ,
140142 error_deserializer ,
141143 ):
142- yield msg
144+ if isinstance (msg , RiverError ):
145+ _record_river_error (msg )
146+ yield msg # type: ignore # https://github.com/python/mypy/issues/10817
147+
148+
149+ def _record_river_error (error : RiverError ) -> None :
150+ span = trace .get_current_span ()
151+ span .record_exception (RiverException (error .code , error .message ))
152+ span .set_attribute ("river.error_code" , error .code )
153+ span .set_attribute ("river.error_message" , error .message )
143154
144155
145156@contextmanager
You can’t perform that action at this time.
0 commit comments