memory

package
v3.2.3 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2021 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddResult

func AddResult(ss *core.ServiceStatus, result *core.Result)

AddResult adds a Result to ServiceStatus.Results and makes sure that there are no more than MaximumNumberOfResults results in the Results slice

func ShallowCopyServiceStatus

func ShallowCopyServiceStatus(ss *core.ServiceStatus, params *paging.ServiceStatusParams) *core.ServiceStatus

ShallowCopyServiceStatus returns a shallow copy of a ServiceStatus with only the results within the range defined by the page and pageSize parameters

Types

type Store

type Store struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

Store that leverages gocache

func NewStore

func NewStore(file string) (*Store, error)

NewStore creates a new store using gocache.Cache

This store holds everything in memory, and if the file parameter is not blank, supports eventual persistence.

func (*Store) Clear

func (s *Store) Clear()

Clear deletes everything from the store

func (*Store) Close

func (s *Store) Close()

Close does nothing, because there's nothing to close

func (*Store) DeleteAllServiceStatusesNotInKeys

func (s *Store) DeleteAllServiceStatusesNotInKeys(keys []string) int

DeleteAllServiceStatusesNotInKeys removes all ServiceStatus that are not within the keys provided

func (*Store) GetAllServiceStatuses

func (s *Store) GetAllServiceStatuses(params *paging.ServiceStatusParams) ([]*core.ServiceStatus, error)

GetAllServiceStatuses returns all monitored core.ServiceStatus with a subset of core.Result defined by the page and pageSize parameters

func (*Store) GetAverageResponseTimeByKey

func (s *Store) GetAverageResponseTimeByKey(key string, from, to time.Time) (int, error)

GetAverageResponseTimeByKey returns the average response time in milliseconds (value) during a time range

func (*Store) GetHourlyAverageResponseTimeByKey

func (s *Store) GetHourlyAverageResponseTimeByKey(key string, from, to time.Time) (map[int64]int, error)

GetHourlyAverageResponseTimeByKey returns a map of hourly (key) average response time in milliseconds (value) during a time range

func (*Store) GetServiceStatus

func (s *Store) GetServiceStatus(groupName, serviceName string, params *paging.ServiceStatusParams) (*core.ServiceStatus, error)

GetServiceStatus returns the service status for a given service name in the given group

func (*Store) GetServiceStatusByKey

func (s *Store) GetServiceStatusByKey(key string, params *paging.ServiceStatusParams) (*core.ServiceStatus, error)

GetServiceStatusByKey returns the service status for a given key

func (*Store) GetUptimeByKey

func (s *Store) GetUptimeByKey(key string, from, to time.Time) (float64, error)

GetUptimeByKey returns the uptime percentage during a time range

func (*Store) Insert

func (s *Store) Insert(service *core.Service, result *core.Result) error

Insert adds the observed result for the specified service into the store

func (*Store) Save

func (s *Store) Save() error

Save persists the cache to the store file

Jump to

Keyboard shortcuts

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