示例#1
0
        [U] public void Null()
        {
            IndexMetrics value = NodesStatsIndexMetric.All;

            (value == null).Should().BeFalse();
            (null == value).Should().BeFalse();
        }
示例#2
0
        [U] public void Eq()
        {
            IndexMetrics metrics = NodesStatsIndexMetric.All;

            IndexMetrics[] equal = { NodesStatsIndexMetric.All };
            foreach (var t in equal)
            {
                (t == metrics).ShouldBeTrue(t);
                t.Should().Be(metrics);
            }
            metrics.Should().Be(NodesStatsIndexMetric.All);
        }
示例#3
0
        [U] public void NotEq()
        {
            IndexMetrics metrics = NodesStatsIndexMetric.All;

            IndexMetrics[] notEqual = { NodesStatsIndexMetric.Flush };
            foreach (var t in notEqual)
            {
                (t != metrics).ShouldBeTrue(t);
                t.Should().NotBe(metrics);
            }
            metrics.Should().NotBe(NodesStatsMetric.All);
        }
示例#4
0
        private IndexMetrics GetIndexMetrics(Index index)
        {
            var result = new IndexMetrics();

            result.IndexName = index.Name;

            result.Priority = index.Definition.Priority;
            result.State    = index.State;
            result.Errors   = (int)index.GetErrorCount();

            var stats = index.GetStats();

            if (stats.LastQueryingTime.HasValue)
            {
                var lastQueryingTime = stats.LastQueryingTime.Value;
                result.TimeSinceLastQueryInSec = (SystemTime.UtcNow - lastQueryingTime).TotalSeconds;
            }

            if (stats.LastIndexingTime.HasValue)
            {
                var lastIndexingType = stats.LastIndexingTime.Value;
                result.TimeSinceLastIndexingInSec = (SystemTime.UtcNow - lastIndexingType).TotalSeconds;
            }

            result.LockMode  = index.Definition.LockMode;
            result.IsInvalid = stats.IsInvalidIndex;
            result.Status    = index.Status;

            result.MappedPerSec  = index.MapsPerSec?.OneMinuteRate ?? 0;
            result.ReducedPerSec = index.ReducesPerSec?.OneMinuteRate ?? 0;

            result.Type         = index.Type;
            result.EntriesCount = stats.EntriesCount;

            return(result);
        }