Documentation ¶
Index ¶
- Variables
- type ActionStats
- type ActionStatsMap
- type Collector
- func (collector *Collector) ActionsLen() int
- func (collector *Collector) CreatedApps() uint64
- func (collector *Collector) ForEachAction(f func(stats *ActionStats))
- func (collector *Collector) ForEachRequest(f func(stats *RequestStats))
- func (collector *Collector) GetOrAddActionStats(name, label, appGUID string) *ActionStats
- func (collector *Collector) GetOrAddRequestStats(method, path string) *RequestStats
- func (collector *Collector) IncCreatedApps()
- func (collector *Collector) IncOpenedApps()
- func (collector *Collector) IsFull() bool
- func (collector *Collector) IsOn() bool
- func (collector *Collector) OpenedApps() uint64
- func (collector *Collector) RESTRequestLen() int
- func (collector *Collector) SetLevel(level StatsLevel) error
- type ErrWarn
- type Errors
- type ExecutionCounters
- type RequestStats
- type RequestStatsMap
- type SampleCollector
- type StatsLevel
Constants ¶
This section is empty.
Variables ¶
var ( // DefaultHotBuffer, default size of hot buffer DefaultHotBuffer = 300 // todo investigate good value // DefaultPurgeExpiry, default time until hot buffer will be purged DefaultPurgeExpiry = time.Second * 5 )
Functions ¶
This section is empty.
Types ¶
type ActionStats ¶
type ActionStats struct { // RespAvg average response time for successful actions RespAvg *SampleCollector // Requests total count of requests sent within action Requests atomichandlers.AtomicCounter // ErrCount total amount of errors within action ErrCount atomichandlers.AtomicCounter // WarnCount total amount of warnings within action WarnCount atomichandlers.AtomicCounter // Sent total amount of sent bytes Sent atomichandlers.AtomicCounter // Received total amount of received bytes Received atomichandlers.AtomicCounter // Failed total amount of failed actions, can be compared with RespAvg.count for success rate Failed atomichandlers.AtomicCounter // contains filtered or unexported fields }
ActionStats statistics collector for an Action
func NewActionStats ¶
func NewActionStats(name, label, appGUID string) *ActionStats
NewActionStats creates a new action statistics collector
func (*ActionStats) AppGUID ¶
func (action *ActionStats) AppGUID() string
AppGUID in which action was performed
type ActionStatsMap ¶
type ActionStatsMap map[string]*ActionStats
type Collector ¶
type Collector struct { Actions ActionStatsMap RestRequests RequestStatsMap Level StatsLevel // contains filtered or unexported fields }
Collector of statistics
func (*Collector) ActionsLen ¶ added in v0.5.4
ActionsLen length of action stats map of collector
func (*Collector) CreatedApps ¶ added in v0.5.4
CreatedApps total apps created count
func (*Collector) ForEachAction ¶
func (collector *Collector) ForEachAction(f func(stats *ActionStats))
ForEachAction read lock map and execute function for each ActionStats entry
func (*Collector) ForEachRequest ¶
func (collector *Collector) ForEachRequest(f func(stats *RequestStats))
ForEachRequest read lock map and execute function for each RequestStats entry
func (*Collector) GetOrAddActionStats ¶
func (collector *Collector) GetOrAddActionStats(name, label, appGUID string) *ActionStats
GetOrAddActionStats from action map, returns nil if statistics is turned off
func (*Collector) GetOrAddRequestStats ¶
func (collector *Collector) GetOrAddRequestStats(method, path string) *RequestStats
GetOrAddRequestStats from REST request map, returns nil if StatsLevel is lower than "full"
func (*Collector) IncCreatedApps ¶ added in v0.5.4
func (collector *Collector) IncCreatedApps()
IncCreatedApps increase total created apps counted by one
func (*Collector) IncOpenedApps ¶ added in v0.5.4
func (collector *Collector) IncOpenedApps()
IncOpenedApps increase total opened apps counted by one
func (*Collector) OpenedApps ¶ added in v0.5.4
OpenedApps total opened apps counted
func (*Collector) RESTRequestLen ¶ added in v0.5.4
RESTRequestLen length of REST requests stats map of collector
func (*Collector) SetLevel ¶
func (collector *Collector) SetLevel(level StatsLevel) error
SetLevel of statistics collected
type ErrWarn ¶
type ErrWarn struct {
// contains filtered or unexported fields
}
ErrWarn keeps track of errors and warnings within action + total
func (*ErrWarn) TotWarnings ¶
TotWarnings report total warnings count
type Errors ¶ added in v0.14.0
type Errors struct {
// contains filtered or unexported fields
}
type ExecutionCounters ¶ added in v0.5.4
type ExecutionCounters struct { // Threads - Total started threads Threads atomichandlers.AtomicCounter // Sessions - Total started sessions Sessions atomichandlers.AtomicCounter // Users - Total unique users Users atomichandlers.AtomicCounter // Warnings - Total warnings Warnings atomichandlers.AtomicCounter // ActionID - Unique global action id ActionID atomichandlers.AtomicCounter // Requests - Total requests sent Requests atomichandlers.AtomicCounter // ActiveUsers - Currently active users ActiveUsers atomichandlers.AtomicCounter // AppCounter - App counter for round robin access AppCounter atomichandlers.AtomicCounter // RestRequestID - Added to REST traffic log to connect Request and Response RestRequestID atomichandlers.AtomicCounter // StatisticsCollector optional collection of statistics StatisticsCollector *Collector // Errors - Total errors Errors Errors }
ExecutionCounters counts values during a execution
func (*ExecutionCounters) SetMaxErrors ¶ added in v0.14.0
func (counters *ExecutionCounters) SetMaxErrors(maxErrors uint64, triggerFunc func(msg string))
SetMaxErrors set a function (e.g. execution cancel) to be triggered each time Inc is called with a value >= maxerrors
type RequestStats ¶
type RequestStats struct { RespAvg *SampleCollector Sent atomichandlers.AtomicCounter Received atomichandlers.AtomicCounter // contains filtered or unexported fields }
RequestStats statistics collector for a REST request
func NewRequestStats ¶
func NewRequestStats(method, path string) *RequestStats
NewRequestStats creates a new REST request statistics collector
type RequestStatsMap ¶
type RequestStatsMap map[string]*RequestStats
type SampleCollector ¶
type SampleCollector struct {
// contains filtered or unexported fields
}
func NewSampleCollector ¶
func NewSampleCollector() *SampleCollector
NewSampleCollector for collecting running average
func NewSampleCollectorBuf ¶
func NewSampleCollectorBuf(buf int) *SampleCollector
NewSampleCollector for collecting running average with custom hot buffer size
func (*SampleCollector) AddSample ¶
func (collector *SampleCollector) AddSample(sample uint64)
AddSample add new sample
func (*SampleCollector) Average ¶
func (collector *SampleCollector) Average() (float64, float64)
Average empties hot buffer and calculates current running average, returns average, total samples.
type StatsLevel ¶
type StatsLevel int
const ( StatsLevelNone StatsLevel = iota StatsLevelOn StatsLevelFull )
StatsLevel enum