public void ShouldReturnOneExecutedTask()
        {
            // given
            var stream = RollingThreadPoolEventCounterStream.GetInstance(tpKey, 10, 100);

            stream.StartCachingStreamValuesIfUnstarted();

            var cmd = new NoOpHystrixCommand(output);

            cmd.Execute();
            Time.Wait(125);

            ICollection <HystrixThreadPoolMetrics> instances = HystrixThreadPoolMetrics.GetInstances();

            // then
            Assert.Equal(1, instances.Count);
            HystrixThreadPoolMetrics metrics = instances.First();

            Assert.Equal(1, metrics.RollingCountThreadsExecuted);
        }
        public async Task ShouldReturnOneExecutedTask()
        {
            // given
            var stream = RollingThreadPoolEventCounterStream.GetInstance(TpKey, 10, 100);

            stream.StartCachingStreamValuesIfUnstarted();

            var cmd = new NoOpHystrixCommand(output);
            await cmd.ExecuteAsync();

            Time.Wait(250);

            var instances = HystrixThreadPoolMetrics.GetInstances();

            // then
            output.WriteLine($"Instance count: {instances.Count}");
            Assert.Equal(1, instances.Count);
            var metrics = instances.First();

            output.WriteLine($"RollingCountThreadsExecuted: {metrics.RollingCountThreadsExecuted}");
            Assert.Equal(1, metrics.RollingCountThreadsExecuted);
        }