public void TestSetup()
        {
            var config = new Config.TracingConfig(true, string.Empty, string.Empty)
            {
                MaxBufferedSpans = 3,
            };
            var configProvider = new StaticConfigurationProvider(config);

            storage = new TraceInfoStorage(configProvider);
        }
Example #2
0
        public void TestSetup()
        {
            var config = new Config.TracingConfig(true, string.Empty, string.Empty)
            {
                MaxSamplesPerSecond = int.MaxValue,
                SamplingChance      = 1D,
            };
            var configProvider = new StaticConfigurationProvider(config);
            var env            = new TestTracingEnvironment();

            Trace.Initialize(configProvider, env);
        }
Example #3
0
        public void Run(Action traceAction, TraceContextDescriptor[] expectedInfos)
        {
            var configProvider = new StaticConfigurationProvider(new Config.TracingConfig(true, aggregationServiceSystem, string.Format("http://{0}:8080/spans", testDiTraceHost))
            {
                SamplingChance = 1D,
            });
            var environment = new TracingEnvironment();

            Trace.Initialize(configProvider, environment);
            var startTime = DateTime.UtcNow;

            try
            {
                traceAction();
            }
            finally
            {
                Trace.Stop();
            }

            expectedInfos = expectedInfos
                            .OrderBy(x => (x.Timeline == null || x.Timeline.Count == 0) ? int.MinValue : x.Timeline.Select(pair => pair.Value).Min())
                            .ToArray();

            var stopWatch = Stopwatch.StartNew();

            while (stopWatch.Elapsed < waitingTime)
            {
                List <TraceContextInfo> infos;
                if (TryGetInfos(startTime, out infos))
                {
                    try
                    {
                        Matcher.Match(infos.ToArray(), expectedInfos, environment.AnnotationNameMapper);
                        Console.WriteLine("Query, time: {0}, success: true", stopWatch.Elapsed);
                        return;
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("Query, time: {0}, success: false, Exception: {1}", stopWatch.Elapsed, ex.Message);
                    }
                }
                else
                {
                    Console.WriteLine("Query #{0}, success: false, Exception: Не удалось получить или десериализовать информацию с сервера");
                }
                Thread.Sleep(queryInterval);
            }

            throw new Exception(string.Format("Условие не выполнилось за {0}", waitingTime));
        }
Example #4
0
        public void Run(Action traceAction, TraceContextDescriptor[] expectedInfos)
        {
            var configProvider = new StaticConfigurationProvider(new Config.TracingConfig(true, string.Empty, string.Empty)
            {
                SamplingChance = 1D,
            });
            var environment = new TestTracingEnvironment();

            Trace.Initialize(configProvider, environment);
            try
            {
                traceAction();
            }
            finally
            {
                Trace.Stop();
            }
            var realInfos = environment.TraceInfoStorage.GetAll();

            Matcher.Match(realInfos.ToArray(), expectedInfos, environment.AnnotationNameMapper);
        }