Class AccessMetrics


  • public class AccessMetrics
    extends Object
    Immutable field and array access counts collected during simulation.
    • Method Detail

      • from

        public static AccessMetrics from​(FieldAccessListener listener)
        Snapshots the counts a listener accumulated.
        Parameters:
        listener - the listener to read counts from
        Returns:
        metrics holding that listener's counts
      • empty

        public static AccessMetrics empty()
        Creates metrics with every count at zero.
        Returns:
        all-zero metrics
      • getFieldReads

        public int getFieldReads()
        Returns:
        the number of field reads
      • getFieldWrites

        public int getFieldWrites()
        Returns:
        the number of field writes
      • getTotalFieldAccesses

        public int getTotalFieldAccesses()
        Returns:
        field reads plus field writes
      • getStaticFieldReads

        public int getStaticFieldReads()
        Returns:
        the number of static field reads
      • getStaticFieldWrites

        public int getStaticFieldWrites()
        Returns:
        the number of static field writes
      • getInstanceFieldReads

        public int getInstanceFieldReads()
        Returns:
        the field reads that were not static
      • getInstanceFieldWrites

        public int getInstanceFieldWrites()
        Returns:
        the field writes that were not static
      • getArrayReads

        public int getArrayReads()
        Returns:
        the number of array element reads
      • getArrayWrites

        public int getArrayWrites()
        Returns:
        the number of array element writes
      • getTotalArrayAccesses

        public int getTotalArrayAccesses()
        Returns:
        array reads plus array writes
      • getTotalAccesses

        public int getTotalAccesses()
        Returns:
        every field and array access counted
      • getDistinctFields

        public int getDistinctFields()
        Returns:
        the number of distinct fields touched
      • getFieldReadWriteRatio

        public double getFieldReadWriteRatio()
        Returns:
        field reads divided by field writes, or the read count when there were no writes
      • hasAccesses

        public boolean hasAccesses()
        Returns:
        true when any field or array access was counted
      • combine

        public AccessMetrics combine​(AccessMetrics other)
        Sums every count of both metrics, including the distinct-field totals.
        Parameters:
        other - the metrics to add
        Returns:
        the summed metrics