qos

package
v0.45.0-rc.8 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2025 License: GPL-3.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IOTagFromContext

func IOTagFromContext(ctx context.Context) string

func NewAdjustOutgoingIOTagStreamClientInterceptor

func NewAdjustOutgoingIOTagStreamClientInterceptor() grpc.StreamClientInterceptor

func NewAdjustOutgoingIOTagUnaryClientInterceptor

func NewAdjustOutgoingIOTagUnaryClientInterceptor() grpc.UnaryClientInterceptor

func NewMaxActiveRPCLimiterStreamServerInterceptor

func NewMaxActiveRPCLimiterStreamServerInterceptor(getLimiter func() limiting.Limiter) grpc.StreamServerInterceptor

func NewMaxActiveRPCLimiterUnaryServerInterceptor

func NewMaxActiveRPCLimiterUnaryServerInterceptor(getLimiter func() limiting.Limiter) grpc.UnaryServerInterceptor

func NewSetCriticalIOTagUnaryServerInterceptor

func NewSetCriticalIOTagUnaryServerInterceptor() grpc.UnaryServerInterceptor

Types

type IOTag

type IOTag string
const (
	IOTagBackground IOTag = "background"
	IOTagClient     IOTag = "client"
	IOTagCritical   IOTag = "critical"
	IOTagInternal   IOTag = "internal"
	IOTagPolicer    IOTag = "policer"
	IOTagTreeSync   IOTag = "treesync"
	IOTagWritecache IOTag = "writecache"
)

func FromRawString

func FromRawString(s string) (IOTag, error)

func (IOTag) IsLocal

func (t IOTag) IsLocal() bool

func (IOTag) String

func (t IOTag) String() string

type Limiter

type Limiter interface {
	ReadRequest(context.Context) (ReleaseFunc, error)
	WriteRequest(context.Context) (ReleaseFunc, error)
	SetParentID(string)
	SetMetrics(Metrics)
	Close()
}

func NewLimiter

func NewLimiter(c *limits.Config) (Limiter, error)

func NewNoopLimiter

func NewNoopLimiter() Limiter

type Metrics

type Metrics interface {
	SetOperationTagCounters(shardID, operation, tag string, pending, inProgress, completed, resourceExhausted uint64)
	Close(shardID string)
}

type ReleaseFunc

type ReleaseFunc scheduling.ReleaseFunc

Jump to

Keyboard shortcuts

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