/// <summary> /// Check metrics values for data region. /// </summary> /// <param name="metrics">Data region metrics.</param> /// <param name="isPersistent">If data region is persistent.</param> private static void AssertMetrics(IDataRegionMetrics metrics, bool isPersistent) { Assert.Greater(metrics.AllocationRate, 0); Assert.AreEqual(0, metrics.EvictionRate); Assert.AreEqual(0, metrics.LargeEntriesPagesPercentage); Assert.Greater(metrics.PageFillFactor, 0); Assert.Greater(metrics.TotalAllocatedPages, isPersistent ? 0 : 1000); Assert.Greater(metrics.PhysicalMemoryPages, isPersistent ? 0 : 1000); Assert.AreEqual(metrics.TotalAllocatedSize, metrics.TotalAllocatedPages * (metrics.PageSize + (isPersistent ? 0 : PageOverhead))); Assert.AreEqual(metrics.PhysicalMemorySize, metrics.PhysicalMemoryPages * (metrics.PageSize + (isPersistent ? PersistentPageOverhead : PageOverhead))); Assert.Greater(metrics.OffHeapSize, metrics.PhysicalMemoryPages); Assert.Greater(metrics.OffheapUsedSize, metrics.PhysicalMemoryPages); if (isPersistent) { Assert.Greater(metrics.PagesRead, 0); Assert.Greater(metrics.PagesWritten, 0); Assert.AreEqual(0, metrics.PagesReplaced); Assert.AreEqual(0, metrics.UsedCheckpointBufferPages); Assert.AreEqual(0, metrics.UsedCheckpointBufferSize); Assert.Greater(metrics.CheckpointBufferSize, 0); #pragma warning disable 618 Assert.AreEqual(0, metrics.CheckpointBufferPages); #pragma warning restore 618 } }
/// <summary> /// Asserts that metrics are empty. /// </summary> private static void AssertMetricsAreEmpty(IDataRegionMetrics metrics) { Assert.AreEqual(0, metrics.AllocationRate); Assert.AreEqual(0, metrics.EvictionRate); Assert.AreEqual(0, metrics.LargeEntriesPagesPercentage); Assert.AreEqual(0, metrics.PageFillFactor); }