public virtual void GetPerformanceResult(string runtimeHash, int session, IPerformanceResult performance) { string filter = $"{DataBaseItemNames.RuntimeIdColumn}='{runtimeHash}' AND {DataBaseItemNames.SessionIdColumn}={session}"; // 最高CPU时间 string cmd = SqlCommandFactory.CreateQueryMaxCmd(DataBaseItemNames.PerformanceTableName, DataBaseItemNames.ProcessorTimeColumn, filter); using (DbDataReader reader = ExecuteReadCommand(cmd)) { if (reader.Read() && !reader.IsDBNull(0)) { performance.CpuTime = (ulong)reader.GetDouble(0); } } // 最高分配内存 cmd = SqlCommandFactory.CreateQueryMaxCmd(DataBaseItemNames.PerformanceTableName, DataBaseItemNames.MemoryAllocatedColumn, filter); using (DbDataReader reader = ExecuteReadCommand(cmd)) { if (reader.Read() && !reader.IsDBNull(0)) { performance.MaxAllocatedMemory = reader.GetInt64(0); } } // 最高使用内存 cmd = SqlCommandFactory.CreateQueryMaxCmd(DataBaseItemNames.PerformanceTableName, DataBaseItemNames.MemoryUsedColumn, filter); using (DbDataReader reader = ExecuteReadCommand(cmd)) { if (reader.Read() && !reader.IsDBNull(0)) { performance.MaxUsedMemory = reader.GetInt64(0); } } // 平均分配内存 cmd = SqlCommandFactory.CreateQueryAverageCmd(DataBaseItemNames.PerformanceTableName, DataBaseItemNames.MemoryAllocatedColumn, filter); using (DbDataReader reader = ExecuteReadCommand(cmd)) { if (reader.Read() && !reader.IsDBNull(0)) { performance.AverageAllocatedMemory = (long)reader.GetDouble(0); } } // 平均使用内存 cmd = SqlCommandFactory.CreateQueryAverageCmd(DataBaseItemNames.PerformanceTableName, DataBaseItemNames.MemoryUsedColumn, filter); using (DbDataReader reader = ExecuteReadCommand(cmd)) { if (reader.Read() && !reader.IsDBNull(0)) { performance.AverageUsedMemory = (long)reader.GetDouble(0); } } }
public void GetPerformanceResult(string runtimeHash, int session, IPerformanceResult performanceResult) { _databaseProxy.GetPerformanceResult(runtimeHash, session, performanceResult); }