public void CheckingPurge()
        {
            ZPagesActivityTracker.CurrentHourList.TryAdd("new", new ZPagesActivityAggregate(new Activity("new")));
            Assert.NotEmpty(ZPagesActivityTracker.CurrentHourList);
            ZPagesActivityTracker.PurgeCurrentHourData(null, null);
            Assert.Empty(ZPagesActivityTracker.CurrentHourList);

            ZPagesActivityTracker.CurrentMinuteList.TryAdd("new", new ZPagesActivityAggregate(new Activity("new")));
            Assert.NotEmpty(ZPagesActivityTracker.CurrentMinuteList);
            ZPagesActivityTracker.PurgeCurrentMinuteData(null, null);
            Assert.Empty(ZPagesActivityTracker.CurrentMinuteList);

            ZPagesActivityTracker.ProcessingList.Clear();
        }
示例#2
0
        public void CheckingCustomActivityProcessor()
        {
            const string          ActivitySourceName    = "zpages.test";
            Guid                  requestId             = Guid.NewGuid();
            TestActivityProcessor testActivityProcessor = new TestActivityProcessor();

            bool startCalled = false;
            bool endCalled   = false;

            testActivityProcessor.StartAction =
                (a) =>
            {
                startCalled = true;
            };

            testActivityProcessor.EndAction =
                (a) =>
            {
                endCalled = true;
            };

            using var tracerProvider = Sdk.CreateTracerProviderBuilder()
                                       .AddSource(ActivitySourceName)
                                       .AddProcessor(testActivityProcessor)
                                       .AddZPagesExporter()
                                       .Build();

            using var source   = new ActivitySource(ActivitySourceName);
            using var activity = source.StartActivity("Test Zipkin Activity");
            activity?.Stop();

            Assert.True(startCalled);
            Assert.True(endCalled);

            ZPagesActivityTracker.Reset();
        }