@@ -67,12 +67,17 @@ export function getHttpClientSubscriptions(options: HttpInstrumentationOptions):
6767 if ( ! createSpans ) {
6868 // Even without spans, set up a response listener for breadcrumbs.
6969 if ( breadcrumbs ) {
70+ const onRequestError = ( ) => {
71+ addOutgoingRequestBreadcrumb ( request , undefined ) ;
72+ } ;
73+ request . on ( errorMonitor , onRequestError ) ;
7074 request . prependListener ( 'response' , response => {
75+ // no longer need this, got a response.
76+ request . removeListener ( errorMonitor , onRequestError ) ;
7177 if ( request . listenerCount ( 'response' ) <= 1 ) {
7278 response . resume ( ) ;
7379 }
7480 response . on ( 'end' , ( ) => addOutgoingRequestBreadcrumb ( request , response ) ) ;
75- // TODO: should we include the response here, even though it errored?
7681 response . on ( errorMonitor , ( ) => addOutgoingRequestBreadcrumb ( request , undefined ) ) ;
7782 } ) ;
7883 }
@@ -113,6 +118,9 @@ export function getHttpClientSubscriptions(options: HttpInstrumentationOptions):
113118
114119 request . on ( errorMonitor , error => {
115120 DEBUG_BUILD && debug . log ( LOG_PREFIX , 'outgoingRequest on request error()' , error ) ;
121+ if ( breadcrumbs ) {
122+ addOutgoingRequestBreadcrumb ( request , undefined ) ;
123+ }
116124 endSpan ( { code : SPAN_STATUS_ERROR } ) ;
117125 } ) ;
118126
0 commit comments