public RoomManagerLoadTesting(ServerStateMachine serverStateMachine, ServerAccount serverAccount) { Console.WriteLine("Start Rooms Tests..."); // TestServerStateMachine testServerStateMachine = new TestServerStateMachine(); TestRoomManager testRoomManager = new TestRoomManager(serverStateMachine, serverAccount); LoadTestCreateNewRooms(testRoomManager, delegate() { LoadTestGetRoom(testRoomManager, delegate() { //LoadTestJoinRoom(testAvatarManager, delegate() //{ //}); }); }); //Console.WriteLine("Finished All Rooms Tests!"); }
private void LoadTestGetRoomCallback(TestRoomManager testRoomManager, RoomId roomId, System.IO.TextWriter tw, System.Action gotRoomsDoneCallback) { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); testRoomManager.TestGetRoom(roomId, delegate(IServerDistributedRoom room) { stopWatch.Stop(); tw.WriteLine("It took " + stopWatch.Elapsed.ToString() + " to get room: " + room.RoomName); Console.WriteLine("It took " + stopWatch.Elapsed.ToString() + " to get room: " + room.RoomName); mNumberOfRoomsGotten++; if (mNumberOfRoomsToCreate == mNumberOfRoomsGotten) { gotRoomsDoneCallback(); } }); }
private void LoadTestCreateNewRoomCallback(TestRoomManager testRoomManager, int roomIndex, System.IO.TextWriter tw, System.Action createdRoomsDoneCallback) { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); testRoomManager.CreateNewRoomInDatabase(Guid.Empty, "test room #" + roomIndex, Hangout.Shared.RoomType.GreenScreenRoom, Hangout.Shared.PrivacyLevel.Private, delegate(IServerDistributedRoom room) { stopWatch.Stop(); tw.WriteLine("It took " + stopWatch.Elapsed.ToString() + " to create room: " + room.RoomName); Console.WriteLine("It took " + stopWatch.Elapsed.ToString() + " to create room: " + room.RoomName); mNumberOfRoomsCreated++; mRoomIdsCreated.Add(room.RoomId); if (mNumberOfRoomsToCreate == mNumberOfRoomsCreated) { createdRoomsDoneCallback(); } }); }
private void LoadTestGetRoom(TestRoomManager testRoomManager, System.Action getRoomDoneCallback) { // create a writer and open the file System.IO.TextWriter tw = new System.IO.StreamWriter("C:/TestGetRoomLoadTest.txt"); Console.WriteLine("Getting " + mNumberOfRoomsToCreate + " rooms..."); tw.WriteLine("Getting " + mNumberOfRoomsToCreate + " rooms..."); Stopwatch runEntireTestStopWatch = new Stopwatch(); runEntireTestStopWatch.Start(); System.Action gotRoomsDoneCallback = delegate() { runEntireTestStopWatch.Stop(); tw.WriteLine("Total time it took to get " + mNumberOfRoomsToCreate + " of rooms: " + runEntireTestStopWatch.Elapsed.ToString()); Console.WriteLine("Total time it took to get " + mNumberOfRoomsToCreate + " of rooms: " + runEntireTestStopWatch.Elapsed.ToString()); // close the stream tw.Close(); getRoomDoneCallback(); }; BackgroundWorker bgWorker = new BackgroundWorker(); bgWorker.DoWork += new DoWorkEventHandler(delegate(object o, DoWorkEventArgs args) { foreach (RoomId roomId in mRoomIdsCreated) { LoadTestGetRoomCallback(testRoomManager, roomId, tw, gotRoomsDoneCallback); System.Threading.Thread.Sleep((int)(mRoomsPerSecond * 1000)); } }); bgWorker.RunWorkerAsync(); }