HttpRetryPolicy/RetryOutcome (cpp/include/kvikio/detail/http_retry.hpp) already computes per-attempt retry decisions and exponential backoff inside remote_handle.cpp's retry loop. None of it (attempt count, backoff time, final HTTP status) reaches Observation or Summary. Relevant to the cloud push specifically: a query that looks slow from max_concurrent_io_tasks's vantage point could actually be S3 throttling triggering retries, which no current metric distinguishes from ordinary latency. Add attempt_count/final_status fields to Observation, threaded from HttpRetryPolicy::evaluate().
HttpRetryPolicy/RetryOutcome(cpp/include/kvikio/detail/http_retry.hpp) already computes per-attempt retry decisions and exponential backoff insideremote_handle.cpp's retry loop. None of it (attempt count, backoff time, final HTTP status) reachesObservationorSummary. Relevant to the cloud push specifically: a query that looks slow frommax_concurrent_io_tasks's vantage point could actually be S3 throttling triggering retries, which no current metric distinguishes from ordinary latency. Addattempt_count/final_statusfields toObservation, threaded fromHttpRetryPolicy::evaluate().