queries

package
v0.27.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 7, 2023 License: Apache-2.0 Imports: 21 Imported by: 0

README

runtime/queries/

This package implements pre-defined analytical queries. Each query should adhere to the runtime.Query interface to enable efficient caching and cache invalidation of query results.

Adding a new query

Each query should be defined in a separate file and have its own test file containing at least one unit test and exactly one benchmark. The benchmark should be implemented against the ad_bids test project. See column_topk.go and column_topk_test.go for an example.

Running benchmarks

From the repo root, you can benchmark all queries by running:

go test -bench=. -benchmem ./runtime/queries/...

Documentation

Index

Constants

View Source
const IsoFormat string = "2006-01-02T15:04:05.000Z"

Variables

This section is empty.

Functions

func NiceAndStep added in v0.22.0

func NiceAndStep(start, stop, count float64) (float64, float64, float64)

Returns a new interval with nicer looking bounds covering the given interval and the step relative to the number of ticks (`count` parameter). The new bounds are guaranteed to align with the human-friendly gap between ticks. The gap is a rounded value that is a power of 10 multiplied by 1, 2 or 5. This approach is inspired by d3.js, see d3.nice() function.

Types

type ColumnCardinality added in v0.17.0

type ColumnCardinality struct {
	TableName  string
	ColumnName string
	Result     float64
}

func (*ColumnCardinality) Deps added in v0.17.0

func (q *ColumnCardinality) Deps() []string

func (*ColumnCardinality) Key added in v0.17.0

func (q *ColumnCardinality) Key() string

func (*ColumnCardinality) MarshalResult added in v0.17.0

func (q *ColumnCardinality) MarshalResult() *runtime.QueryResult

func (*ColumnCardinality) Resolve added in v0.17.0

func (q *ColumnCardinality) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*ColumnCardinality) UnmarshalResult added in v0.17.0

func (q *ColumnCardinality) UnmarshalResult(v any) error

type ColumnDescriptiveStatistics added in v0.17.0

type ColumnDescriptiveStatistics struct {
	TableName  string
	ColumnName string
	Result     *runtimev1.NumericStatistics
}

func (*ColumnDescriptiveStatistics) Deps added in v0.17.0

func (q *ColumnDescriptiveStatistics) Deps() []string

func (*ColumnDescriptiveStatistics) Key added in v0.17.0

func (*ColumnDescriptiveStatistics) MarshalResult added in v0.17.0

func (q *ColumnDescriptiveStatistics) MarshalResult() *runtime.QueryResult

func (*ColumnDescriptiveStatistics) Resolve added in v0.17.0

func (q *ColumnDescriptiveStatistics) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*ColumnDescriptiveStatistics) UnmarshalResult added in v0.17.0

func (q *ColumnDescriptiveStatistics) UnmarshalResult(v any) error

type ColumnNullCount added in v0.17.0

type ColumnNullCount struct {
	TableName  string
	ColumnName string
	Result     float64
}

func (*ColumnNullCount) Deps added in v0.17.0

func (q *ColumnNullCount) Deps() []string

func (*ColumnNullCount) Key added in v0.17.0

func (q *ColumnNullCount) Key() string

func (*ColumnNullCount) MarshalResult added in v0.17.0

func (q *ColumnNullCount) MarshalResult() *runtime.QueryResult

func (*ColumnNullCount) Resolve added in v0.17.0

func (q *ColumnNullCount) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*ColumnNullCount) UnmarshalResult added in v0.17.0

func (q *ColumnNullCount) UnmarshalResult(v any) error

type ColumnNumericHistogram added in v0.17.0

type ColumnNumericHistogram struct {
	TableName  string
	ColumnName string
	Method     runtimev1.HistogramMethod
	Threshold  int
	Result     []*runtimev1.NumericHistogramBins_Bin
}

func (*ColumnNumericHistogram) Deps added in v0.17.0

