Summary
http.ping in packages/data/src/http.ts records latency history only after etch() succeeds. If a request times out, is aborted, or fails DNS/TCP, the returned HealthResult includes a latency value, but http.latency(url) never records it.
Reproduction
- Call �wait http.ping('http://127.0.0.1:1') or another endpoint that fails quickly.
- Observe that the returned result has status: 'down' and a measured latency.
- Call http.latency(url).
Expected behavior
Latency history should include failed checks as well, since the health result exposes a latency and dashboards/sparklines need outage timing too.
Actual behavior
Only successful fetch attempts are pushed into _latencyHistory, so down endpoints appear to have no history.
Summary
http.ping in packages/data/src/http.ts records latency history only after etch() succeeds. If a request times out, is aborted, or fails DNS/TCP, the returned HealthResult includes a latency value, but http.latency(url) never records it.
Reproduction
Expected behavior
Latency history should include failed checks as well, since the health result exposes a latency and dashboards/sparklines need outage timing too.
Actual behavior
Only successful fetch attempts are pushed into _latencyHistory, so down endpoints appear to have no history.