public async Task RunAsPermanentCollection() { List <InsertResult> insertResults = new List <InsertResult>(); CosmosScaleOperator op = new CosmosScaleOperator(_client, 400, 5000, "test", "test1"); await op.InitializeAsync(Models.StateMetaDataStorage.PermamentCosmosCollection); TextWriterTraceListener tr = new TextWriterTraceListener(System.IO.File.CreateText("scale.txt")); Trace.Listeners.Add(tr); Trace.AutoFlush = true; var res5k = await InsertAsBulkCAS(5000, UriFactory.CreateDocumentCollectionUri("test1", "test1"), op); insertResults.Add(res5k); ReportResults(insertResults, "runAsPermamentcollection"); Thread.Sleep(TimeSpan.FromMinutes(3)); }
private async Task <InsertResult> InsertAsBulkCAS(int count, Uri _collectionUri, CosmosScaleOperator _cosmosOperator) { var totalInsertedStart = (_cosmosOperator.QueryCosmos <long>("select value count(1) from c")).FirstOrDefault(); InsertResult result = new InsertResult(); result.Count = count; var insertObjects = new ConcurrentBag <CosmosTestOperationObject>(); Parallel.For(0, count, (x) => { insertObjects.Add(new CosmosTestOperationObject { SomeRandomProperty = rd.Next(1, 300000), SomeRandomProperty2 = rd.Next(1, 100) }); }); Stopwatch st = new Stopwatch(); st.Start(); result.BulkInsertOpeartionResult = _cosmosOperator.BulkInsertDocuments(insertObjects); st.Stop(); var totalInserted = (_cosmosOperator.QueryCosmos <long>("select value count(1) from c")).FirstOrDefault(); result.TotalRunTime = st.Elapsed.TotalSeconds; result.SuccessRate = ((totalInserted - totalInsertedStart) / (double)count) * 100; return(result); }