func (q *ColumnNumericHistogram) Deps() []string

func (*ColumnNumericHistogram) Key added in v0.17.0

func (q *ColumnNumericHistogram) Key() string

func (*ColumnNumericHistogram) MarshalResult added in v0.17.0

func (q *ColumnNumericHistogram) MarshalResult() *runtime.QueryResult

func (*ColumnNumericHistogram) Resolve added in v0.17.0

func (q *ColumnNumericHistogram) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*ColumnNumericHistogram) UnmarshalResult added in v0.17.0

func (q *ColumnNumericHistogram) UnmarshalResult(v any) error

type ColumnRugHistogram added in v0.17.0

type ColumnRugHistogram struct {
	TableName  string
	ColumnName string
	Result     []*runtimev1.NumericOutliers_Outlier
}

func (*ColumnRugHistogram) Deps added in v0.17.0

func (q *ColumnRugHistogram) Deps() []string

func (*ColumnRugHistogram) Key added in v0.17.0

func (q *ColumnRugHistogram) Key() string

func (*ColumnRugHistogram) MarshalResult added in v0.17.0

func (q *ColumnRugHistogram) MarshalResult() *runtime.QueryResult

func (*ColumnRugHistogram) Resolve added in v0.17.0

func (q *ColumnRugHistogram) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*ColumnRugHistogram) UnmarshalResult added in v0.17.0

func (q *ColumnRugHistogram) UnmarshalResult(v any) error

type ColumnTimeGrain added in v0.17.0

type ColumnTimeGrain struct {
	TableName  string
	ColumnName string
	Result     runtimev1.TimeGrain
}

func (*ColumnTimeGrain) Deps added in v0.17.0

func (q *ColumnTimeGrain) Deps() []string

func (*ColumnTimeGrain) Key added in v0.17.0

func (q *ColumnTimeGrain) Key() string

func (*ColumnTimeGrain) MarshalResult added in v0.17.0

func (q *ColumnTimeGrain) MarshalResult() *runtime.QueryResult

func (*ColumnTimeGrain) Resolve added in v0.17.0

func (q *ColumnTimeGrain) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*ColumnTimeGrain) UnmarshalResult added in v0.17.0

func (q *ColumnTimeGrain) UnmarshalResult(v any) error

type ColumnTimeRange added in v0.17.0

type ColumnTimeRange struct {
	TableName  string
	ColumnName string
	Result     *runtimev1.TimeRangeSummary
}

func (*ColumnTimeRange) Deps added in v0.17.0

func (q *ColumnTimeRange) Deps() []string

func (*ColumnTimeRange) Key added in v0.17.0

func (q *ColumnTimeRange) Key() string

func (*ColumnTimeRange) MarshalResult added in v0.17.0

func (q *ColumnTimeRange) MarshalResult() *runtime.QueryResult

func (*ColumnTimeRange) Resolve added in v0.17.0

func (q *ColumnTimeRange) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*ColumnTimeRange) UnmarshalResult added in v0.17.0

func (q *ColumnTimeRange) UnmarshalResult(v any) error

type ColumnTimeseries added in v0.17.0

type ColumnTimeseries struct {
	TableName           string                                            `json:"table_name"`
	Measures            []*runtimev1.ColumnTimeSeriesRequest_BasicMeasure `json:"measures"`
	TimestampColumnName string                                            `json:"timestamp_column_name"`
	TimeRange           *runtimev1.TimeSeriesTimeRange                    `json:"time_range"`
	Filters             *runtimev1.MetricsViewFilter                      `json:"filters"`
	Pixels              int32                                             `json:"pixels"`
	SampleSize          int32                                             `json:"sample_size"`
	Result              *ColumnTimeseriesResult                           `json:"-"`
}

func (*ColumnTimeseries) Deps added in v0.17.0

func (q *ColumnTimeseries) Deps() []string

func (*ColumnTimeseries) Key added in v0.17.0

