private ListStats CalcFor(List <double> list) { ListStats stats = new ListStats(0.0, 0.0, 0.0, 0.0); if (list.Count > 0) { stats.ListMin = list.Min(); stats.ListMax = list.Max(); stats.ListLast = list.Last(); stats.ListAvg = list.Average(); return(stats); } else { return(stats); } }
public CacheStats Since(CacheStats prior) { if (prior == null) { return(this); } return(new CacheStats(prior.LatestGlobalStats.LatestOperationStamp, LatestGlobalStats, IsList, ListStats.Since(prior.ListStats), Hits - prior.Hits, NonHits - prior.NonHits, NonHitsOverCapacity - prior.NonHitsOverCapacity, Failures - prior.Failures, CumulativeTime - prior.CumulativeTime, CumulativeFailureTime - prior.CumulativeFailureTime, CumulativeCost - prior.CumulativeCost, ForeverNonHits, // The "forever" values don't get subtracted because calculation of average time requires them to never drop to zero ForeverCumulativeTime)); }
public CacheStats WithListCacheSkip(int resultItems, TimeSpan queryTime) { return(withCacheNonHit(ListStats.WithNewResult(resultItems, true), queryTime, true)); }
public CacheStats WithListCacheMiss(int resultItems, TimeSpan queryTime, bool isOverCapacity) { return(withCacheNonHit(ListStats.WithNewResult(resultItems, false), queryTime, isOverCapacity)); }
public CacheStats WithListCacheHit(int resultItems) { return(withCacheHit(ListStats.WithNewResult(resultItems, false))); }
public CacheStats WithSingleCacheNonHit(TimeSpan queryTime, bool isOverCapacity) { return(withCacheNonHit(ListStats.WithNewResult(), queryTime, isOverCapacity)); }
public CacheStats WithSingleCacheHit() { return(withCacheHit(ListStats.WithNewResult())); }