Class CapacityPlanningData

java.lang.Object
org.epics.archiverappliance.mgmt.archivepv.CapacityPlanningData

public class CapacityPlanningData extends Object
Data from various appliances that is used for capacity planning. We assume that policies have been applied for this PV and that typeinfo is available. We gather data from various appliances (engine + ETL + storage) as it applies to this PV. Capacity planning consists of measured data and estimated data. The estimated data is available from the configService as ApplianceAggregateInfo The measured data is available thru this class. As the measured data does not change very often, we cache this locally for a time period as defined by MEASURED_DATA_CACHE_TIME
Author:
mshankar
  • Constructor Details

  • Method Details

    • getMetricsForAppliances

      public static CapacityPlanningData.CPStaticData getMetricsForAppliances(ConfigService configService) throws IOException
      Throws:
      IOException
    • getCachedMetricsForAppliances

      public static CapacityPlanningData.CPStaticData getCachedMetricsForAppliances(ConfigService configService) throws IOException
      Throws:
      IOException
    • getEngineWriteThreadUsage

      public float getEngineWriteThreadUsage(float writePeriod)
    • getEtlMetrics

      public ConcurrentHashMap<String,org.epics.archiverappliance.mgmt.archivepv.CapacityPlanningData.ETLMetrics> getEtlMetrics()
    • getCurrentTotalStorageRate

      public float getCurrentTotalStorageRate()
    • getApplianceAggregateDifferenceFromLastFetch

      public ApplianceAggregateInfo getApplianceAggregateDifferenceFromLastFetch(ConfigService configService) throws IOException
      Return the difference between the appliance aggregate info as of "now" and from the time we last fetched the static data.
      Parameters:
      configService - ConfigService
      Returns:
      ApplianceAggregateInfo  
      Throws:
      IOException -  
    • getPercentageTimeForWriter

      public float getPercentageTimeForWriter()
    • setPercentageTimeForWriter

      public void setPercentageTimeForWriter(float percentageTimeForWriterAfterPVadded)
    • getSecondsConsumedByWriter

      public float getSecondsConsumedByWriter()
    • isAvailable

      public boolean isAvailable()
    • setAvailable

      public void setAvailable(boolean isAvailable)
    • getStaticDataLastUpdated

      public String getStaticDataLastUpdated()