func (q *ColumnTimeseries) Key() string

func (*ColumnTimeseries) MarshalResult added in v0.17.0

func (q *ColumnTimeseries) MarshalResult() *runtime.QueryResult

func (*ColumnTimeseries) Resolve added in v0.17.0

func (q *ColumnTimeseries) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*ColumnTimeseries) UnmarshalResult added in v0.17.0

func (q *ColumnTimeseries) UnmarshalResult(v any) error

type ColumnTimeseriesResult added in v0.21.0

type ColumnTimeseriesResult struct {
	Meta       []*runtimev1.MetricsViewColumn
	Results    []*runtimev1.TimeSeriesValue
	Spark      []*runtimev1.TimeSeriesValue
	TimeRange  *runtimev1.TimeSeriesTimeRange
	SampleSize int32
}

type ColumnTopK

type ColumnTopK struct {
	TableName  string
	ColumnName string
	Agg        string
	K          int
	Result     *runtimev1.TopK
}

func (*ColumnTopK) Deps

func (q *ColumnTopK) Deps() []string

func (*ColumnTopK) Key

func (q *ColumnTopK) Key() string

func (*ColumnTopK) MarshalResult

func (q *ColumnTopK) MarshalResult() *runtime.QueryResult

func (*ColumnTopK) Resolve

func (q *ColumnTopK) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*ColumnTopK) UnmarshalResult

func (q *ColumnTopK) UnmarshalResult(v any) error

type MetricsViewComparisonToplist added in v0.25.2

type MetricsViewComparisonToplist struct {
	MetricsViewName     string                                 `json:"metrics_view_name,omitempty"`
	DimensionName       string                                 `json:"dimension_name,omitempty"`
	MeasureNames        []string                               `json:"measure_names,omitempty"`
	InlineMeasures      []*runtimev1.InlineMeasure             `json:"inline_measures,omitempty"`
	BaseTimeRange       *runtimev1.TimeRange                   `json:"base_time_range,omitempty"`
	ComparisonTimeRange *runtimev1.TimeRange                   `json:"comparison_time_range,omitempty"`
	Limit               int64                                  `json:"limit,omitempty"`
	Offset              int64                                  `json:"offset,omitempty"`
	Sort                []*runtimev1.MetricsViewComparisonSort `json:"sort,omitempty"`
	Filter              *runtimev1.MetricsViewFilter           `json:"filter,omitempty"`

	Result *runtimev1.MetricsViewComparisonToplistResponse `json:"-"`
}

func (*MetricsViewComparisonToplist) Deps added in v0.25.2

func (*MetricsViewComparisonToplist) Key added in v0.25.2

func (*MetricsViewComparisonToplist) MarshalResult added in v0.25.2

func (q *MetricsViewComparisonToplist) MarshalResult() *runtime.QueryResult

func (*MetricsViewComparisonToplist) Resolve added in v0.25.2

func (q *MetricsViewComparisonToplist) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*MetricsViewComparisonToplist) UnmarshalResult added in v0.25.2

func (q *MetricsViewComparisonToplist) UnmarshalResult(v any) error

type MetricsViewRows added in v0.24.4

type MetricsViewRows struct {
	MetricsViewName string                       `json:"metrics_view_name,omitempty"`
	TimeStart       *timestamppb.Timestamp       `json:"time_start,omitempty"`
	TimeEnd         *timestamppb.Timestamp       `json:"time_end,omitempty"`
	Filter          *runtimev1.MetricsViewFilter `json:"filter,omitempty"`
	Sort            []*runtimev1.MetricsViewSort `json:"sort,omitempty"`
	Limit           int32                        `json:"limit,omitempty"`
	Offset          int64                        `json:"offset,omitempty"`

	Result *runtimev1.MetricsViewRowsResponse `json:"-"`
}

func (*MetricsViewRows) Deps added in v0.24.4

func (q *MetricsViewRows) Deps() []string

