Class AccessMetrics
- java.lang.Object
-
- com.tonic.analysis.simulation.metrics.AccessMetrics
-
public class AccessMetrics extends Object
Immutable field and array access counts collected during simulation.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AccessMetricscombine(AccessMetrics other)Sums every count of both metrics, including the distinct-field totals.static AccessMetricsempty()Creates metrics with every count at zero.static AccessMetricsfrom(FieldAccessListener listener)Snapshots the counts a listener accumulated.intgetArrayReads()intgetArrayWrites()intgetDistinctFields()intgetFieldReads()doublegetFieldReadWriteRatio()intgetFieldWrites()intgetInstanceFieldReads()intgetInstanceFieldWrites()intgetStaticFieldReads()intgetStaticFieldWrites()intgetTotalAccesses()intgetTotalArrayAccesses()intgetTotalFieldAccesses()booleanhasAccesses()StringtoString()
-
-
-
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
-
-