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