public static async Task <LoadTestThreadResults> RunThreadLoadTestsSimulateLoggingAsync(string endpoint, string logStashEndpoint, LoadTestThreadData threadData, CancellationToken ct) { Debug.Print("Entered RunThreadLoadTestsAsync."); var loadTestResults = new LoadTestThreadResults(threadData.ThreadID) { }; var target = new GDServiceTarget { GuaranteedDeliveryEndpoint = endpoint, NetworkJsonEndpoint = logStashEndpoint }; Debug.Print("New GDServiceTarget Created."); // Logging Operations // ================================= for (var inc = 0; inc < threadData.NumTimesToExecute; inc++) { var rnd = new Random(); var rInt = rnd.Next(0, threadData.TestDocuments.Count - 1); var currentTestDocument = threadData.TestDocuments[rInt]; var docStorageCallData = new SignalRCallData() { TestDataName = currentTestDocument.Item1, TotalBytes = currentTestDocument.Item2.Length }; var sw = Stopwatch.StartNew(); try { await target.WriteAsync(currentTestDocument.Item2); sw.Stop(); docStorageCallData.CallTimeMS = sw.ElapsedMilliseconds; docStorageCallData.BytesPerMS = docStorageCallData.TotalBytes / (double)docStorageCallData.CallTimeMS; } catch (OperationCanceledException) { throw; } catch (Exception) { sw.Stop(); docStorageCallData.CallTimeMS = sw.ElapsedMilliseconds; docStorageCallData.CallFailed = true; } loadTestResults.CallStats.Add(docStorageCallData); ct.ThrowIfCancellationRequested(); } return(loadTestResults); }
public static async Task <LoadTestThreadResults> RunThreadLoadTestsActuallyLoggingAsync(string endpoint, string logStashEndpoint, LoadTestThreadData threadData, CancellationToken ct) { Debug.Print("Entered RunThreadLoadTestsActuallyLoggingAsync."); var loadTestResults = new LoadTestThreadResults(threadData.ThreadID) { }; // Logging Operations // ================================= for (var inc = 0; inc < threadData.NumTimesToExecute; inc++) { var docStorageCallData = new SignalRCallData(); var sw = Stopwatch.StartNew(); try { docStorageCallData = LogRandomEvent(); sw.Stop(); docStorageCallData.CallTimeMS = sw.ElapsedMilliseconds; docStorageCallData.BytesPerMS = docStorageCallData.TotalBytes / (double)docStorageCallData.CallTimeMS; } catch (OperationCanceledException) { throw; } catch (Exception) { sw.Stop(); docStorageCallData.CallTimeMS = sw.ElapsedMilliseconds; docStorageCallData.CallFailed = true; } loadTestResults.CallStats.Add(docStorageCallData); ct.ThrowIfCancellationRequested(); } return(loadTestResults); }