static private AverageValueStatistic FindOrCreate_Impl(StatisticName name, CounterStorage storage, bool multiThreaded) { AverageValueStatistic stat; #if COLLECT_AVERAGE if (multiThreaded) { stat = new MultiThreadedAverageValueStatistic(name); } else { stat = new SingleThreadedAverageValueStatistic(name); } stat.average = FloatValueStatistic.FindOrCreate(name, () => stat.GetAverageValue(), storage); #else stat = new AverageValueStatistic(name); #endif return stat; }
static private AverageValueStatistic FindOrCreate_Impl(StatisticName name, CounterStorage storage, bool multiThreaded) { AverageValueStatistic stat; #if COLLECT_AVERAGE if (multiThreaded) { stat = new MultiThreadedAverageValueStatistic(name); } else { stat = new SingleThreadedAverageValueStatistic(name); } stat.average = FloatValueStatistic.FindOrCreate(name, () => stat.GetAverageValue(), storage); #else stat = new AverageValueStatistic(name); #endif return(stat); }