예제 #1
0
        public async Task SetLoad(LoadTestStepContext ctx)
        {
            var lambdaRequestCounts = JourneyCalcuations.JourneyCounts(
                _provisionedConcucrrency,
                ctx.RequestsPerSecond,
                ctx.Duration.TotalSeconds,
                12);

            var publishRequests = new PublishRequest[lambdaRequestCounts.Count];

            for (var i = 0; i < lambdaRequestCounts.Count; i++)
            {
                var count = lambdaRequestCounts[i];
                publishRequests[i] = new PublishRequest
                {
                    TopicArn = _controlPlaneTopicArn,
                    Message  = JsonConvert.SerializeObject(new LambdaRequest
                    {
                        RequestCount = count,
                        Journeys     = await ctx.StoryTeller(count),
                        Duration     = ctx.Duration
                    })
                };
            }

            await ctx.PublishAsync(publishRequests, ctx.Duration, ctx.Cancel);
        }
예제 #2
0
 static void PrintLoadStep(LoadTestStepContext obj)
 {
     Console.WriteLine($"[{obj.ExecutionTime.Elapsed}] Beetles in flight at {obj.RequestsPerSecond}rps");
 }