public void RefreshHosts() { if (_hosts == null) { _hosts = new Dictionary <string, ServiceExecutionHostInfo>(); } else { _hosts.Clear(); } var env = this.EnvironmentConfiguration; using (var connection = new SqlConnection(env.ConnectionString)) { var command = new SqlCommand(env.SP_HostList, connection); command.CommandType = CommandType.StoredProcedure; connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { var info = new ServiceExecutionHostInfo() { HostName = SqlUtility.ClrValue <string>(reader["HostName"]), HostGuid = SqlUtility.ClrValue <string, Guid>(reader["HostGuid"], rawGuid => Guid.Parse(rawGuid), Guid.Empty), EndpointName = SqlUtility.ClrValue <string>(reader["EndpointName"]), EndpointAddress = SqlUtility.ClrValue <string>(reader["EndpointAddress"]) }; _hosts.Add(info.HostName, info); } } } }
/// <summary> /// Get statistics for execution time per each service from DB /// </summary> /// <returns>dictionary: key = service name and profile ID, value = execution time</returns> public Dictionary <string, long> GetServiceExecutionStatistics(int percentile) { var statisticsDict = new Dictionary <string, long>(); var env = EnvironmentConfiguration; using (var connection = new SqlConnection(env.ConnectionString)) { var command = new SqlCommand(env.SP_ServicesExecutionStatistics, connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue("@Percentile", percentile); connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { var configID = SqlUtility.ClrValue <string>(reader["ConfigID"]); var profileID = SqlUtility.ClrValue <string>(reader["ProfileID"]); var key = String.Format("ConfigID:{0},ProfileID:{1}", configID, profileID); if (!statisticsDict.ContainsKey(key)) { statisticsDict.Add(key, long.Parse(reader["Value"].ToString())); } } } } return(statisticsDict); }
public void RefreshEventListenersList() { if (_environmentListeners == null) { _environmentListeners = new Dictionary <ServiceEnvironmentEventType, List <ServiceEnvironmentEventListenerInfo> >(); } else { foreach (var list in _environmentListeners.Values) { list.Clear(); } } var env = EnvironmentConfiguration; using (var connection = new SqlConnection(env.ConnectionString)) { var command = new SqlCommand(env.SP_EnvironmentEventListenerListGet, connection); command.CommandType = CommandType.StoredProcedure; connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { var info = new ServiceEnvironmentEventListenerInfo { ListenerID = SqlUtility.ClrValue <string, Guid>( reader["ListenerID"], guidRaw => Guid.Parse(guidRaw), Guid.Empty ), EventType = SqlUtility.ClrValue <string, ServiceEnvironmentEventType>( reader["EventType"], ev => (ServiceEnvironmentEventType)Enum.Parse(typeof(ServiceEnvironmentEventType), ev, false), (ServiceEnvironmentEventType)0 ), EndpointName = SqlUtility.ClrValue <string>(reader["EndpointName"]), EndpointAddress = SqlUtility.ClrValue <string>(reader["EndpointAddress"]) }; List <ServiceEnvironmentEventListenerInfo> list; if (!_environmentListeners.TryGetValue(info.EventType, out list)) { _environmentListeners.Add(info.EventType, list = new List <ServiceEnvironmentEventListenerInfo>()); } list.Add(info); } } } }
public void RefreshEventListenersList() { if (_environmentListeners == null) { _environmentListeners = new Dictionary <ServiceEnvironmentEventType, ServiceEnvironmentEventListenerInfo>(); } else { _environmentListeners.Clear(); } var env = this.EnvironmentConfiguration; using (var connection = new SqlConnection(env.ConnectionString)) { var command = new SqlCommand(env.SP_EnvironmentEventList, connection); command.CommandType = CommandType.StoredProcedure; connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { var info = new ServiceEnvironmentEventListenerInfo() { EventType = SqlUtility.ClrValue <string, ServiceEnvironmentEventType>( reader["EventType"], ev => (ServiceEnvironmentEventType)Enum.Parse(typeof(ServiceEnvironmentEventType), ev, false), (ServiceEnvironmentEventType)0 ), EndpointName = SqlUtility.ClrValue <string>(reader["EndpointName"]), EndpointAddress = SqlUtility.ClrValue <string>(reader["EndpointAddress"]) }; _environmentListeners.Add(info.EventType, info); } } } }