Re-use Curl request when gathering stats. Rate limit it to no more than 2/second. Still keeping it synchronous and blocking for now.
Avoid using "localhost" and prefer the IPV6 loopback address of [::1] to avoid name resolution penalty for localhost.
Keep DNS cache in Curl permanently for a given request.
#rb devin.doucette
#jira UE-142437
#preflight 620a7d7b6e5d06a542963178
#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18980515 in //UE5/Release-5.0/... via CL 18980843 via CL 18981187
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)
[CL 18981362 by zousar shaker in ue5-main branch]
Unknown POST sizes cause later libcurl versions to add an Transfer-Encoding header which is not compatible with the Content-Length header. An exert from the libcurl docs; "without chunked transfer, you must specify the size in the request. (Since 7.66.0, libcurl will automatically use chunked encoding for POSTs if the size is unknown.) When providing data with a callback, you must transmit it using chunked transfer-encoding or you must set the size of the data with the CURLOPT_POSTFIELDSIZE"
#rb sbo
#rnx
#preflight 61f255fffc74f46b56569b47
[CL 18751364 by Martin Ridgers in ue5-main branch]
#preflight 61f170657266f4e79bd44c52
#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 18736232 in //UE5/Release-5.0/... via CL 18736248 via CL 18736471
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18736490 by matt peters in ue5-main branch]
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035
[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]