Example #1
0
        /// <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);
            }
        }
Example #2
0
        /// <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);
        }