package org.epics.archiverappliance.etl;
import java.io.IOException;
/**
* Interface providing details for the storage metrics pages...
* @author mshankar
*
*/
public interface StorageMetrics {
/**
* The name is also used to identify the storage in the storage report.
* This method is shared with the StoragePlugin interface.
* @return name The name of stroage
*/
public String getName();
/**
* Gets the total space left on this device.
* @param storageMetricsContext StorageMetricsContext
* @throws IOException
* @return getTotalSpac
*/
public long getTotalSpace(StorageMetricsContext storageMetricsContext) throws IOException;
/**
* Gets the space available to this VM on this device
* @param storageMetricsContext StorageMetricsContext
* @throws IOException
* @return getUsableSpace
*/
public long getUsableSpace(StorageMetricsContext storageMetricsContext) throws IOException;
/**
* Gets an estimate of the space consumed by this PV on this device.
* @param pvName The name of PV.
* @throws IOException
* @return spaceConsumedByPV
*/
public long spaceConsumedByPV(String pvName) throws IOException;
}