@@ -53,30 +53,37 @@ function parseHeaders (headers) {
53
53
} )
54
54
return object
55
55
}
56
+ const channels = {
57
+ requestChannel : undefined ,
58
+ headersChannel : undefined ,
59
+ errorChannel : undefined
60
+ }
56
61
57
62
function diagnostics ( tracer , config ) {
58
63
let diagnosticsChannel
59
64
try {
60
65
diagnosticsChannel = require ( 'diagnostics_channel' )
61
66
} catch ( e ) {
62
- log . error ( "Unable to configure undici, cannot require 'diagnostics_channel'" )
67
+ log . error (
68
+ "Unable to configure undici, cannot require 'diagnostics_channel'"
69
+ )
63
70
return ( ) => { }
64
71
}
65
72
config = normalizeConfig ( tracer , config )
66
73
67
- const requestChannel = diagnosticsChannel . channel ( 'undici:request:create' )
68
- const headersChannel = diagnosticsChannel . channel ( 'undici:request:headers' )
69
- const requestErrorChannel = diagnosticsChannel . channel (
70
- 'undici:request:error'
74
+ channels . requestChannel = diagnosticsChannel . channel ( 'undici:request:create' )
75
+ channels . headersChannel = diagnosticsChannel . channel (
76
+ 'undici:request:headers'
71
77
)
78
+ channels . errorChannel = diagnosticsChannel . channel ( 'undici:request:error' )
79
+
80
+ channels . requestChannel . subscribe ( handleRequestCreate )
81
+ channels . errorChannel . subscribe ( handleRequestError )
82
+ channels . headersChannel . subscribe ( handleRequestHeaders )
72
83
73
84
// We use a weakmap here to store the request / spans
74
85
const requestSpansMap = new WeakMap ( )
75
86
76
- requestChannel . subscribe ( handleRequestCreate )
77
- requestErrorChannel . subscribe ( handleRequestError )
78
- headersChannel . subscribe ( handleRequestHeaders )
79
-
80
87
function handleRequestCreate ( { request } ) {
81
88
const method = ( request . method || 'GET' ) . toUpperCase ( )
82
89
@@ -123,14 +130,14 @@ function diagnostics (tracer, config) {
123
130
}
124
131
125
132
return function unsubscribe ( ) {
126
- if ( requestChannel . hasSubscribers ) {
127
- requestChannel . unsubscribe ( handleRequestCreate )
133
+ if ( channels . requestChannel . hasSubscribers ) {
134
+ channels . requestChannel . unsubscribe ( handleRequestCreate )
128
135
}
129
- if ( headersChannel . hasSubscribers ) {
130
- headersChannel . unsubscribe ( handleRequestHeaders )
136
+ if ( channels . headersChannel . hasSubscribers ) {
137
+ channels . headersChannel . unsubscribe ( handleRequestHeaders )
131
138
}
132
- if ( requestErrorChannel . hasSubscribers ) {
133
- requestErrorChannel . unsubscribe ( handleRequestError )
139
+ if ( channels . requestErrorChannel . hasSubscribers ) {
140
+ channels . errorChannel . unsubscribe ( handleRequestError )
134
141
}
135
142
}
136
143
}
0 commit comments