Folk, As you know, ignite 2.1 will contain new module (pds), it will be provide ability to store data on disk. Let's discuss what type of metrics we need for this? I think it must be metrics per memory policy, per cache, checkpoint, and global metrics which will be aggregate all metrics.
I did sketch. PersistentStoreMetrics.java public interface PersistentStoreMetrics { // Global metrics. public long getMemorySize(); public long getDiskSize(); public long getPagesInMemory(); public long getPagesSizeInMemory(); public long getPagesOnDisk(); public long getPagesSizeOnDisk(); public long getFreePages(); public long getFreePagesSize(); public long getDirtyPages(); public long getDirtyPagesSize(); public long walLog(); public long walLogSize(); // Frequency. public long getPagesRead(); public long getPagesWrite(); public long getFsync(); public long getWal(); public long getAverageWalFsyncTime(); // Per cache. public PersistentStoreCacheMetrics cache(String name); public PersistentStoreCacheMetrics cache(int cacheId); // For last checkpoint. public PersistentStoreCheckpointMetrics getLastCheckPoint(); } >>>>>>>>>>>>>>>>>>>>>>> PersistentStoreCacheMetrics.java public interface PersistentStoreCacheMetrics { public String name(); public double getFillFactor(); public double getFillFactor(int part); public long getMemorySize(); public long getDiskSize(); public long getPagesInMemory(); public long getPagesSizeInMemory(); public long getPagesOnDisk(); public long getPagesSizeOnDisk(); public long getFreePages(); public long getFreePagesSize(); public long getDirtyPages(); public long getDirtyPagesSize(); public long getPagesRead(); public long getPagesWritten(); } >>>>>>>>>>>>>>>>>>>>>>> PersistentStoreCheckpointMetrics.java public interface PersistentStoreCheckpointMetrics { public long getTotalPages(); //TODO Page type is internal? public long[] pagesType(); public long getExecutingTime(); public long getFsyncTime(); public long getPagesCopyOnWrite(); }