Documentation ¶
Index ¶
- func AddResult(ss *core.EndpointStatus, result *core.Result)
- func ShallowCopyEndpointStatus(ss *core.EndpointStatus, params *paging.EndpointStatusParams) *core.EndpointStatus
- type Store
- func (s *Store) Clear()
- func (s *Store) Close()
- func (s *Store) DeleteAllEndpointStatusesNotInKeys(keys []string) int
- func (s *Store) GetAllEndpointStatuses(params *paging.EndpointStatusParams) ([]*core.EndpointStatus, error)
- func (s *Store) GetAverageResponseTimeByKey(key string, from, to time.Time) (int, error)
- func (s *Store) GetEndpointStatus(groupName, endpointName string, params *paging.EndpointStatusParams) (*core.EndpointStatus, error)
- func (s *Store) GetEndpointStatusByKey(key string, params *paging.EndpointStatusParams) (*core.EndpointStatus, error)
- func (s *Store) GetHourlyAverageResponseTimeByKey(key string, from, to time.Time) (map[int64]int, error)
- func (s *Store) GetUptimeByKey(key string, from, to time.Time) (float64, error)
- func (s *Store) Insert(endpoint *core.Endpoint, result *core.Result) error
- func (s *Store) Save() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddResult ¶
func AddResult(ss *core.EndpointStatus, result *core.Result)
AddResult adds a Result to EndpointStatus.Results and makes sure that there are no more than MaximumNumberOfResults results in the Results slice
func ShallowCopyEndpointStatus ¶
func ShallowCopyEndpointStatus(ss *core.EndpointStatus, params *paging.EndpointStatusParams) *core.EndpointStatus
ShallowCopyEndpointStatus returns a shallow copy of a EndpointStatus with only the results within the range defined by the page and pageSize parameters
Types ¶
type Store ¶
Store that leverages gocache
func NewStore ¶
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) DeleteAllEndpointStatusesNotInKeys ¶
DeleteAllEndpointStatusesNotInKeys removes all EndpointStatus that are not within the keys provided
func (*Store) GetAllEndpointStatuses ¶
func (s *Store) GetAllEndpointStatuses(params *paging.EndpointStatusParams) ([]*core.EndpointStatus, error)
GetAllEndpointStatuses returns all monitored core.EndpointStatus with a subset of core.Result defined by the page and pageSize parameters
func (*Store) GetAverageResponseTimeByKey ¶
GetAverageResponseTimeByKey returns the average response time in milliseconds (value) during a time range
func (*Store) GetEndpointStatus ¶
func (s *Store) GetEndpointStatus(groupName, endpointName string, params *paging.EndpointStatusParams) (*core.EndpointStatus, error)
GetEndpointStatus returns the endpoint status for a given endpoint name in the given group
func (*Store) GetEndpointStatusByKey ¶
func (s *Store) GetEndpointStatusByKey(key string, params *paging.EndpointStatusParams) (*core.EndpointStatus, error)
GetEndpointStatusByKey returns the endpoint status for a given key
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) GetUptimeByKey ¶
GetUptimeByKey returns the uptime percentage during a time range