public List <ClientProcessStats> GetClientProcessStats(string database) { List <ClientProcessStats> clientProcessStats = new List <ClientProcessStats>(); lock (_clientSessions) { foreach (var pair in _clientSessions) { if (database.Equals(pair.Value.Database, StringComparison.OrdinalIgnoreCase)) { if (pair.Value == null) { continue; } ClientProcessStats clientProcStat = new ClientProcessStats(); clientProcStat.Client = pair.Value.ServerChannel.PeerAddress; clientProcStat.ProcessID = pair.Value.ClientProcessID; clientProcStat.BytesSent = pair.Value.ClientsBytesSent; clientProcStat.BytesReceived = pair.Value.ClientBytesReceived; clientProcessStats.Add(clientProcStat); } } } return(clientProcessStats); }
// CLIENTSTATS : Add method in CacheRenderer as virtual public override List <Alachisoft.NCache.Common.Monitoring.ClientProcessStats> GetClientProcessStats(string cacheId) { List <ClientProcessStats> clientProcessStats = new List <ClientProcessStats>(); lock (ConnectionManager.ConnectionTable) { IDictionaryEnumerator ide = ConnectionManager.ConnectionTable.GetEnumerator(); while (ide.MoveNext()) { ClientManager clientManager = ide.Value as ClientManager; if (clientManager.CmdExecuter != null && clientManager.CmdExecuter.ID.ToLower() == cacheId.ToLower()) { IPEndPoint endPoint = clientManager.ClientSocket.RemoteEndPoint as IPEndPoint; Address address = new Address(endPoint.Address, endPoint.Port); ClientProcessStats cpStats = new ClientProcessStats(clientManager.ClientID, address, clientManager.ClientsBytesSent, clientManager.ClientsBytesRecieved, ConnectionManager.ServerIpAddress); clientProcessStats.Add(cpStats); } } } return(clientProcessStats); }