store

package
v0.0.0-...-b779d65 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: Apache-2.0 Imports: 12 Imported by: 6

Documentation

Overview

Package store contains code for storing and retrieving metrics.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsNilStore

func IsNilStore(s Store) bool

IsNilStore returns true if given Store is in fact nil-store.

Types

type Fake

type Fake struct {
	Cells []types.Cell
	DT    types.Target
}

Fake is a fake Store.

func (*Fake) DefaultTarget

func (s *Fake) DefaultTarget() types.Target

DefaultTarget returns DT.

func (*Fake) Del

func (s *Fake) Del(context.Context, types.Metric, []any)

Del does nothing.

func (*Fake) Get

func (s *Fake) Get(context.Context, types.Metric, time.Time, []any) any

Get does nothing.

func (*Fake) GetAll

func (s *Fake) GetAll(context.Context) []types.Cell

GetAll returns the pre-set list of cells.

func (*Fake) Incr

func (s *Fake) Incr(context.Context, types.Metric, time.Time, []any, any)

Incr does nothing.

func (*Fake) Reset

func (s *Fake) Reset(context.Context, types.Metric)

Reset does nothing.

func (*Fake) Set

func (s *Fake) Set(context.Context, types.Metric, time.Time, []any, any)

Set does nothing.

func (*Fake) SetDefaultTarget

func (s *Fake) SetDefaultTarget(types.Target)

SetDefaultTarget does nothing.

type Store

type Store interface {
	DefaultTarget() types.Target
	SetDefaultTarget(t types.Target)

	Get(ctx context.Context, m types.Metric, resetTime time.Time, fieldVals []any) any
	Set(ctx context.Context, m types.Metric, resetTime time.Time, fieldVals []any, value any)
	Del(ctx context.Context, m types.Metric, fieldVals []any)
	Incr(ctx context.Context, m types.Metric, resetTime time.Time, fieldVals []any, delta any)

	GetAll(ctx context.Context) []types.Cell

	Reset(ctx context.Context, m types.Metric)
}

A Store is responsible for handling all metric data.

func NewInMemory

func NewInMemory(defaultTarget types.Target) Store

NewInMemory creates a new metric store that holds metric data in this process' memory.

func NewNilStore

func NewNilStore() Store

NewNilStore creates a metric store that completely ignores all metrics.

It's setters are noop, and getters return nil.

Directories

Path Synopsis
Package storetest is imported exclusively by tests for Store implementations.
Package storetest is imported exclusively by tests for Store implementations.

Jump to

Keyboard shortcuts

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