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

Reply via email to