From 57079538eb6974e58873c6c35dcca28e23e26059 Mon Sep 17 00:00:00 2001 From: Marios Zikos Date: Tue, 17 Dec 2019 06:20:13 -0800 Subject: [PATCH] Add Plugins and improve Thread startup * Adding plugin capability. Just add code that implements the IWorkerJob interface to the directory of NetLing.Client and it will be loaded during runtime. New command line option to select plugin name (-n) * Add Thread WarmUp capability Each thread performs some time of test, to warmup the server * Add P99, P95 reporting from command line * Start all thread together testing server If yoo many threads are used, some threads used to start earlier Add an event that controls the start of work on all threads --- Netling.Client/MainWindow.xaml | 24 +++- Netling.Client/MainWindow.xaml.cs | 56 ++++++++- Netling.ConsoleClient/Program.cs | 106 ++++++++++++----- .../HttpClientWorkerJob.cs | 13 ++- Netling.Core.SocketWorker/SocketWorkerJob.cs | 11 +- Netling.Core/IWorkerJob.cs | 7 +- Netling.Core/Models/WorkerResult.cs | 11 ++ Netling.Core/Models/WorkerThreadResult.cs | 7 ++ Netling.Core/PluginLoader.cs | 108 ++++++++++++++++++ Netling.Core/Worker.cs | 106 ++++++++++++++--- 10 files changed, 395 insertions(+), 54 deletions(-) create mode 100644 Netling.Core/PluginLoader.cs diff --git a/Netling.Client/MainWindow.xaml b/Netling.Client/MainWindow.xaml index 5204192..e20771f 100644 --- a/Netling.Client/MainWindow.xaml +++ b/Netling.Client/MainWindow.xaml @@ -1,12 +1,13 @@  + Title="Netling" Width="500" Height="342" ResizeMode="NoResize"> + @@ -23,11 +24,28 @@ 3000 runs on 1 thread 10000 runs on 1 thread + + + + + + 2 seconds + 0 seconds + 2 seconds + 10 seconds + 20 seconds + 30 seconds + 1 minute + 2 minutes + + - + - + + +