armeria: Request time does not take into account connection creation
Reported in https://line-armeria.slack.com/archives/C1NGPBUH2/p1574122806097100
I believe this is a regression after moving Endpoint selection to the begging of the request. We call startRequest only when about to send the request, but not anymore. This is affecting spans, but I think it also affects our totalDuration metric equally.
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 1
- Comments: 18 (1 by maintainers)
Commits related to this issue
- Add connection timing annotations to client spans. (#2273) Annotations are displayed in the Zipkin UI as a table to be able to see time spent in individual steps of a span. It should be useful to use... — committed to line/armeria by anuraaga 5 years ago
- Make requestStartTime set before a connection attempt Motivation: When a request involves a new connection attempt, `requestDuration` and `totalDuration` of the request must include the time taken f... — committed to trustin/armeria by trustin 4 years ago
- Make requestStartTime set before a connection attempt (#2436) Motivation: When a request involves a new connection attempt, `requestDuration` and `totalDuration` of the request must include the t... — committed to line/armeria by trustin 4 years ago
- Add connection timing annotations to client spans. (#2273) Annotations are displayed in the Zipkin UI as a table to be able to see time spent in individual steps of a span. It should be useful to use... — committed to fmguerreiro/armeria by anuraaga 5 years ago
- Make requestStartTime set before a connection attempt (#2436) Motivation: When a request involves a new connection attempt, `requestDuration` and `totalDuration` of the request must include the t... — committed to fmguerreiro/armeria by trustin 4 years ago
Realized it may not be a regression and there from the start -
startRequesttakes a channel so it could only ever be called after connection is complete. I’m a bit confused since I thought we have heard evidence of people debugging DNS resolution slowness using metrics, but I guess they’ve used server latency instead of client latency to find that.It’ll be quite a refactor to record start timing without a channel 😅