static async Task <IResponseResult> GetTimedResponse(string url) { using var http = new HttpClient(); IResponseResult result; try { Stopwatch watch = Stopwatch.StartNew(); var response = await http.GetAsync(url); result = new ResponseTimeResult( url, (int)response.StatusCode, watch.ElapsedMilliseconds ); } catch (Exception e) { result = new ResponseError(url, e); } return(result); }
private static string FormatTiming(ResponseTimeResult timing) { return(StTiming("min", timing.Min) + StTiming("med", timing.Median) + StTiming("max", timing.Max) + StTiming("P(90)", timing.P90) + StTiming("P(95)", timing.P95)); }