Exemple #1
0
        static void Main(string[] args)
        {
            HadrTestBase hadrTestBase = new HadrTestBase();

            hadrTestBase.Setup();

            hadrTestBase.ScanDBsFromEnvironment();


            Run(hadrTestBase);

            Console.ReadKey();
        }
Exemple #2
0
        static void Run(HadrTestBase hadrTestBase)
        {
            bool Alive = true;

            do
            {
                string command = Console.ReadLine();
                // parse command
                string[] param = command.Split(' ');
                if (param != null)
                {
                    switch (param[0])
                    {
                    case "AddDatabase":
                        string dbNumber   = param[1];
                        int    numberOfDB = 0;
                        if (Int32.TryParse(dbNumber, out numberOfDB))
                        {
                            hadrTestBase.AddDatabases(numberOfDB);
                        }
                        else
                        {
                            Console.WriteLine("invalid number.");
                        }
                        break;

                    case "AddReplica":
                        string arNumber   = param[1];
                        int    numberOfAR = 0;
                        if (Int32.TryParse(arNumber, out numberOfAR))
                        {
                            CreateReplica(numberOfAR);
                        }
                        else
                        {
                            Console.WriteLine("invalid number.");
                        }
                        break;

                    case "StartTraffic":
                        hadrTestBase.StartPartialTraffic();
                        break;

                    case "RefreshTraffic":
                        hadrTestBase.StartFullTraffic();
                        break;

                    case "DrainTraffic":
                        hadrTestBase.DrainTraffic();
                        break;

                    case "Cleanup":
                        Alive = false;
                        hadrTestBase.CleanUp();
                        break;

                    case "quit":
                        Alive = false;
                        break;

                    case "Check":
                        string str_cpuCount      = param[1];
                        string str_workloadCount = param[2];
                        int    cpuCount          = 0;
                        int    workloadCount     = 0;
                        if (!Int32.TryParse(str_cpuCount, out cpuCount))
                        {
                            Console.WriteLine("invalid number.");
                            break;
                        }
                        if (!Int32.TryParse(str_workloadCount, out workloadCount))
                        {
                            Console.WriteLine("invalid number.");
                            break;
                        }

                        var t = new Thread(() => hadrTestBase.ExecuteQuery(cpuCount, workloadCount));
                        t.Start();
                        break;

                    default:
                        Console.WriteLine("No Valid parameter");
                        break;
                    }
                }
            } while (Alive);
        }