general

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2023 License: Apache-2.0 Imports: 20 Imported by: 66

Documentation

Index

Constants

View Source
const (
	FlockCoolingInterval = 6 * time.Second
	FlockTryLockMaxTimes = 10
)

Variables

This section is empty.

Functions

func CheckMapEqual

func CheckMapEqual(pre, cur map[string]string) bool

func CmpBool

func CmpBool(a, b bool) int

CmpBool compares booleans, placing true before false

func CmpError

func CmpError(err1, err2 error) int

CmpError compares errors, placing not nil before nil

func CmpFloat64

func CmpFloat64(a, b float64) int

CmpFloat64 compares float64s, placing greater before smaller

func CmpInt32

func CmpInt32(a, b int32) int

CmpInt32 compares int32s, placing greater before smaller

func DeepCopyMap

func DeepCopyMap(origin map[string]string) map[string]string

func EnsureDirectory

func EnsureDirectory(dir string) error

func ExtractMapValued

func ExtractMapValued(m map[string]string) []string

ExtractMapValued is used to extract value slice from the given map

func GenerateHash

func GenerateHash(data []byte, length int) string

func GetInt64PointerFromUint64Pointer

func GetInt64PointerFromUint64Pointer(v *uint64) (*int64, error)

func GetOneExistPath

func GetOneExistPath(paths []string) string

GetOneExistPath is to get one of exist paths

func GetStringValueFromMap

func GetStringValueFromMap(labels map[string]string, label string) string

func GetValueWithDefault

func GetValueWithDefault(m map[string]string, key, defaultV string) string

GetValueWithDefault gets value from the given map, and returns default if key not exist

func IntSliceToStringSlice

func IntSliceToStringSlice(a []int) []string

func IsNameEnabled

func IsNameEnabled(name string, disabledByDefault sets.String, enableNames []string) bool

IsNameEnabled check if a specified name enabled or not.

func IsPathExists

func IsPathExists(path string) bool

IsPathExists is to check this path whether exists

func JsonPathEmpty

func JsonPathEmpty(str []byte) bool

JsonPathEmpty is used to check whether the given str is empty for json-patch

func Max

func Max(a, b int) int

func MaxInt64

func MaxInt64(a, b int64) int64

func MaxUInt64

func MaxUInt64(a, b uint64) uint64

func MergeMap

func MergeMap(src, override map[string]string) map[string]string

MergeMap merges the contents from override into the src

func Min

func Min(a, b int) int

func MinUInt64

func MinUInt64(a, b uint64) uint64

func ParseMapWithPrefix

func ParseMapWithPrefix(prefix, selector string) (map[string]string, error)

ParseMapWithPrefix converts selector string to label map and validates keys and values

func ParseStringToUint64Pointer

func ParseStringToUint64Pointer(s string) (*uint64, error)

func ParseUint64PointerToString

func ParseUint64PointerToString(v *uint64) string

func RegisterFileEventWatcher

func RegisterFileEventWatcher(stop <-chan struct{}, fileWatcherInfo FileWatcherInfo) (<-chan struct{}, error)

RegisterFileEventWatcher inotify the given file and report the changed information to the caller through returned channel

func ReleaseUniqueLock

func ReleaseUniqueLock(lock *Flock)

ReleaseUniqueLock release the given file lock

func ToString

func ToString(in interface{}) string

ToString transform to string for better display etc. in log

func UInt64PointerToFloat64

func UInt64PointerToFloat64(p *uint64) float64

func UIntPointerToFloat64

func UIntPointerToFloat64(p *uint) float64

Types

type CappedSmoothWindow

type CappedSmoothWindow struct {
	sync.Mutex

	SmoothWindow
	// contains filtered or unexported fields
}

func NewCappedSmoothWindow

func NewCappedSmoothWindow(minStep resource.Quantity, maxStep resource.Quantity, smoothWindow SmoothWindow) *CappedSmoothWindow

NewCappedSmoothWindow creates a capped SmoothWindow, which

func (*CappedSmoothWindow) GetWindowedResources

func (m *CappedSmoothWindow) GetWindowedResources(value resource.Quantity) *resource.Quantity

GetWindowedResources cap the value return by smooth window min to max

type CmpFunc

type CmpFunc func(i1, i2 interface{}) int

func ReverseCmpFunc

func ReverseCmpFunc(cmpFunc CmpFunc) CmpFunc

type FileWatcherInfo

type FileWatcherInfo struct {
	// if Filename is empty, it means that we should watch all file events in all paths,
	// otherwise, watch this specific file in all paths
	Filename string
	Path     []string
	Op       fsnotify.Op
}

type Flock

type Flock struct {
	LockFile string
	// contains filtered or unexported fields
}

func Create

func Create(file string) (f *Flock, e error)

func GetUniqueLock

func GetUniqueLock(filename string) (*Flock, error)

GetUniqueLock is a wrapper function for GetUniqueLockWithTimeout with default configurations

func GetUniqueLockWithTimeout

func GetUniqueLockWithTimeout(filename string, duration time.Duration, tries int) (*Flock, error)

GetUniqueLockWithTimeout try to acquire file lock returns the lock struct uf success; otherwise returns error

func (*Flock) Lock

func (f *Flock) Lock() (e error)

func (*Flock) Release

func (f *Flock) Release()

func (*Flock) Unlock

func (f *Flock) Unlock()

type MultiSorter

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

MultiSorter implements the Sort interface, sorting changes within.

func NewMultiSorter

func NewMultiSorter(cmp ...CmpFunc) *MultiSorter

NewMultiSorter returns a Sorter that sorts using the cmp functions, in order. Call its Sort method to sort the data.

func (*MultiSorter) Sort

func (ms *MultiSorter) Sort(sources SourceList)

Sort sorts the argument slice according to the Less functions passed to NewMultiSorter.

type ResourceList

type ResourceList v1.ResourceList

func (*ResourceList) Set

func (r *ResourceList) Set(value string) error

func (*ResourceList) String

func (r *ResourceList) String() string

func (*ResourceList) Type

func (r *ResourceList) Type() string

type SmoothWindow

type SmoothWindow interface {
	// GetWindowedResources receives a sample and returns the result after smoothing,
	// it can return nil if there are not enough samples in this window
	GetWindowedResources(value resource.Quantity) *resource.Quantity
}

SmoothWindow is used to smooth the resource

func NewAverageWithTTLSmoothWindow

func NewAverageWithTTLSmoothWindow(windowSize int, ttl time.Duration, usedMillValue bool) SmoothWindow

NewAverageWithTTLSmoothWindow create a smooth window with ttl and window size, and the window size is the sample count while the ttl is the valid lifetime of each sample, and the usedMillValue means whether calculate the result with milli-value.

type SourceList

type SourceList interface {
	Len() int
	GetSource(index int) interface{}
	SetSource(index int, s interface{})
}

Jump to

Keyboard shortcuts

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