Documentation ¶
Index ¶
- Constants
- type Histogram
- func (hist *Histogram) Add(binName string, binCount int)
- func (hist *Histogram) AddBulk(m map[string]int)
- func (hist *Histogram) AddMap(binMap map[string]string, binCount int)
- func (hist *Histogram) BinCount(binName string) (int, error)
- func (hist *Histogram) BinCountOrDefault(binName string, def int) int
- func (hist *Histogram) BinNameExists(binName string) bool
- func (hist *Histogram) BinNames() []string
- func (hist *Histogram) FilterMapKeys(mapKeysFilter []string) (*Histogram, error)
- func (hist *Histogram) FlattenMapSingleKey(mapKeyFilter string) (*Histogram, error)
- func (hist *Histogram) Inflate()
- func (hist *Histogram) ItemCount() uint
- func (hist *Histogram) ItemCounts(sortBy string) []maputil.Record
- func (hist *Histogram) ItemNames() []string
- func (hist *Histogram) MapKeys() ([]string, error)
- func (hist *Histogram) MayKeyValues(key string, dedupe bool) ([]string, error)
- func (hist *Histogram) Stats() point.PointSet
- func (hist *Histogram) Sum() int
- func (hist *Histogram) Table(colNameBinName, colNameBinCount string) *table.Table
- func (hist *Histogram) TableMap(mapCols []string, colNameBinCount string) (*table.Table, error)
- func (hist *Histogram) TransformBinNames(xfFunc func(input string) string) *Histogram
- func (hist *Histogram) TransformBinNamesMap(xfMap map[string]string, matchType string) *Histogram
- func (hist *Histogram) WriteTableASCII(w io.Writer, header []string, sortBy string, inclTotal bool)
- func (hist *Histogram) WriteXLSX(filename, sheetname, colNameBinName, colNameBinCount string) error
- type HistogramAny
- type HistogramSet
- func (hset *HistogramSet) Add(histName, binName string, binCount int)
- func (hset *HistogramSet) AddDateUIDCount(dt time.Time, uid string, count int)
- func (hset *HistogramSet) BinNameExists(binName string) bool
- func (hset *HistogramSet) BinNames() []string
- func (hset *HistogramSet) DatetimeKeyCount() (timeseries.TimeSeries, error)
- func (hset *HistogramSet) DatetimeKeyCountTable(interval timeutil.Interval, countColName string) (table.Table, error)
- func (hset *HistogramSet) DatetimeKeyToQuarter(name string) (*HistogramSet, error)
- func (hset *HistogramSet) HistogramBinNames(setName string) []string
- func (hset *HistogramSet) HistogramNameExists(histName string) bool
- func (hset *HistogramSet) HistogramSetTimeKeyCountWriteXLSX(filename string, interval timeutil.Interval, countColName string) error
- func (hset *HistogramSet) ItemCount() uint
- func (hset *HistogramSet) ItemCounts() *Histogram
- func (hset *HistogramSet) ItemNames() []string
- func (hset *HistogramSet) LeafStats(name string) *Histogram
- func (hset *HistogramSet) Sum() int
- func (hset *HistogramSet) Table(colNameHist, colNameBin, colNameCount string) table.Table
- func (hset *HistogramSet) TableMatrix(tableName, histColName string) (*table.Table, error)
- func (hset *HistogramSet) ToTimeSeriesDistinct() (timeseries.TimeSeries, error)
- func (hset *HistogramSet) TransformHistogramNames(xfFunc func(input string) string) *HistogramSet
- func (hset *HistogramSet) TransformHistogramNamesMap(xfMap map[string]string, matchType string) *HistogramSet
- func (hset *HistogramSet) WriteXLSX(filename, sheetName, colName1, colName2, colNameCount string) error
- func (hset *HistogramSet) WriteXLSXMatrix(filename, sheetName, histColName string) error
- type HistogramSetMetadata
- type HistogramSets
- func (hsets *HistogramSets) Add(hsetName, histName, binName string, binCount int, trimSpace bool)
- func (hsets *HistogramSets) BinNames() []string
- func (hsets *HistogramSets) BinSumsByHset() *Histogram
- func (hsets *HistogramSets) Counts() *HistogramSetsCounts
- func (hsets *HistogramSets) Flatten(name string) *HistogramSet
- func (hsets *HistogramSets) ItemCount() uint
- func (hsets *HistogramSets) ItemNames() []string
- func (hsets *HistogramSets) Sum() int
- func (hsets *HistogramSets) Table(tableName, colNameHSet, colNameHist, colNameBinName, colNameBinCount string) table.Table
- func (hsets *HistogramSets) TableMatrix(tableName, colNameHSet, colNameHist, colNameBinNamePrefix, ... string) table.Table
- func (hsets *HistogramSets) Visit(visit func(hsetName, histName, binName string, binCount int))
- func (hsets *HistogramSets) WriteXLSX(...) error
- func (hsets *HistogramSets) WriteXLSXMatrix(...) error
- type HistogramSetsCounts
Constants ¶
const ( SortNameAsc = maputil.SortNameAsc SortNameDesc = maputil.SortNameDesc SortValueAsc = maputil.SortValueAsc SortValueDesc = maputil.SortValueDesc )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Histogram ¶
type Histogram struct { Name string Bins map[string]int Counts map[string]int // how many items have counts. Percentages map[string]float64 }
Histogram is used to count how many times an item appears and how many times number of appearances appear. It can be used with simple string keys or `map[string]string` keys which are converted to soerted query strings.
func NewHistogram ¶
func ParseFileCSV ¶
func ParseFileCSV(file string, name string, binNameColIdx, binFrequencyColIdx uint) (*Histogram, error)
ParseFileCSV reads a CSV using default settings of `,` separator, header row and BOM to be stripped. If you have other configurations, use `table.ReadFile()` directly and call `HistogramFromTable()`.
func ParseTable ¶
ParseTable parses a `table.Table` to a `Histogram` given a table, binName column index and binFrequency column index. Empty rows are skipped.
func (*Histogram) AddMap ¶ added in v2.10.0
AddMap provides a helper function to automatically create url encoded string keys. This can be used with `TableMap` to generate tables with arbitrary columns easily.
func (*Histogram) BinCountOrDefault ¶ added in v2.13.0
func (*Histogram) BinNameExists ¶
func (*Histogram) FilterMapKeys ¶ added in v2.14.0
func (*Histogram) FlattenMapSingleKey ¶ added in v2.14.0
func (*Histogram) ItemCounts ¶
ItemCounts returns sorted item names and values.
func (*Histogram) MapKeys ¶ added in v2.10.0
MapKeys returns a list of keys using query string keys.
func (*Histogram) MayKeyValues ¶ added in v2.11.0
MayKeyValues returns a list of keys using query string keys.
func (*Histogram) TransformBinNames ¶
TransformBinNames modifies bin names and returns a new histogram.
func (*Histogram) TransformBinNamesMap ¶
TransformBinNamesMap modifies bin names and returns a new histogram. `matchType` can be set to `prefix` to match name prefixes instead of exact match.
func (*Histogram) WriteTableASCII ¶
WriteTable writes an ASCII Table. For CLI apps, pass `os.Stdout` for `io.Writer`.
type HistogramAny ¶ added in v2.11.0
type HistogramSet ¶
func NewHistogramSet ¶
func NewHistogramSet(name string) *HistogramSet
func NewHistogramSetWithData ¶
func NewHistogramSetWithData(name string, data map[string]map[string]int) *HistogramSet
func (*HistogramSet) Add ¶
func (hset *HistogramSet) Add(histName, binName string, binCount int)
Add provides an easy method to add a histogram bin name and count for an existing or new histogram in the set.
func (*HistogramSet) AddDateUIDCount ¶
func (hset *HistogramSet) AddDateUIDCount(dt time.Time, uid string, count int)
func (*HistogramSet) BinNameExists ¶
func (hset *HistogramSet) BinNameExists(binName string) bool
BinNameExists returns a boolean indicating if a bin name exists in any histogram.
func (*HistogramSet) BinNames ¶
func (hset *HistogramSet) BinNames() []string
BinNames returns all the bin names used across all the histograms.
func (*HistogramSet) DatetimeKeyCount ¶
func (hset *HistogramSet) DatetimeKeyCount() (timeseries.TimeSeries, error)
DatetimeKeyCount returns a TimeSeries when the first key is a RFC3339 time and a sum of items is desired per time.
func (*HistogramSet) DatetimeKeyCountTable ¶
func (*HistogramSet) DatetimeKeyToQuarter ¶
func (hset *HistogramSet) DatetimeKeyToQuarter(name string) (*HistogramSet, error)
DatetimeKeyToQuarter converts a HistogramSet by date to one by quarters.
func (*HistogramSet) HistogramBinNames ¶
func (hset *HistogramSet) HistogramBinNames(setName string) []string
HistogramBinNames returns the bin names for a single histogram whose name is provided as a function parameter.
func (*HistogramSet) HistogramNameExists ¶
func (hset *HistogramSet) HistogramNameExists(histName string) bool
HistogramNameExists returns a boolean indicating if the supplied histogram name exists.
func (*HistogramSet) HistogramSetTimeKeyCountWriteXLSX ¶
func (*HistogramSet) ItemCount ¶
func (hset *HistogramSet) ItemCount() uint
ItemCount returns the number of histograms.
func (*HistogramSet) ItemCounts ¶
func (hset *HistogramSet) ItemCounts() *Histogram
ItemCounts returns the number of histograms.
func (*HistogramSet) ItemNames ¶
func (hset *HistogramSet) ItemNames() []string
ItemNames returns the number of histograms.
func (*HistogramSet) LeafStats ¶
func (hset *HistogramSet) LeafStats(name string) *Histogram
LeafStats returns a histogram by combining the histogram bins across histograms, removing the histogram distinction.
func (*HistogramSet) Sum ¶ added in v2.11.0
func (hset *HistogramSet) Sum() int
Sum returns the sum of all the histogram bin values.
func (*HistogramSet) Table ¶ added in v2.15.1
func (hset *HistogramSet) Table(colNameHist, colNameBin, colNameCount string) table.Table
func (*HistogramSet) TableMatrix ¶
func (hset *HistogramSet) TableMatrix(tableName, histColName string) (*table.Table, error)
TableMatrix returns a `*table.Table` where the first column is the histogram name and the other columns are the bin names. This is useful for easy visualization of a table and also creating charts such as grouped bar charts.
func (*HistogramSet) ToTimeSeriesDistinct ¶
func (hset *HistogramSet) ToTimeSeriesDistinct() (timeseries.TimeSeries, error)
func (*HistogramSet) TransformHistogramNames ¶
func (hset *HistogramSet) TransformHistogramNames(xfFunc func(input string) string) *HistogramSet
TransformHistogramNames modifies histogram names and returns a new histogram set.
func (*HistogramSet) TransformHistogramNamesMap ¶
func (hset *HistogramSet) TransformHistogramNamesMap(xfMap map[string]string, matchType string) *HistogramSet
TransformHistogramNamesMap modifies bin names and returns a new `HistogramSet`. `matchType` can be set to `prefix` to match name prefixes instead of exact match.
func (*HistogramSet) WriteXLSX ¶
func (hset *HistogramSet) WriteXLSX(filename, sheetName, colName1, colName2, colNameCount string) error
WriteXLSX creates an XLSX file where the first column is the histogram name, the second column is the bin name and the third column is the bin count.
func (*HistogramSet) WriteXLSXMatrix ¶
func (hset *HistogramSet) WriteXLSXMatrix(filename, sheetName, histColName string) error
WriteXLSXMatrix creates an XLSX file where the first column is the histogram name and the other columns are the bin names. This is useful for easy visualization of a table and also creating charts such as grouped bar charts.
type HistogramSetMetadata ¶
type HistogramSetMetadata struct { Names []string `json:"names,omitempty"` NameCount int `json:"nameCount,omitempty"` UniqueBinCount int `json:"uniqueBinCount,omitempty"` }
func NewHistogramSetMetadata ¶
func NewHistogramSetMetadata(histSet *HistogramSet) *HistogramSetMetadata
type HistogramSets ¶
type HistogramSets struct { Name string HistogramSetMap map[string]*HistogramSet }
func NewHistogramSets ¶
func NewHistogramSets(name string) *HistogramSets
func NewHistogramSetsCSVs ¶
func NewHistogramSetsCSVs(filenames []string, key1ColIdx, key2ColIdx, uidColIdx uint) (*HistogramSets, table.Table, error)
NewHistogramSetsCSVs expects multiple files to have same columns.
func NewHistogramSetsTable ¶
func NewHistogramSetsTable(tbl table.Table, key1ColIdx, key2ColIdx, uidColIdx uint) (*HistogramSets, error)
func (*HistogramSets) Add ¶
func (hsets *HistogramSets) Add(hsetName, histName, binName string, binCount int, trimSpace bool)
func (*HistogramSets) BinNames ¶
func (hsets *HistogramSets) BinNames() []string
func (*HistogramSets) BinSumsByHset ¶ added in v2.10.0
func (hsets *HistogramSets) BinSumsByHset() *Histogram
func (*HistogramSets) Counts ¶
func (hsets *HistogramSets) Counts() *HistogramSetsCounts
func (*HistogramSets) Flatten ¶
func (hsets *HistogramSets) Flatten(name string) *HistogramSet
func (*HistogramSets) ItemCount ¶
func (hsets *HistogramSets) ItemCount() uint
ItemCount returns the number of histogram sets.
func (*HistogramSets) ItemNames ¶ added in v2.12.0
func (hsets *HistogramSets) ItemNames() []string
func (*HistogramSets) Sum ¶ added in v2.11.0
func (hsets *HistogramSets) Sum() int
func (*HistogramSets) Table ¶
func (hsets *HistogramSets) Table(tableName, colNameHSet, colNameHist, colNameBinName, colNameBinCount string) table.Table
func (*HistogramSets) TableMatrix ¶
func (hsets *HistogramSets) TableMatrix(tableName, colNameHSet, colNameHist, colNameBinNamePrefix, colNameBinNameSuffix string) table.Table
TableMatrix returns a `*table.Table` where the first column is the histogram set name, the second column is the histogram name and the other columns are the bin names.
func (*HistogramSets) Visit ¶
func (hsets *HistogramSets) Visit(visit func(hsetName, histName, binName string, binCount int))
func (*HistogramSets) WriteXLSX ¶
func (hsets *HistogramSets) WriteXLSX(filename, sheetname, colNameHSet, colNameHist, colNameBinName, colNameBinCount string) error
func (*HistogramSets) WriteXLSXMatrix ¶
func (hsets *HistogramSets) WriteXLSXMatrix(filename, sheetname, colNameHSet, colNameHist, colNameBinNamePrefix, colNameBinNameSuffix string) error
type HistogramSetsCounts ¶
type HistogramSetsCounts struct { UIDCounts map[string]map[string]uint UIDCountsKey1 map[string]uint UIDCountsKey2 map[string]uint Key1Names []string Key2Names []string }
HistogramSetsCounts returns UID counts. When used with NewHistogramSetsCSV(), it can provide a sanity check for raw record counts against aggregate query values, e.g. compare counts of raw records to GROUP BY counts.
func NewHistogramSetsCounts ¶
func NewHistogramSetsCounts(hsets HistogramSets) *HistogramSetsCounts
func (*HistogramSetsCounts) Inflate ¶
func (hcounts *HistogramSetsCounts) Inflate()