createInstrumentedHttpClient function

HttpClient createInstrumentedHttpClient({
  1. SecurityContext? context,
})

Creates an HttpClient whose connectionFactory records DNS + TCP connect durations into the current HttpClientConnectTiming zone value.

Must not use the public HttpClient() factory: that re-enters HttpOverrides.current and infinite-loops when global tracking overrides (e.g. TrackedHttpOverrides) are installed. A fresh root HttpOverrides builds the real client without going through the global override.

Implementation

HttpClient createInstrumentedHttpClient({SecurityContext? context}) {
  final client = _RootHttpOverrides().createHttpClient(context);
  applyInstrumentedConnectionFactory(client);
  return client;
}