func (*MetricsViewRows) Key added in v0.24.4

func (q *MetricsViewRows) Key() string

func (*MetricsViewRows) MarshalResult added in v0.24.4

func (q *MetricsViewRows) MarshalResult() *runtime.QueryResult

func (*MetricsViewRows) Resolve added in v0.24.4

func (q *MetricsViewRows) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*MetricsViewRows) UnmarshalResult added in v0.24.4

func (q *MetricsViewRows) UnmarshalResult(v any) error

type MetricsViewTimeSeries added in v0.17.0

type MetricsViewTimeSeries struct {
	MetricsViewName string                       `json:"metrics_view_name,omitempty"`
	MeasureNames    []string                     `json:"measure_names,omitempty"`
	InlineMeasures  []*runtimev1.InlineMeasure   `json:"inline_measures,omitempty"`
	TimeStart       *timestamppb.Timestamp       `json:"time_start,omitempty"`
	TimeEnd         *timestamppb.Timestamp       `json:"time_end,omitempty"`
	Limit           int64                        `json:"limit,omitempty"`
	Offset          int64                        `json:"offset,omitempty"`
	Sort            []*runtimev1.MetricsViewSort `json:"sort,omitempty"`
	Filter          *runtimev1.MetricsViewFilter `json:"filter,omitempty"`
	TimeGranularity runtimev1.TimeGrain          `json:"time_granularity,omitempty"`

	Result *runtimev1.MetricsViewTimeSeriesResponse `json:"-"`
}

func (*MetricsViewTimeSeries) Deps added in v0.17.0

func (q *MetricsViewTimeSeries) Deps() []string

func (*MetricsViewTimeSeries) Key added in v0.17.0

func (q *MetricsViewTimeSeries) Key() string

func (*MetricsViewTimeSeries) MarshalResult added in v0.17.0

func (q *MetricsViewTimeSeries) MarshalResult() *runtime.QueryResult

func (*MetricsViewTimeSeries) Resolve added in v0.17.0

func (q *MetricsViewTimeSeries) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*MetricsViewTimeSeries) UnmarshalResult added in v0.17.0

func (q *MetricsViewTimeSeries) UnmarshalResult(v any) error

type MetricsViewToplist added in v0.17.0

type MetricsViewToplist struct {
	MetricsViewName string                       `json:"metrics_view_name,omitempty"`
	DimensionName   string                       `json:"dimension_name,omitempty"`
	MeasureNames    []string                     `json:"measure_names,omitempty"`
	InlineMeasures  []*runtimev1.InlineMeasure   `json:"inline_measures,omitempty"`
	TimeStart       *timestamppb.Timestamp       `json:"time_start,omitempty"`
	TimeEnd         *timestamppb.Timestamp       `json:"time_end,omitempty"`
	Limit           int64                        `json:"limit,omitempty"`
	Offset          int64                        `json:"offset,omitempty"`
	Sort            []*runtimev1.MetricsViewSort `json:"sort,omitempty"`
	Filter          *runtimev1.MetricsViewFilter `json:"filter,omitempty"`

	Result *runtimev1.MetricsViewToplistResponse `json:"-"`
}

func (*MetricsViewToplist) Deps added in v0.17.0

func (q *MetricsViewToplist) Deps() []string

func (*MetricsViewToplist) Key added in v0.17.0

func (q *MetricsViewToplist) Key() string

func (*MetricsViewToplist) MarshalResult added in v0.17.0

func (q *MetricsViewToplist) MarshalResult() *runtime.QueryResult

func (*MetricsViewToplist) Resolve added in v0.17.0

func (q *MetricsViewToplist) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*MetricsViewToplist) UnmarshalResult added in v0.17.0

func (q *MetricsViewToplist) UnmarshalResult(v any) error

type MetricsViewTotals added in v0.17.0

