buildkite / buildkite-agent-metrics

A command-line tool (and Lambda) for collecting Buildkite agent metrics
MIT License
67 stars 50 forks source link

Log DNS resolution times when debug http is enabled #278

Closed patrobinson closed 4 months ago

patrobinson commented 4 months ago

We print the time when a request starts and a response is received, but this also includes any DNS resolution. To help debug slow DNS issues this PR now prints the timings when it starts/stops.

Inspired by https://github.com/golang/go/issues/21906#issuecomment-332116942

Output:

dns start: 2024-05-03 17:25:37.519031 +1000 AEST m=+0.013530292
dns done: 2024-05-03 17:25:37.556161 +1000 AEST m=+0.050660126
connection start: 2024-05-03 17:25:37.556272 +1000 AEST m=+0.050770667
connection done: 2024-05-03 17:25:37.708357 +1000 AEST m=+0.202855251
TLS Handshake start: 2024-05-03 17:25:37.70846 +1000 AEST m=+0.202958042
TLS Handshake done: 2024-05-03 17:25:37.872324 +1000 AEST m=+0.366821292
wrote headers: 2024-05-03 17:25:37.872614 +1000 AEST m=+0.367111959
wrote request: 2024-05-03 17:25:37.87262 +1000 AEST m=+0.367117334