示例#1
0
        public void RecordDrill(DrillOptions drillOptions, DrillStats drillStats)
        {
            var properties = new Dictionary <string, string>
            {
                { "Url", drillOptions.Url },
                { "ConnectionCount", drillOptions.ConnectionCount.ToString() },
                { "MillisecondsToDrill", drillOptions.MillisecondsToDrill.ToString() },
                { "MillisecondsToWaitAfterRequest", drillOptions.MillisecondsToWaitAfterRequest.ToString() },
                { "QueryStringParameters", CombineQueryStringParameters(drillOptions.QueryStringParameters) }
            };

            var metrics = new Dictionary <string, double>
            {
                { "TotalRequestCount", drillStats.TotalRequestCount },
                { "ConnectionCount", drillStats.ConnectionCount },
                { "FailureCount", drillStats.FailureCount },
                { "AverageResponseTime", (double)drillStats.AverageResponseTime }
            };

            _telemetryClient.TrackEvent("Drill", properties, metrics);

            _telemetryClient.Flush();

            System.Threading.Thread.Sleep(5000);
        }
示例#2
0
        private void DrillUrl(DrillOptions drillOptions)
        {
            var drill      = new Drill();
            var drillStats = drill.DrillUrl(drillOptions);

            _scenarioContext.Set(drillStats, "DrillStats");
            _scenarioContext.Set(drillStats.AverageResponseTime, "AverageResponseTime");
            _scenarioContext.Set(drillStats.FailureCount, "FailureCount");
        }
示例#3
0
        public void WhenIDrillWithConcurrentConnectionsForMilliseconds(string url, int connectionCount, int millisecondsToDrill)
        {
            var drillOptions = new DrillOptions
            {
                Url                            = url,
                ConnectionCount                = connectionCount,
                MillisecondsToDrill            = millisecondsToDrill,
                RequestHeaders                 = AddRequestHeaders(),
                MillisecondsToWaitAfterRequest = GetMillisecondsToWaitAfterRequest(),
                Recorder                       = GetRecorder(),
                PreDrillProcesses              = GetPreDrillProcesses()
            };

            DrillUrl(drillOptions);
        }
示例#4
0
        public void WhenIDrillWithConcurrentConnectionsForMillisecondsAndPayload(string url, int connectionCount,
                                                                                 RequestMethod requestMethod, int millisecondsToDrill, Table table)
        {
            var drillOptions = new DrillOptions
            {
                Url                            = url,
                RequestMethod                  = requestMethod,
                BodyType                       = BodyType.Json,
                Body                           = table.CreateDynamicInstance(),
                ConnectionCount                = connectionCount,
                MillisecondsToDrill            = millisecondsToDrill,
                RequestHeaders                 = AddRequestHeaders(),
                MillisecondsToWaitAfterRequest = GetMillisecondsToWaitAfterRequest(),
                Recorder                       = GetRecorder(),
                PreDrillProcesses              = GetPreDrillProcesses()
            };

            DrillUrl(drillOptions);
        }
示例#5
0
        public void WhenIDrillWithConcurrentConnectionsForMillisecondsWithQueryParameters(string url, int connectionCount, int millisecondsToDrill, Table table)
        {
            var queryStringParameters = new Dictionary <string, string>();

            foreach (var tableRow in table.Rows)
            {
                queryStringParameters.Add(tableRow["Key"], tableRow["Value"]);
            }

            var drillOptions = new DrillOptions
            {
                Url                            = url,
                ConnectionCount                = connectionCount,
                MillisecondsToDrill            = millisecondsToDrill,
                RequestHeaders                 = AddRequestHeaders(),
                QueryStringParameters          = queryStringParameters,
                MillisecondsToWaitAfterRequest = GetMillisecondsToWaitAfterRequest(),
                Recorder                       = GetRecorder(),
                PreDrillProcesses              = GetPreDrillProcesses()
            };

            DrillUrl(drillOptions);
        }
示例#6
0
 public void RecordDrill(DrillOptions drillOptions, DrillStats drillStats)
 {
 }