rebalance

package
v0.0.0-...-8d187f3 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2024 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetAZToAnalyzers

func GetAZToAnalyzers(azAnalyzerConns []mysqlmodel.AZAnalyzerConnection, regionToAZLcuuids map[string][]string,
	ipToAnalyzer map[string]*mysqlmodel.Analyzer) map[string][]*mysqlmodel.Analyzer

Types

type AZInfo

type AZInfo struct {
	// contains filtered or unexported fields
}

type AnalyzerInfo

type AnalyzerInfo struct {
	RebalanceData
	// contains filtered or unexported fields
}

func NewAnalyzerInfo

func NewAnalyzerInfo(onlyWeight bool) *AnalyzerInfo

func (*AnalyzerInfo) RebalanceAnalyzerByTraffic

func (r *AnalyzerInfo) RebalanceAnalyzerByTraffic(db *mysql.DB, ifCheckout bool, dataDuration int) (*model.VTapRebalanceResult, error)

func (*AnalyzerInfo) RebalanceAnalyzerByTrafficDebug

func (r *AnalyzerInfo) RebalanceAnalyzerByTrafficDebug(db *mysql.DB, dataDuration int) (map[string]interface{}, error)

type ChangeInfo

type ChangeInfo struct {
	OldIP     string
	NewIP     string
	NewWeight float64
}

type DB

type DB interface {
	Get() error
}

//go:generate mockgen -source=analyzer.go -destination=./mocks/mock_analyzer.go -package=mocks DB

type DBInfo

type DBInfo struct {
	Regions         []mysqlmodel.Region
	AZs             []mysqlmodel.AZ
	Analyzers       []mysqlmodel.Analyzer
	AZAnalyzerConns []mysqlmodel.AZAnalyzerConnection
	VTaps           []mysqlmodel.VTap

	// get query data
	Controllers       []mysqlmodel.Controller
	AZControllerConns []mysqlmodel.AZControllerConnection
}

func (*DBInfo) Get

func (r *DBInfo) Get(db *mysql.DB) error

type Querier

type Querier interface {
	GetAgentDispatcher(db *mysql.DB, domainPrefix string, dataDuration int) (map[string]int64, error)
}

//go:generate mockgen -source=query.go -destination=./mocks/mock_querier.go -package=mocks Querier

type Query

type Query struct {
	// contains filtered or unexported fields
}

func (*Query) GetAgentDispatcher

func (q *Query) GetAgentDispatcher(orgDB *mysql.DB, domainPrefix string, dataDuration int) (map[string]int64, error)

type RebalanceData

type RebalanceData struct {
	RegionToVTapNameToTraffic map[string]map[string]int64       `json:"RegionToVTapNameToTraffic"`
	RegionToAZLcuuids         map[string][]string               `json:"RegionToAZLcuuids"`
	AZToRegion                map[string]string                 `json:"AZToRegion"`
	AZToVTaps                 map[string][]*mysqlmodel.VTap     `json:"AZToVTaps"`
	AZToAnalyzers             map[string][]*mysqlmodel.Analyzer `json:"AZToAnalyzers"`
}

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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