Documentation ¶
Overview ¶
Package cpumassager is a generated GoMock package.
Index ¶
- func NeedMassage() bool
- func StartMassagePlan(opts ...Option) error
- type CPUsageCollector
- type CounterType
- type MockCPUsageCollector
- type MockCPUsageCollectorMockRecorder
- type Option
- func WithCPUSageCollector(cpusageCollector CPUsageCollector) Option
- func WithCheckPeriodInseconds(checkPeriodInseconds uint) Option
- func WithHighLoadLevel(highLoadLevel CounterType) Option
- func WithInitialIntensity(initialIntensity uint) Option
- func WithLoadStatusJudgeRatio(loadStatusJudgeRatio float64) Option
- func WithStepIntensity(stepIntensity uint) Option
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NeedMassage ¶
func NeedMassage() bool
NeedMassage 非是否需要做下马杀鸡放松一下 每次收到请求都调用一下,若返回false,继续做后续处理,否则直接返回
func handleARequest() { if cpumassage.NeedMassage() { refuse() // 拒绝服务该请求,做一些简单的处理,例如设定回包的错误码,上报过载告警等 return // 然后直接返回 } process() // 正常处理该请求 }
func StartMassagePlan ¶
StartMassagePlan 启动马杀鸡计划,在启动程序后立即调用
func main() { err := cpumassage.StartMassagePlan() if err != nil { handleError() // 处理出错的情况,一般打印一下出错信息 os.Exit(1) // 然后退出就好了 } serve() // 进入服务程序正常处理流程 }
Types ¶
type CPUsageCollector ¶
type CPUsageCollector interface { // GetCPUsage 获取CPU使用率 GetCPUsage() float64 }
CPUsageCollector 收集CPU使用率的接口
func NewDockerCPUsageCollector ¶ added in v0.1.3
func NewDockerCPUsageCollector() (CPUsageCollector, error)
NewDockerCPUsageCollector 新建一个docker的CPU使用率收集器
func NewLinuxCPUsageCollector ¶
func NewLinuxCPUsageCollector() (CPUsageCollector, error)
NewLinuxCPUsageCollector 新建一个linux的CPU使用率收集器
type CounterType ¶
type CounterType int
CounterType 计数器类型,用来记录满足不同条件的CPU使用率情况
const ( // CounterTypeZero 用来记录CPU使用率>=0情况的计数器 CounterTypeZero CounterType = 0 // CounterTypeTen 用来记录CPU使用率>=10情况的计数器 CounterTypeTen CounterType = 1 // CounterTypeTwenty 用来记录CPU使用率>=20情况的计数器 CounterTypeTwenty CounterType = 2 // CounterTypeThirty 用来记录CPU使用率>=30情况的计数器 CounterTypeThirty CounterType = 3 // CounterTypeForty 用来记录CPU使用率>=40情况的计数器 CounterTypeForty CounterType = 4 // CounterTypeFifty 用来记录CPU使用率>=50情况的计数器 CounterTypeFifty CounterType = 5 // CounterTypeSixty 用来记录CPU使用率>=60情况的计数器 CounterTypeSixty CounterType = 6 // CounterTypeSeventy 用来记录CPU使用率>=70情况的计数器 CounterTypeSeventy CounterType = 7 // CounterTypeEighty 用来记录CPU使用率>=80情况的计数器 CounterTypeEighty CounterType = 8 // CounterTypeNinety 用来记录CPU使用率>=90情况的计数器 CounterTypeNinety CounterType = 9 )
type MockCPUsageCollector ¶
type MockCPUsageCollector struct {
// contains filtered or unexported fields
}
MockCPUsageCollector is a mock of CPUsageCollector interface
func NewMockCPUsageCollector ¶
func NewMockCPUsageCollector(ctrl *gomock.Controller) *MockCPUsageCollector
NewMockCPUsageCollector creates a new mock instance
func (*MockCPUsageCollector) EXPECT ¶
func (m *MockCPUsageCollector) EXPECT() *MockCPUsageCollectorMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockCPUsageCollector) GetCPUsage ¶
func (m *MockCPUsageCollector) GetCPUsage() float64
GetCPUsage mocks base method
type MockCPUsageCollectorMockRecorder ¶
type MockCPUsageCollectorMockRecorder struct {
// contains filtered or unexported fields
}
MockCPUsageCollectorMockRecorder is the mock recorder for MockCPUsageCollector
func (*MockCPUsageCollectorMockRecorder) GetCPUsage ¶
func (mr *MockCPUsageCollectorMockRecorder) GetCPUsage() *gomock.Call
GetCPUsage indicates an expected call of GetCPUsage
type Option ¶ added in v0.1.2
type Option func(*options)
Option 用来设定massagePlan的启动参数的函数
func WithCPUSageCollector ¶ added in v0.1.2
func WithCPUSageCollector(cpusageCollector CPUsageCollector) Option
WithCPUSageCollector 用来设定massagePlan的CPU使用率收集器
func WithCheckPeriodInseconds ¶ added in v0.1.2
WithCheckPeriodInseconds 用来设定massagePlan检查CPU状态的周期
func WithHighLoadLevel ¶ added in v0.1.2
func WithHighLoadLevel(highLoadLevel CounterType) Option
WithHighLoadLevel 用来设定massagePlan的高负荷等级
func WithInitialIntensity ¶ added in v0.1.2
WithInitialIntensity 用来设定massagePlan的初始按摩力度
func WithLoadStatusJudgeRatio ¶ added in v1.0.0
WithLoadStatusJudgeRatio 用来设定massagePlan的高负荷判别比例
func WithStepIntensity ¶ added in v0.1.2
WithStepIntensity 用来设定massagePlan的步进按摩力度