public void HandleStopEvent_RecordsStats()
        {
            var options   = new MetricsObserverOptions();
            var stats     = new TestOpenTelemetryMetrics();
            var observer  = new HttpClientCoreObserver(options, stats, null);
            var factory   = stats.Factory;
            var processor = stats.Processor;

            var req  = GetHttpRequestMessage();
            var resp = GetHttpResponseMessage(HttpStatusCode.InternalServerError);

            var act = new Activity("Test");

            act.Start();

            Task.Delay(1000).Wait();
            act.SetEndTime(DateTime.UtcNow);

            observer.HandleStopEvent(act, req, resp, TaskStatus.RanToCompletion);
            observer.HandleStopEvent(act, req, resp, TaskStatus.RanToCompletion);

            factory.CollectAllMetrics();

            var timeSummary = processor.GetMetricByName <double>("http.client.request.time");

            Assert.NotNull(timeSummary);
            var average = timeSummary.Sum / timeSummary.Count;

            Assert.InRange(average, 975.0, 1200.0);
            Assert.InRange(timeSummary.Max, 975.0, 1200.0);

            var countSummary = processor.GetMetricByName <long>("http.client.request.count");

            Assert.Equal(2, countSummary.Count);

            act.Stop();
        }