type MetricsViewTotals struct {
	MetricsViewName string                       `json:"metrics_view_name,omitempty"`
	MeasureNames    []string                     `json:"measure_names,omitempty"`
	InlineMeasures  []*runtimev1.InlineMeasure   `json:"inline_measures,omitempty"`
	TimeStart       *timestamppb.Timestamp       `json:"time_start,omitempty"`
	TimeEnd         *timestamppb.Timestamp       `json:"time_end,omitempty"`
	Filter          *runtimev1.MetricsViewFilter `json:"filter,omitempty"`

	Result *runtimev1.MetricsViewTotalsResponse `json:"-"`
}

func (*MetricsViewTotals) Deps added in v0.17.0

func (q *MetricsViewTotals) Deps() []string

func (*MetricsViewTotals) Key added in v0.17.0

func (q *MetricsViewTotals) Key() string

func (*MetricsViewTotals) MarshalResult added in v0.17.0

func (q *MetricsViewTotals) MarshalResult() *runtime.QueryResult

func (*MetricsViewTotals) Resolve added in v0.17.0

func (q *MetricsViewTotals) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*MetricsViewTotals) UnmarshalResult added in v0.17.0

func (q *MetricsViewTotals) UnmarshalResult(v any) error

type RollupInterval added in v0.17.0

type RollupInterval struct {
	TableName  string
	ColumnName string
	Result     *runtimev1.ColumnRollupIntervalResponse
}

func (*RollupInterval) Deps added in v0.17.0

func (q *RollupInterval) Deps() []string

func (*RollupInterval) Key added in v0.17.0

func (q *RollupInterval) Key() string

func (*RollupInterval) MarshalResult added in v0.17.0

func (q *RollupInterval) MarshalResult() *runtime.QueryResult

func (*RollupInterval) Resolve added in v0.17.0

func (q *RollupInterval) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*RollupInterval) UnmarshalResult added in v0.17.0

func (q *RollupInterval) UnmarshalResult(v any) error

type TableCardinality added in v0.17.0

type TableCardinality struct {
	TableName string
	Result    int64
}

func (*TableCardinality) Deps added in v0.17.0

func (q *TableCardinality) Deps() []string

func (*TableCardinality) Key added in v0.17.0

func (q *TableCardinality) Key() string

func (*TableCardinality) MarshalResult added in v0.17.0

func (q *TableCardinality) MarshalResult() *runtime.QueryResult

func (*TableCardinality) Resolve added in v0.17.0

func (q *TableCardinality) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*TableCardinality) UnmarshalResult added in v0.17.0

func (q *TableCardinality) UnmarshalResult(v any) error

type TableColumns added in v0.17.0

type TableColumns struct {
	TableName string
	Result    []*runtimev1.ProfileColumn
}

func (*TableColumns) Deps added in v0.17.0

func (q *TableColumns) Deps() []string

func (*TableColumns) Key added in v0.17.0

func (q *TableColumns) Key() string

func (*TableColumns) MarshalResult added in v0.17.0

func (q *TableColumns) MarshalResult() *runtime.QueryResult

func (*TableColumns) Resolve added in v0.17.0

func (q *TableColumns) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*TableColumns) UnmarshalResult added in v0.17.0

func (q *TableColumns) UnmarshalResult(v any) error

type TableHead added in v0.21.1

type TableHead struct {
	TableName string
	Limit     int
	Result    []*structpb.Struct
}

func (*TableHead) Deps added in v0.21.1

func (q *TableHead) Deps() []string

func (*TableHead) Key added in v0.21.1

func (q *TableHead) Key() string

func (*TableHead) MarshalResult added in v0.21.1

func (q *TableHead) MarshalResult() *runtime.QueryResult

func (*TableHead) Resolve added in v0.21.1

func (q *TableHead) Resolve(ctx context.Context, rt *runtime.Runtime, instanceID string, priority int) error

func (*TableHead) UnmarshalResult added in v0.21.1

func (q *TableHead) UnmarshalResult(v any) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL