store

package
v0.0.0-...-01cd1ea Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2024 License: Apache-2.0 Imports: 12 Imported by: 9

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, []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, []any, any)

Incr does nothing.

func (*Fake) Now

func (s *Fake) Now(ctx context.Context) time.Time

Now just returns the current time via clock.Now(ctx).

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, []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, fieldVals []any) any
	Set(ctx context.Context, m types.Metric, fieldVals []any, value any)
	Del(ctx context.Context, m types.Metric, fieldVals []any)
	Incr(ctx context.Context, m types.Metric, fieldVals []any, delta any)

	GetAll(ctx context.Context) []types.Cell
	Reset(ctx context.Context, m types.Metric)
	Now(ctx context.Context) time.Time
}

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