/// <summary> /// Gather statistics for one or all indices. /// </summary> /// <param name="name">Optional name of the index.</param> /// <returns>Indices statistics.</returns> public IndicesStats Stats(string name) { IndicesStats ret = new IndicesStats(); if (String.IsNullOrEmpty(name)) { lock (_IndicesLock) { foreach (KomodoIndex curr in _Indices) { ret.Stats.Add(curr.Stats()); } } } else { lock (_IndicesLock) { if (_Indices.Any(i => i.Name.Equals(name))) { KomodoIndex idx = _Indices.First(i => i.Name.Equals(name)); ret.Stats.Add(idx.Stats()); } else { // cannot find return(ret); } } } ret.Success = true; ret.Time.End = DateTime.UtcNow; return(ret); }