otel: go.opentelemetry.io/otel/sdk/metric/aggregator/ddsketch Index | Files

package ddsketch

import "go.opentelemetry.io/otel/sdk/metric/aggregator/ddsketch"

Copyright 2019, 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.


Package Files


type Aggregator Uses

type Aggregator struct {
    // contains filtered or unexported fields

Aggregator aggregates measure events.

func New Uses

func New(cfg *Config, desc *export.Descriptor) *Aggregator

New returns a new DDSketch aggregator.

func (*Aggregator) Checkpoint Uses

func (c *Aggregator) Checkpoint(ctx context.Context, _ *export.Descriptor)

Checkpoint saves the current state and resets the current state to the empty set, taking a lock to prevent concurrent Update() calls.

func (*Aggregator) Count Uses

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

Count returns the number of values in the checkpoint.

func (*Aggregator) Max Uses

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

Max returns the maximum value in the checkpoint.

func (*Aggregator) Merge Uses

func (c *Aggregator) Merge(oa export.Aggregator, d *export.Descriptor) error

Merge combines two sketches into one.

func (*Aggregator) Min Uses

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

Min returns the minimum value in the checkpoint.

func (*Aggregator) Quantile Uses

func (c *Aggregator) Quantile(q float64) (core.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 Uses

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

Sum returns the sum of values in the checkpoint.

func (*Aggregator) Update Uses

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

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

type Config Uses

type Config = sdk.Config

Config is an alias for the underlying DDSketch config object.

func NewDefaultConfig Uses

func NewDefaultConfig() *Config

NewDefaultConfig returns a new, default DDSketch config.

TODO: Should the Config constructor set minValue to -Inf to when the descriptor has absolute=false? This requires providing values for alpha and maxNumBins, apparently.

Package ddsketch imports 7 packages (graph) and is imported by 1 packages. Updated 2020-01-08. Refresh now. Tools for package owners.