Copyright The OpenTelemetry Authors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.



This section is empty.


This section is empty.


This section is empty.


type Aggregator

type Aggregator struct {
	// contains filtered or unexported fields

Aggregator aggregates events into a distribution.

func New

func New(cnt int, desc *metric.Descriptor, cfg *Config) []Aggregator

New returns a new DDSketch aggregator.

func (*Aggregator) Aggregation

func (c *Aggregator) Aggregation() aggregation.Aggregation

Aggregation returns an interface for reading the state of this aggregator.

func (*Aggregator) Count

func (c *Aggregator) Count() (int64, error)

Count returns the number of values in the checkpoint.

func (*Aggregator) Kind

func (c *Aggregator) Kind() aggregation.Kind

Kind returns aggregation.SketchKind.

func (*Aggregator) Max

func (c *Aggregator) Max() (number.Number, error)

Max returns the maximum value in the checkpoint.

func (*Aggregator) Merge

Merge combines two sketches into one.

func (*Aggregator) Min

func (c *Aggregator) Min() (number.Number, error)

Min returns the minimum value in the checkpoint.

func (*Aggregator) Quantile

func (c *Aggregator) Quantile(q float64) (number.Number, error)

Quantile returns the estimated quantile of data in the checkpoint. It is an error if `q` is less than 0 or greated than 1.

func (*Aggregator) Sum

func (c *Aggregator) Sum() (number.Number, error)

Sum returns the sum of values in the checkpoint.

func (*Aggregator) SynchronizedMove

func (c *Aggregator) SynchronizedMove(oa export.Aggregator, _ *metric.Descriptor) error

SynchronizedMove saves the current state into oa and resets the current state to a new sketch, taking a lock to prevent concurrent Update() calls.

func (*Aggregator) Update

func (c *Aggregator) Update(_ context.Context, number number.Number, desc *metric.Descriptor) error

Update adds the recorded measurement to the current data set. Update takes a lock to prevent concurrent Update() and SynchronizedMove() calls.

type Config

type Config = sdk.Config

Config is an alias for the underlying DDSketch config object.

func NewDefaultConfig

func NewDefaultConfig() *Config

NewDefaultConfig returns a new, default DDSketch config.

Source Files