Record Class WorkloadAvailability

java.lang.Object
java.lang.Record
com.eqixiac.equinix.design.resilience.WorkloadAvailability
Record Components:
workload - the workload label
coreAvailability - fraction of time it runs with every cloud it needs reachable (hosts, routers, connections, on-ramps, backbone, cloud regions)
endToEndAvailability - coreAvailability times the site-weighted availability of the sites' access circuits
percent - endToEndAvailability as a percentage
downtimeMinutesPerYear - expected downtime per year implied by endToEndAvailability (365.25-day year, 525,960 minutes)
formula - the series/parallel composition used, in words
notes - approximations made for this workload

public record WorkloadAvailability(String workload, double coreAvailability, double endToEndAvailability, double percent, double downtimeMinutesPerYear, String formula, List<String> notes) extends Record
The estimated availability of one workload, composed from AvailabilityAssumptions over the graph's redundant paths. An estimate under stated assumptions, never a guarantee or an SLA.
  • Field Details

    • MINUTES_PER_YEAR

      public static final double MINUTES_PER_YEAR
      Minutes in a 365.25-day year.
      See Also:
  • Constructor Details

    • WorkloadAvailability

      public WorkloadAvailability(String workload, double coreAvailability, double endToEndAvailability, double percent, double downtimeMinutesPerYear, String formula, List<String> notes)
      Makes notes immutable.
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • workload

      public String workload()
      Returns the value of the workload record component.
      Returns:
      the value of the workload record component
    • coreAvailability

      public double coreAvailability()
      Returns the value of the coreAvailability record component.
      Returns:
      the value of the coreAvailability record component
    • endToEndAvailability

      public double endToEndAvailability()
      Returns the value of the endToEndAvailability record component.
      Returns:
      the value of the endToEndAvailability record component
    • percent

      public double percent()
      Returns the value of the percent record component.
      Returns:
      the value of the percent record component
    • downtimeMinutesPerYear

      public double downtimeMinutesPerYear()
      Returns the value of the downtimeMinutesPerYear record component.
      Returns:
      the value of the downtimeMinutesPerYear record component
    • formula

      public String formula()
      Returns the value of the formula record component.
      Returns:
      the value of the formula record component
    • notes

      public List<String> notes()
      Returns the value of the notes record component.
      Returns:
      the value of the notes record component