private async void InsertDocuments() { if (CommandDeleteData) { DeleteDatabaseCollectionAsync(CommandDatabaseCollectionName); } var cosmosCollection = GetDatabaseCollectionAsync(CommandDatabaseCollectionName); Stopwatch timer = new Stopwatch(); timer.Start(); while (!(timer.Elapsed > (_defaultTimeout() * 2))) { try { var insertOperation = await new MongoDocumentInserter().InsertData(cosmosCollection); _testRunStatistics.AddWriteOperation(insertOperation.ElapsedTime); ConsoleWrite(ConsoleColor.Green, $"Data producer thread... :: session {insertOperation.Session.ToString()} inserted document count {insertOperation.Counter} - time elapsed {insertOperation.ElapsedTime.TotalMilliseconds}ms"); Thread.Sleep(200); } catch (MongoDocumentInsertException ie) { _testRunStatistics.AddError(); ConsoleWrite(ConsoleColor.Red, $"Data producer thread... :: exception on {ie.Session} insert {ie.SessionCounter} {ie.Message}"); } } _threadBarrier.SignalAndWait(-1); }