system

package
v0.6.6 Latest Latest
Warning

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

Go to latest
Published: Nov 22, 2022 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClearRules

func ClearRules() error

ClearRules clear all the previous rules

func CurrentCpuUsage

func CurrentCpuUsage() float64

func CurrentLoad

func CurrentLoad() float64

func InitCollector

func InitCollector(intervalMs uint32)

func IsValidSystemRule

func IsValidSystemRule(rule *Rule) error

IsValidSystemRule determine the system rule is valid or not

func LoadRules

func LoadRules(rules []*Rule) (bool, error)

LoadRules loads given system rules to the rule manager, while all previous rules will be replaced.

Types

type AdaptiveSlot

type AdaptiveSlot struct {
}

func (*AdaptiveSlot) Check

func (s *AdaptiveSlot) Check(ctx *base.EntryContext) *base.TokenResult

type AdaptiveStrategy

type AdaptiveStrategy int32
const (
	NoAdaptive AdaptiveStrategy = -1
	// 1
	BBR AdaptiveStrategy = iota
)

func (AdaptiveStrategy) String

func (t AdaptiveStrategy) String() string

type MetricType

type MetricType uint32
const (
	// Load represents system load1 in Linux/Unix.
	Load MetricType = iota
	// AvgRT represents the average response time of all inbound requests.
	AvgRT
	// Concurrency represents the concurrency of all inbound requests.
	Concurrency
	InboundQPS
	CpuUsage
	// MetricTypeSize indicates the enum size of MetricType.
	MetricTypeSize
)

func (MetricType) String

func (t MetricType) String() string

type Rule

type Rule struct {
	ID uint64 `json:"id,omitempty"`

	MetricType   MetricType       `json:"metricType"`
	TriggerCount float64          `json:"triggerCount"`
	Strategy     AdaptiveStrategy `json:"strategy"`
}

func GetRules

func GetRules() []*Rule

GetRules return all the rules

func (*Rule) ResourceName

func (r *Rule) ResourceName() string

func (*Rule) String

func (r *Rule) String() string

type RuleMap

type RuleMap map[MetricType][]*Rule

Jump to

Keyboard shortcuts

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