Documentation ¶
Overview ¶
Package measurement export utility functions to manipulate/format performance profile sample values.
Index ¶
- Variables
- func CommonValueType(ts []*profile.ValueType) (*profile.ValueType, error)
- func Label(value int64, unit string) string
- func Percentage(value, total int64) string
- func Scale(value int64, fromUnit, toUnit string) (float64, string)
- func ScaleProfiles(profiles []*profile.Profile) error
- func ScaledLabel(value int64, fromUnit, toUnit string) string
- type Unit
- type UnitType
Constants ¶
This section is empty.
Variables ¶
var UnitTypes = []UnitType{{ Units: []Unit{ {"B", []string{"b", "byte"}, 1}, {"kB", []string{"kb", "kbyte", "kilobyte"}, float64(1 << 10)}, {"MB", []string{"mb", "mbyte", "megabyte"}, float64(1 << 20)}, {"GB", []string{"gb", "gbyte", "gigabyte"}, float64(1 << 30)}, {"TB", []string{"tb", "tbyte", "terabyte"}, float64(1 << 40)}, {"PB", []string{"pb", "pbyte", "petabyte"}, float64(1 << 50)}, }, DefaultUnit: Unit{"B", []string{"b", "byte"}, 1}, }, { Units: []Unit{ {"ns", []string{"ns", "nanosecond"}, float64(time.Nanosecond)}, {"us", []string{"μs", "us", "microsecond"}, float64(time.Microsecond)}, {"ms", []string{"ms", "millisecond"}, float64(time.Millisecond)}, {"s", []string{"s", "sec", "second"}, float64(time.Second)}, {"hrs", []string{"hour", "hr"}, float64(time.Hour)}, }, DefaultUnit: Unit{"s", []string{}, float64(time.Second)}, }, { Units: []Unit{ {"n*GCU", []string{"nanogcu"}, 1e-9}, {"u*GCU", []string{"microgcu"}, 1e-6}, {"m*GCU", []string{"milligcu"}, 1e-3}, {"GCU", []string{"gcu"}, 1}, {"k*GCU", []string{"kilogcu"}, 1e3}, {"M*GCU", []string{"megagcu"}, 1e6}, {"G*GCU", []string{"gigagcu"}, 1e9}, {"T*GCU", []string{"teragcu"}, 1e12}, {"P*GCU", []string{"petagcu"}, 1e15}, }, DefaultUnit: Unit{"GCU", []string{}, 1.0}, }}
UnitTypes holds the definition of units known to pprof.
Functions ¶
func CommonValueType ¶
CommonValueType returns the finest type from a set of compatible types.
func Percentage ¶
Percentage computes the percentage of total of a value, and encodes it as a string. At least two digits of precision are printed.
func Scale ¶
Scale a measurement from a unit to a different unit and returns the scaled value and the target unit. The returned target unit will be empty if uninteresting (could be skipped).
func ScaleProfiles ¶
ScaleProfiles updates the units in a set of profiles to make them compatible. It scales the profiles to the smallest unit to preserve data.
func ScaledLabel ¶
ScaledLabel scales the passed-in measurement (if necessary) and returns the label used to describe a float measurement.