/// <summary> /// Maps sql results into bussiness objects. /// </summary> /// <param name="reader"></param> /// <returns></returns> private static ICollection <ExpensiveQuery> MapResults(IDataReader reader) { using (reader) { var expensiveQueries = new List <ExpensiveQuery>(); while (reader.Read()) { var expensiveQuerie = new ExpensiveQuery { AvgClrTime = reader.GetInt64(5), AvgCpuTime = reader.GetInt64(0), AvgElapsedTime = reader.GetInt64(4), AvgLogicalReads = reader.GetInt64(2), AvgLogicalWrites = reader.GetInt64(1), AvgPhysicalReads = reader.GetInt64(3), Text = reader.GetString(6) }; expensiveQueries.Add(expensiveQuerie); } return(expensiveQueries); } }
/// <summary> /// Gets refference value for the current expensive query depending on the specified category. /// </summary> /// <param name="expensiveQuery"></param> /// <param name="category"></param> /// <returns></returns> private static Int64 GetRefference(ExpensiveQuery expensiveQuery, String category) { switch (category) { case ClrTime: return(expensiveQuery.AvgClrTime); case ElapsedTime: return(expensiveQuery.AvgElapsedTime); case PhysicalReads: return(expensiveQuery.AvgPhysicalReads); case LogicalReads: return(expensiveQuery.AvgLogicalReads); case LogicalWrites: return(expensiveQuery.AvgLogicalWrites); case CpuTime: return(expensiveQuery.AvgCpuTime); } return(0); }