Package org.eclipse.mat.query.quantize
Class Quantize
java.lang.Object
org.eclipse.mat.query.quantize.Quantize
Create a value or frequency distribution out of arbitrary values.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Quantize
factorystatic interface
A function used to aggregate values into one bucket, e.g. -
Field Summary
Modifier and TypeFieldDescriptionstatic final Quantize.Function.Factory
Function to find the average value.static final Quantize.Function.Factory
Function to find the average Bytes value.static final Quantize.Function.Factory
Function to find the average long value.static final Quantize.Function.Factory
Function to count values.static final Quantize.Function.Factory
Function to find the maximum double value.static final Quantize.Function.Factory
Function to find the maximum Bytes value.static final Quantize.Function.Factory
Function to find the maximum long value.static final Quantize.Function.Factory
Function to find the minimum double value.static final Quantize.Function.Factory
Function to find the minimum Bytes value.static final Quantize.Function.Factory
Function to find the minimum long value.static final Quantize.Function.Factory
Function to add values as doubles.static final Quantize.Function.Factory
Function to add values as Bytes.static final Quantize.Function.Factory
Function to add values as longs. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Add one value to the quantize function representing a set of objects.void
Add one value to the quantize function representing one heap object.Returns theIResult
build by the Quantize object.static Quantize.Builder
linearFrequencyDistribution
(String label, double lowerBound, double upperBound, double step) Creates a quantizeQuantize.Builder
for a linear frequency distribution on double values.static Quantize.Builder
linearFrequencyDistribution
(String label, long lowerBound, long upperBound, long step) Creates a quantizeQuantize.Builder
for a linear frequency distribution on long values.static Quantize.Builder
valueDistribution
(String... label) Creates a quantizeQuantize.Builder
for a value distribution, i.e.static Quantize.Builder
valueDistribution
(Column... column) Creates a quantizeQuantize.Builder
for a value distribution, i.e.
-
Field Details
-
COUNT
Function to count values. -
SUM
Function to add values as doubles. -
SUM_LONG
Function to add values as longs. -
SUM_BYTES
Function to add values as Bytes.- Since:
- 1.12
-
MIN
Function to find the minimum double value. -
MIN_LONG
Function to find the minimum long value. -
MIN_BYTES
Function to find the minimum Bytes value.- Since:
- 1.12
-
MAX
Function to find the maximum double value. -
MAX_LONG
Function to find the maximum long value. -
MAX_BYTES
Function to find the maximum Bytes value.- Since:
- 1.12
-
AVERAGE
Function to find the average value. -
AVERAGE_LONG
Function to find the average long value.- Since:
- 0.8
-
AVERAGE_BYTES
Function to find the average Bytes value.- Since:
- 1.12
-
-
Method Details
-
valueDistribution
Creates a quantizeQuantize.Builder
for a value distribution, i.e. rows are grouped by identical values. Rows can be grouped by one ore more values.- Parameters:
label
- multiple labels used to construct columns- Returns:
- a Builder so that multiple construction options can be chained before calling
Quantize.Builder.build()
-
valueDistribution
Creates a quantizeQuantize.Builder
for a value distribution, i.e. rows are grouped by identical values. Rows can be grouped by one ore more values. This constructor uses the given columns and their formatting and alignment to display the results.- Parameters:
column
- multiple columns, already with labels- Returns:
- a Builder so that multiple construction options can be chained before calling
Quantize.Builder.build()
-
linearFrequencyDistribution
public static Quantize.Builder linearFrequencyDistribution(String label, double lowerBound, double upperBound, double step) Creates a quantizeQuantize.Builder
for a linear frequency distribution on double values.Basically, one can answer questions like how many collections have a fill ratio between 0 and 20%, between 20% and 40%, etc.
- Parameters:
label
- Name of the first columnlowerBound
- The lower bound of the distributionupperBound
- The upper bound of the distributionstep
- The size of the buckets in the distribution- Returns:
- a Builder so more options can be added before calling
Quantize.Builder.build()
-
linearFrequencyDistribution
public static Quantize.Builder linearFrequencyDistribution(String label, long lowerBound, long upperBound, long step) Creates a quantizeQuantize.Builder
for a linear frequency distribution on long values.linearFrequencyDistribution(String, double, double, double)
- Parameters:
label
- How to label this quantizationlowerBound
- the lowest long valueupperBound
- the highest long valuestep
- the interval for each bucket between lowerBound and upperBound- Returns:
- a Builder so that multiple construction options can be chained before calling
Quantize.Builder.build()
-
addValue
Add one value to the quantize function representing one heap object.- Parameters:
objectId
- the heap object represented by this valuecolumnValues
- the column values- Throws:
SnapshotException
- if there is a problem, perhaps such as an invalid objectId
-
addValue
Add one value to the quantize function representing a set of objects.- Parameters:
objectIds
- the heap objects represented by this valuecolumnValues
- the column values- Throws:
SnapshotException
- if there is a problem, perhaps such as an invalid objectId
-
getResult
Returns theIResult
build by the Quantize object.- Returns:
- a
Quantize.QuantizedResult
-