org.opensolaris.os.dtrace
Class LogLinearDistribution

java.lang.Object
  extended by org.opensolaris.os.dtrace.Distribution
      extended by org.opensolaris.os.dtrace.LogLinearDistribution
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<LogLinearDistribution>, java.lang.Iterable<Distribution.Bucket>, AggregationValue

public final class LogLinearDistribution
extends Distribution
implements java.io.Serializable, java.lang.Comparable<LogLinearDistribution>

A log/linear distribution aggregated by the DTrace llquantize() action. Aggregated values are aggregated logarithmicly by order of magnitude (between the low and high magnitude arguments of the llquantize() action, but linearly within each order of magnitude bounded by the step parameter of the llquantize() action.

See Also:
LinearDistribution, LogLinearDistribution, Aggregation, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.opensolaris.os.dtrace.Distribution
Distribution.Bucket
 
Constructor Summary
LogLinearDistribution(long enc, long base, java.util.List<Distribution.Bucket> frequencies)
          Creates a log/linear distribution with the given parameters, base value and frequencies.
LogLinearDistribution(long scaleFactor, long lowMagnitude, long highMagnitude, long bucketSteps, long baseVal, java.util.List<Distribution.Bucket> frequencies)
          Creates a log/linear distribution with the given parameters, base values and frequencies.
 
Method Summary
 int compareTo(LogLinearDistribution d)
          Compares the double values of getValue() for overall magnitude, and if those are equal, compares frequencies at zero if the distrubions includea bucket whose range has a minimum of zero.
 long getBase()
           
 long getEncValue()
           
 java.lang.Number getValue()
          Gets the numeric value of this distribution used to compare distributions by overall magnitude, defined as the sum total of each bucket's frequency times the minimum of its range.
 
Methods inherited from class org.opensolaris.os.dtrace.Distribution
asList, equals, get, getBuckets, getDisplayRange, getTotal, hashCode, iterator, size, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LogLinearDistribution

public LogLinearDistribution(long enc,
                             long base,
                             java.util.List<Distribution.Bucket> frequencies)
Creates a log/linear distribution with the given parameters, base value and frequencies. Used by XML Persistence.

Parameters:
enc - The encoded representation of the high, low, step and steps llquantize() paramaters.
base - The base value of the distirbution
frequencies - list of frequencies in each bucket range

LogLinearDistribution

public LogLinearDistribution(long scaleFactor,
                             long lowMagnitude,
                             long highMagnitude,
                             long bucketSteps,
                             long baseVal,
                             java.util.List<Distribution.Bucket> frequencies)
Creates a log/linear distribution with the given parameters, base values and frequencies.

Parameters:
scaleFactor - factor
lowMagnitude - the low magnitude
highMagnitude - the high magnitude
bucketSteps - number of linear steps per magnitude
baseVal - basue value
frequencies - list of frequencies in each bucket range
Method Detail

getValue

public java.lang.Number getValue()
Description copied from class: Distribution
Gets the numeric value of this distribution used to compare distributions by overall magnitude, defined as the sum total of each bucket's frequency times the minimum of its range.

Specified by:
getValue in interface AggregationValue
Specified by:
getValue in class Distribution
Returns:
non-null numeric value

compareTo

public int compareTo(LogLinearDistribution d)
Compares the double values of getValue() for overall magnitude, and if those are equal, compares frequencies at zero if the distrubions includea bucket whose range has a minimum of zero.

Specified by:
compareTo in interface java.lang.Comparable<LogLinearDistribution>

getBase

public long getBase()

getEncValue

public long getEncValue()