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();
}