void initConsumers()
    {
        consumerPath_Threads = new TrafficGenerator[PATH_CONSUMER_LIMIT];

        for (int i = 0; i < PATH_CONSUMER_LIMIT; i++)
        {
            consumerPath_Threads[i] = new TrafficGenerator();
            consumerPath_Threads[i].consumePathQ = consumePathQ;
            consumerPath_Threads[i].Start();
        }
    }
Exemple #2
0
    ///////////////////////////////////////////////
    /// MONOBEHAVIOR METHODS
    ///////////////////////////////////////////////
    void Start()
    {
        // Find lanes and sort them (Lane1, Lane2, ...)
        lanes = GameObject.FindGameObjectsWithTag("Lane");
        Array.Sort(lanes, CompareObjectNames);

        trafficGenerator = GameObject.Find("TrafficGenerator").GetComponent <TrafficGenerator>();

        startHeight       = transform.position.y;
        resetPosition     = transform.position;
        initialDriveSpeed = driveSpeed;
        boostSpeed        = driveSpeed * 2;

        BouncePlayer();
    }
Exemple #3
0
    ///////////////////////////////////////////////
    /// MONOBEHAVIOR METHODS
    ///////////////////////////////////////////////
    void Awake()
    {
        originalName = roadSection.name;

        roads       = new List <GameObject>();
        currentRoad = roadSection;
        roads.Add(currentRoad);

        trafficGenerator = GameObject.Find("TrafficGenerator").GetComponent <TrafficGenerator>();
        trafficGenerator.lastBounceableZPos = player.transform.position.z + playerStats.bounceDistance;

        for (int i = 0; i < raceLength; i++)
        {
            GenerateNewRoad();
            trafficGenerator.GenerateTraffic();
        }

        GenerateFinishLine();
        trafficGenerator.GenerateTraffic();
    }
    ///////////////////////////////////////////////
    /// MONOBEHAVIOR METHODS
    ///////////////////////////////////////////////
    void Start()
    {
        // Find lanes and sort them (Lane1, Lane2, ...)
        lanes = GameObject.FindGameObjectsWithTag("Lane");
        Array.Sort(lanes, CompareObjectNames);

        // If the number wasn't set in the editor, try to grab it from the gameObject name
        if (skipperNumber == 0)
        {
            skipperNumber = int.Parse("" + name[name.Length - 1]);
        }

        trafficGenerator  = GameObject.Find("TrafficGenerator").GetComponent <TrafficGenerator>();
        startHeight       = transform.position.y;
        resetPosition     = transform.position;
        initialDriveSpeed = driveSpeed;
        boostSpeed        = driveSpeed * 2;

        InitializeCurrentLaneIndex();
        BounceSkipper();
    }
Exemple #5
0
        private static async Task RunAsync()
        {
            var endpoint = "/delay/5ms";

            using var listener = new HttpEventListener();

            source = new ActivitySource("http-client-test");

            var serviceCollection = new ServiceCollection();

            serviceCollection.AddHttpOptionsTelemetry(builder => builder.AddConsoleExporter());


            serviceCollection.AddHttpClientOptions(options =>
            {
                options.ServiceName           = "service";
                options.Handler.MaxConnection = 500;
                _server.ConfigureWireMockServer(options);
            });


            var services =
                serviceCollection.BuildServiceProvider();
            await Task.WhenAll(services.GetServices <IHostedService>()
                               .Select(e => e.StartAsync(CancellationToken.None)));

            var factory = services.GetRequiredService <IHttpClientFactory>();
            var client  = factory.CreateClient("service");

            var stopwatch = Stopwatch.StartNew();

            Console.WriteLine("oooo: ");

            do
            {
                try
                {
                    await client.GetAsync(endpoint).ConfigureAwait(false);
                }
                catch (Exception e)
                {
                }
            } while (Console.ReadKey().Key != ConsoleKey.Escape);


            do
            {
                try
                {
                    var activityLinks = new List <ActivityLink>();
                    var initialTags   = new ActivityTagsCollection();

                    initialTags["com.mycompany.product.mytag1"] = "tagValue1";
                    initialTags["com.mycompany.product.mytag2"] = "tagValue2";

                    var linkedContext1 = new ActivityContext(
                        ActivityTraceId.CreateRandom(),
                        ActivitySpanId.CreateRandom(),
                        ActivityTraceFlags.None);

                    var linkedContext2 = new ActivityContext(
                        ActivityTraceId.CreateRandom(),
                        ActivitySpanId.CreateRandom(),
                        ActivityTraceFlags.Recorded);

                    activityLinks.Add(new ActivityLink(linkedContext1));
                    activityLinks.Add(new ActivityLink(linkedContext2));


                    using var activity = source.StartActivity(
                              "ActivityWithLinks",
                              ActivityKind.Server,
                              default(ActivityContext),
                              initialTags,
                              activityLinks);
                    var latencyStats = await TrafficGenerator
                                       .GenerateTraffic(100, () => client.GetAsync(endpoint))
                                       .Latency()
                                       .TakeUntil(DateTimeOffset.Now.AddSeconds(20));

                    Console.WriteLine(latencyStats.Print());
                    await client.GetAsync(endpoint).ConfigureAwait(false);

                    System.Console.WriteLine("Press Enter key to continue.");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }
            } while (Console.ReadKey().Key != ConsoleKey.Escape);
        }
    void initConsumers()
    {
        consumerPath_Threads = new TrafficGenerator[PATH_CONSUMER_LIMIT];

        for (int i = 0; i < PATH_CONSUMER_LIMIT; i++)
        {
            consumerPath_Threads[i] = new TrafficGenerator();
            consumerPath_Threads[i].consumePathQ = consumePathQ;
            consumerPath_Threads[i].Start();
        }
    }
Exemple #7
0
 public TrafficSim()
 {
     trafficGen = new TrafficGenerator();
     trafficList = new List<ITraffic>();
 }
Exemple #8
0
        private static async Task RunAsync()
        {
            var endpoint = "/delay/5ms";

            source = new ActivitySource("http-client-test");

            var serviceCollection = new ServiceCollection();

            serviceCollection.AddHttpOptionsTelemetry(builder => builder.AddConsoleExporter());


            serviceCollection.AddHttpClientOptions(options =>
            {
                options.ServiceName           = "service";
                options.Handler.MaxConnection = 500;
                _server.ConfigureWireMockServer(options);
            });


            var services =
                serviceCollection.BuildServiceProvider();
            await Task.WhenAll(services.GetServices <IHostedService>()
                               .Select(e => e.StartAsync(CancellationToken.None)));

            var factory = services.GetRequiredService <IHttpClientFactory>();
            var client  = factory.CreateClient("service");

            var stopwatch = Stopwatch.StartNew();

            Console.WriteLine("oooo: ");

            do
            {
                try
                {
                    await client.GetAsync(endpoint).ConfigureAwait(false);
                }
                catch (Exception e)
                {
                }
            } while (Console.ReadKey().Key != ConsoleKey.Escape);


            do
            {
                try
                {
                    var latencyStats = await TrafficGenerator
                                       .GenerateTraffic(100, () => client.GetAsync(endpoint))
                                       .Latency()
                                       .TakeUntil(DateTimeOffset.Now.AddSeconds(20));

                    Console.WriteLine(latencyStats.Print());
                    await client.GetAsync(endpoint).ConfigureAwait(false);

                    System.Console.WriteLine("Press Enter key to continue.");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }
            } while (Console.ReadKey().Key != ConsoleKey.Escape);
        }