public ActionClientBase(IOptions options, IConfiguration configuration, ILogging logging, ITestMetricManager testMetricManager)
 {
     _options           = options;
     _configuration     = configuration;
     _logging           = logging;
     _testMetricManager = testMetricManager;
 }
Esempio n. 2
0
        private void ReportMetrics(ILifetimeScope container)
        {
            Console.WriteLine("Metric Report...");
            ITestMetricManager manager = container.Resolve <ITestMetricManager>();
            ILogging           logging = container.Resolve <ILogging>();

            var maxRecord = manager
                            .Select((x, i) => new { r = x, index = i })
                            .OrderBy(x => x.r.Tps).Last();

            foreach (TestMetric metric in manager.OrderBy(x => x.Name).ThenBy(x => x.Tps))
            {
                logging.Log(() => $"{metric}, {(maxRecord.r.Tps == metric.Tps ? "Max" : string.Empty)}");
            }

            ByTestName(manager, logging);
            ByBatchSize(manager, logging);
        }
Esempio n. 3
0
        private void ByBatchSize(ITestMetricManager manager, ILogging logging)
        {
            logging.Log();
            logging.Log(() => "By batch size...");

            var tests = manager
                        .GroupBy(x => x.BatchSize);

            foreach (var test in tests)
            {
                logging.Log();
                logging.Log(() => $"Batch Size={test.Key}");

                var subTests = manager
                               .Where(x => x.BatchSize == test.Key)
                               .OrderBy(x => x.Tps);

                foreach (TestMetric metric in subTests)
                {
                    logging.Log(() => metric.ToString());
                }
            }
        }
Esempio n. 4
0
 public DataTableAction(IOptions options, IConfiguration configuration, ILogging logging, ITestMetricManager testMetricManager)
     : base(options, configuration, logging, testMetricManager)
 {
     ClientProcess = (monitor, clientNumber, token) => InternalClientProcess(monitor, clientNumber, token);
 }
Esempio n. 5
0
 public StoredProcedureBulkCopy(IOptions options, IConfiguration configuration, ILogging logging, ITestMetricManager testMetricManager)
     : base(options, configuration, logging, testMetricManager)
 {
     ClientProcess = (monitor, clientNumber, token) => InternalClientProcess(monitor, clientNumber, token);
 }