static void Main(string[] args) { RSACryptoManager cMgr = new RSACryptoManager("cspblob.bin"); HttpRequestsManager hMgr = new HttpRequestsManager("http://localhost:5000/api/ingress/influx/", true); ConcurrentDictionary <string, int> results = new ConcurrentDictionary <string, int>(); Stopwatch timer2 = new Stopwatch(); timer2.Start(); int legitTraffic = 500; int sigFailTraffic = 200; int invalidPayloadTraffic = 200; //var tasks = Enumerable.Range(0, taskCount).Select(p => SendDataToIngress2(cMgr, hMgr, results)); //Task.WhenAll(tasks).Wait(); for (int i = 1; i <= legitTraffic; i++) { InfluxTelemetry inobj = generateRandomData(cMgr, true, true); Task <string> task = Task.Run <string>(async() => await SendDataToIngress2(hMgr, inobj)); recordTestResults(task, results); } for (int i = 1; i <= sigFailTraffic; i++) { InfluxTelemetry inobj = generateRandomData(cMgr, true, false); Task <string> task = Task.Run <string>(async() => await SendDataToIngress2(hMgr, inobj)); recordTestResults(task, results); } for (int i = 1; i <= invalidPayloadTraffic; i++) { InfluxTelemetry inobj = generateRandomData(cMgr, false, false); Task <string> task = Task.Run <string>(async() => await SendDataToIngress2(hMgr, inobj)); recordTestResults(task, results); } timer2.Stop(); TimeSpan timeTaken2 = timer2.Elapsed; Console.WriteLine(timeTaken2.ToString()); printTestResults(results); }
static async Task <string> SendDataToIngress2(HttpRequestsManager hm, InfluxTelemetry inobj) { string statusCode = await hm.sendData(inobj); return(await hm.sendData(inobj)); }