Back to godoc.org

Package store

v0.0.0-...-1557bcf
Latest Go to latest

The latest major version is .

Published: Aug 13, 2020 | License: Apache-2.0 | Module: github.com/luci/luci-go

Overview

Package store contains code for storing and retrieving metrics.

Index

func IsNilStore

func IsNilStore(s Store) bool

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

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, []interface{})

Del does nothing.

func (*Fake) Get

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

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, []interface{}, interface{})

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, []interface{}, interface{})

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(c context.Context, m types.Metric, resetTime time.Time, fieldVals []interface{}) interface{}
	Set(c context.Context, m types.Metric, resetTime time.Time, fieldVals []interface{}, value interface{})
	Del(c context.Context, m types.Metric, fieldVals []interface{})
	Incr(c context.Context, m types.Metric, resetTime time.Time, fieldVals []interface{}, delta interface{})

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

	Reset(c 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.

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier