Where did the timeout come from?
Work backward from the first deadline that actually expired.
Start with one failed request and reconstruct its path across the client, proxy, service, and downstream calls. A timeout surfaced by one layer often tells you where the wait ended and very little about where it began.
Compare the request deadline with connection-pool wait time, downstream latency, and retry attempts. If a layer starts another attempt with less remaining time than that attempt needs, the retry consumes capacity and gives the caller little chance of a successful response.