@@ -129,23 +129,25 @@ func TraceRoute(ctx context.Context, cfg tracerouteConfig) (map[int][]Hop, error
129
129
wg .Add (1 )
130
130
go func (ttl int ) {
131
131
defer wg .Done ()
132
+ l := log .With ("ttl" , ttl )
133
+ logctx := logger .IntoContext (ctx , l )
132
134
err := helper .Retry (func (ctx context.Context ) error {
133
135
hop , err := traceroute (ctx , addr , ttl , cfg .Timeout )
134
136
if hop != nil {
135
137
results <- * hop
136
138
}
137
139
if err != nil {
138
- log .Error ("traceroute failed" , "err" , err .Error (), "ttl" , ttl )
140
+ l .Error ("traceroute failed" , "err" , err .Error ())
139
141
return err
140
142
}
141
143
if ! hop .Reached {
142
- log .Debug ("failed to reach target, retrying" , "ttl" , ttl )
144
+ l .Debug ("failed to reach target, retrying" )
143
145
return errors .New ("failed to reach target" )
144
146
}
145
147
return nil
146
- }, cfg .Rc )(ctx )
148
+ }, cfg .Rc )(logctx )
147
149
if err != nil {
148
- log .Debug ("traceroute could not reach target" , "ttl" , ttl )
150
+ l .Debug ("traceroute could not reach target" )
149
151
}
150
152
}(ttl )
151
153
}
@@ -180,7 +182,7 @@ func traceroute(ctx context.Context, addr net.Addr, ttl int, timeout time.Durati
180
182
log := logger .FromContext (ctx )
181
183
canIcmp , icmpListener , err := newIcmpListener ()
182
184
if err != nil {
183
- log .Error ("Failed to open ICMP socket" , "err" , err .Error (), "ttl" , ttl )
185
+ log .Error ("Failed to open ICMP socket" , "err" , err .Error ())
184
186
return nil , err
185
187
}
186
188
defer closeIcmpListener (canIcmp , icmpListener )
@@ -193,7 +195,7 @@ func traceroute(ctx context.Context, addr net.Addr, ttl int, timeout time.Durati
193
195
}
194
196
195
197
if ! canIcmp {
196
- log .Debug ("No permission for icmp socket" , "ttl" , ttl )
198
+ log .Debug ("No permission for icmp socket" )
197
199
return & Hop {
198
200
Latency : latency ,
199
201
Ttl : ttl ,
@@ -271,10 +273,10 @@ func handleIcmpResponse(ctx context.Context, icmpListener *icmp.PacketConn, clie
271
273
deadline := time .Now ().Add (timeout )
272
274
273
275
for time .Now ().Unix () < deadline .Unix () {
274
- log .Debug ("Reading ICMP message" , "ttl" , ttl )
276
+ log .Debug ("Reading ICMP message" )
275
277
gotPort , addr , err := readIcmpMessage (ctx , icmpListener , timeout )
276
278
if err != nil {
277
- log .Debug ("Failed to read ICMP message" , "err" , err .Error (), "ttl" , ttl )
279
+ log .Debug ("Failed to read ICMP message" , "err" , err .Error ())
278
280
continue
279
281
}
280
282
@@ -296,7 +298,7 @@ func handleIcmpResponse(ctx context.Context, icmpListener *icmp.PacketConn, clie
296
298
}
297
299
}
298
300
299
- log .Debug ("Deadline reached" , "ttl" , ttl )
301
+ log .Debug ("Deadline reached" )
300
302
return Hop {
301
303
Ttl : ttl ,
302
304
}
0 commit comments