public void TestEmptyStreamProducesZeros() { IHystrixCollapserKey key = HystrixCollapserKeyDefault.AsKey("CumulativeCollapser-A"); stream = CumulativeCollapserEventCounterStream.GetInstance(key, 10, 100); stream.StartCachingStreamValuesIfUnstarted(); CountdownEvent latch = new CountdownEvent(1); stream.Observe().Take(10).Subscribe(new LatchedObserver(latch)); // no writes try { Assert.True(latch.Wait(10000), "CountdownEvent was not set!"); } catch (Exception) { Assert.False(true, "Interrupted ex"); } output.WriteLine("ReqLog : " + HystrixRequestLog.CurrentRequestLog.GetExecutedCommandsAsString()); Assert.Equal(CollapserEventTypeHelper.Values.Count, stream.Latest.Length); Assert.Equal(0, stream.GetLatest(CollapserEventType.ADDED_TO_BATCH)); Assert.Equal(0, stream.GetLatest(CollapserEventType.BATCH_EXECUTED)); Assert.Equal(0, stream.GetLatest(CollapserEventType.RESPONSE_FROM_CACHE)); }
public void TestEmptyStreamProducesZeros() { var key = HystrixCollapserKeyDefault.AsKey("CumulativeCollapser-A"); var latch = new CountdownEvent(1); var observer = new LatchedObserver(output, latch); stream = CumulativeCollapserEventCounterStream.GetInstance(key, 10, 100); latchSubscription = stream.Observe().Subscribe(observer); Assert.True(WaitForLatchedObserverToUpdate(observer, 1, 500, output), "Latch took to long to update"); Assert.Equal(CollapserEventTypeHelper.Values.Count, stream.Latest.Length); Assert.Equal(0, stream.GetLatest(CollapserEventType.ADDED_TO_BATCH)); Assert.Equal(0, stream.GetLatest(CollapserEventType.BATCH_EXECUTED)); Assert.Equal(0, stream.GetLatest(CollapserEventType.RESPONSE_FROM_CACHE)); }
public long GetCumulativeCount(CollapserEventType collapserEventType) { return(_cumulativeCollapserEventCounterStream.GetLatest(collapserEventType)); }