public static Tuple <object, Type> CreateOp(string opName, WorkerToolkit tk)
        {
            if (opName.Contains("scenario"))
            {
                opName = tk.BenchmarkCellConfig.Scenario;
            }
            opName += "Op";

            var myType = typeof(OperationFactory);
            var nspace = myType.Namespace;

            var q = from t in Assembly.GetExecutingAssembly().GetTypes()
                    where t.IsClass && t.Namespace == nspace
                    select t;

            object obj  = new object();
            Type   type = typeof(object);

            q.ToList().ForEach(t =>
            {
                if (string.Equals(t.Name, opName, StringComparison.OrdinalIgnoreCase))
                {
                    obj  = Activator.CreateInstance(t);
                    type = t;
                }
            });

            if (type == typeof(object))
            {
                Util.Log($"cannot find Operation {opName}.");
            }

            return(new Tuple <object, Type>(obj, type));
        }
Exemple #2
0
        public async Task Do(WorkerToolkit tk)
        {
            _tk       = tk;
            _tk.State = Common.Stat.Types.State.HubconnDisconnecting;
            await Stop(tk.Connections);

            _tk.State = Common.Stat.Types.State.HubconnDisconnected;
        }
Exemple #3
0
        public async Task Do(WorkerToolkit tk)
        {
            _tk       = tk;
            _tk.State = Common.Stat.Types.State.HubconnDisposing;
            await DisposeAsync(tk.Connections);

            DisposeHttpClient(tk.HttpClients);
            _tk.State = Common.Stat.Types.State.HubconnDisposed;
            _tk.Init.Clear();
        }
        public async Task Do(WorkerToolkit tk)
        {
            var timer = new Timer(500);

            timer.AutoReset = true;
            timer.Elapsed  += (s, e) =>
            {
                Util.Log($"cnt: {cnt}");
            };
            timer.Start();

            _tk = tk;
            await Start(tk.Connections);
        }
Exemple #5
0
        public Task Do(WorkerToolkit tk)
        {
            _tk = tk;

            Util.Log($"server url: {_tk.JobConfig.ServerUrl}; conn: {_tk.JobConfig.Connections};  _tk.BenchmarkCellConfig.TransportType: { _tk.BenchmarkCellConfig.TransportType}; _tk.BenchmarkCellConfig.HubProtocol: {_tk.BenchmarkCellConfig.HubProtocol}");
            _tk.State       = Stat.Types.State.HubconnUnconnected;
            _tk.Connections = Create(_tk.ConnectionRange.End - _tk.ConnectionRange.Begin, _tk.JobConfig.ServerUrl, _tk.BenchmarkCellConfig.TransportType, _tk.BenchmarkCellConfig.HubProtocol);

            if (tk.Connections == null)
            {
                Util.Log("connections == null");
            }
            Util.Log($"xxxconnections: {_tk.Connections.Count}");
            return(Task.CompletedTask);
        }
Exemple #6
0
        public void Do(WorkerToolkit tk)
        {
            _tk = tk;
            throw new NotImplementedException();

            /*
             * var waitTime = 5 * 1000;
             * Console.WriteLine($"wait time: {waitTime / 1000}s");
             * Task.Delay(waitTime).Wait();
             *
             * _tk = tk;
             * _tk.State = Stat.Types.State.SendReady;
             *
             * // setup
             * Util.Log($"mix setup");
             * Setup();
             * Task.Delay(5000).Wait();
             *
             * _tk.State = Stat.Types.State.SendRunning;
             * Task.Delay(5000).Wait();
             *
             * if (_tk.Connections.Count == 0)
             * {
             *  Util.Log("no connections");
             *  Task.Delay(TimeSpan.FromSeconds(_tk.JobConfig.Duration + 15)).Wait();
             * }
             * else
             * {
             *  Util.Log($"join group");
             *  JoinGroup();
             *  Task.Delay(5000).Wait();
             *
             *  StartSendMsg();
             *
             *  Util.Log($"leave group");
             *  LeaveGroup();
             *  Task.Delay(5000).Wait();
             * }
             *
             * Task.Delay(30 * 1000).Wait();
             *
             * // save counters
             * SaveCounters();
             *
             * _tk.State = Stat.Types.State.SendComplete;
             * Util.Log($"Sending Complete");
             */
        }
Exemple #7
0
        public async Task Do(WorkerToolkit tk)
        {
            _tk = tk;
            var waitTime = 5 * 1000;

            Console.WriteLine($"wait time: {waitTime / 1000}s");
            _tk.State = Stat.Types.State.SendReady;
            Setup();
            await Task.Delay(5000);

            _tk.State = Stat.Types.State.SendRunning;
            await StartSendMsg();

            _tk.State = Stat.Types.State.SendComplete;
            Util.Log($"Sending Complete");
        }
        public async Task Do(WorkerToolkit tk)
        {
            var debug = Environment.GetEnvironmentVariable("debug") == "debug" ? true : false;

            var waitTime = 5 * 1000;

            if (!debug)
            {
                Console.WriteLine($"wait time: {waitTime / 1000}s");
            }
            if (!debug)
            {
                await Task.Delay(waitTime);
            }

            _tk       = tk;
            _tk.State = Stat.Types.State.SendReady;

            // setup
            Setup();
            if (!debug)
            {
                await Task.Delay(5000);
            }

            _tk.State = Stat.Types.State.SendRunning;
            if (!debug)
            {
                await Task.Delay(5000);
            }

            var beg = _tk.ConnectionRange.Begin;
            var end = _tk.ConnectionRange.End;

            await JoinLeaveGroup(_tk.BenchmarkCellConfig.Step, _tk.Connections, _tk.BenchmarkCellConfig.GroupNameList.ToList().GetRange(beg, end - beg), _tk.Counters);

            _tk.State = Stat.Types.State.SendComplete;
            Util.Log($"Sending Complete");
        }
        public async Task Do(WorkerToolkit tk)
        {
            var debug = Environment.GetEnvironmentVariable("debug") == "debug" ? true : false;

            var waitTime = 5 * 1000;

            if (!debug)
            {
                Console.WriteLine($"wait time: {waitTime / 1000}s");
            }
            if (!debug)
            {
                await Task.Delay(waitTime);
            }

            _tk       = tk;
            _tk.State = Stat.Types.State.SendReady;

            // setup
            Setup();
            if (!debug)
            {
                await Task.Delay(5000);
            }

            _tk.State = Stat.Types.State.SendRunning;
            if (!debug)
            {
                await Task.Delay(5000);
            }

            // send message
            await StartSendMsg();

            _tk.State = Stat.Types.State.SendComplete;
            Util.Log($"Sending Complete");
        }
 public Task Do(WorkerToolkit tk)
 {
     return(Task.CompletedTask);
 }
Exemple #11
0
 public Task Do(WorkerToolkit tk)
 {
     tk.Counters.ResetCounters(withConnection: false, withGroup: false);
     return(Task.CompletedTask);
 }
Exemple #12
0
 public async Task Do(WorkerToolkit tk)
 {
     _tk = tk;
     await Start(tk.Connections);
 }