control

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BrokerControl_GetStatus_FullMethodName       = "/kafscale.control.BrokerControl/GetStatus"
	BrokerControl_DrainPartitions_FullMethodName = "/kafscale.control.BrokerControl/DrainPartitions"
	BrokerControl_TriggerFlush_FullMethodName    = "/kafscale.control.BrokerControl/TriggerFlush"
	BrokerControl_StreamMetrics_FullMethodName   = "/kafscale.control.BrokerControl/StreamMetrics"
)
View Source
const (
	AssignmentStream_WatchAssignments_FullMethodName = "/kafscale.control.AssignmentStream/WatchAssignments"
)

Variables

View Source
var AssignmentStream_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "kafscale.control.AssignmentStream",
	HandlerType: (*AssignmentStreamServer)(nil),
	Methods:     []grpc.MethodDesc{},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "WatchAssignments",
			Handler:       _AssignmentStream_WatchAssignments_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "control/broker.proto",
}

AssignmentStream_ServiceDesc is the grpc.ServiceDesc for AssignmentStream service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var BrokerControl_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "kafscale.control.BrokerControl",
	HandlerType: (*BrokerControlServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetStatus",
			Handler:    _BrokerControl_GetStatus_Handler,
		},
		{
			MethodName: "DrainPartitions",
			Handler:    _BrokerControl_DrainPartitions_Handler,
		},
		{
			MethodName: "TriggerFlush",
			Handler:    _BrokerControl_TriggerFlush_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "StreamMetrics",
			Handler:       _BrokerControl_StreamMetrics_Handler,
			ClientStreams: true,
		},
	},
	Metadata: "control/broker.proto",
}

BrokerControl_ServiceDesc is the grpc.ServiceDesc for BrokerControl service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var File_control_broker_proto protoreflect.FileDescriptor

Functions

func RegisterAssignmentStreamServer

func RegisterAssignmentStreamServer(s grpc.ServiceRegistrar, srv AssignmentStreamServer)

func RegisterBrokerControlServer

func RegisterBrokerControlServer(s grpc.ServiceRegistrar, srv BrokerControlServer)

Types

type Ack

type Ack struct {
	Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	// contains filtered or unexported fields
}

func (*Ack) Descriptor deprecated

func (*Ack) Descriptor() ([]byte, []int)

Deprecated: Use Ack.ProtoReflect.Descriptor instead.

func (*Ack) GetMessage

func (x *Ack) GetMessage() string

func (*Ack) ProtoMessage

func (*Ack) ProtoMessage()

func (*Ack) ProtoReflect

func (x *Ack) ProtoReflect() protoreflect.Message

func (*Ack) Reset

func (x *Ack) Reset()

func (*Ack) String

func (x *Ack) String() string

type AssignmentStreamClient

type AssignmentStreamClient interface {
	WatchAssignments(ctx context.Context, in *AssignmentWatchRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[PartitionAssignmentEvent], error)
}

AssignmentStreamClient is the client API for AssignmentStream service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type AssignmentStreamServer

type AssignmentStreamServer interface {
	WatchAssignments(*AssignmentWatchRequest, grpc.ServerStreamingServer[PartitionAssignmentEvent]) error
	// contains filtered or unexported methods
}

AssignmentStreamServer is the server API for AssignmentStream service. All implementations must embed UnimplementedAssignmentStreamServer for forward compatibility.

type AssignmentStream_WatchAssignmentsClient

type AssignmentStream_WatchAssignmentsClient = grpc.ServerStreamingClient[PartitionAssignmentEvent]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type AssignmentStream_WatchAssignmentsServer

type AssignmentStream_WatchAssignmentsServer = grpc.ServerStreamingServer[PartitionAssignmentEvent]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type AssignmentWatchRequest

type AssignmentWatchRequest struct {
	BrokerId string `protobuf:"bytes,1,opt,name=broker_id,json=brokerId,proto3" json:"broker_id,omitempty"`
	// contains filtered or unexported fields
}

func (*AssignmentWatchRequest) Descriptor deprecated

func (*AssignmentWatchRequest) Descriptor() ([]byte, []int)

Deprecated: Use AssignmentWatchRequest.ProtoReflect.Descriptor instead.

func (*AssignmentWatchRequest) GetBrokerId

func (x *AssignmentWatchRequest) GetBrokerId() string

func (*AssignmentWatchRequest) ProtoMessage

func (*AssignmentWatchRequest) ProtoMessage()

func (*AssignmentWatchRequest) ProtoReflect

func (x *AssignmentWatchRequest) ProtoReflect() protoreflect.Message

func (*AssignmentWatchRequest) Reset

func (x *AssignmentWatchRequest) Reset()

func (*AssignmentWatchRequest) String

func (x *AssignmentWatchRequest) String() string

type BrokerControlClient

type BrokerControlClient interface {
	GetStatus(ctx context.Context, in *BrokerStatusRequest, opts ...grpc.CallOption) (*BrokerStatusResponse, error)
	DrainPartitions(ctx context.Context, in *DrainPartitionsRequest, opts ...grpc.CallOption) (*DrainPartitionsResponse, error)
	TriggerFlush(ctx context.Context, in *TriggerFlushRequest, opts ...grpc.CallOption) (*TriggerFlushResponse, error)
	StreamMetrics(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[MetricsSample, Ack], error)
}

BrokerControlClient is the client API for BrokerControl service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type BrokerControlServer

type BrokerControlServer interface {
	GetStatus(context.Context, *BrokerStatusRequest) (*BrokerStatusResponse, error)
	DrainPartitions(context.Context, *DrainPartitionsRequest) (*DrainPartitionsResponse, error)
	TriggerFlush(context.Context, *TriggerFlushRequest) (*TriggerFlushResponse, error)
	StreamMetrics(grpc.ClientStreamingServer[MetricsSample, Ack]) error
	// contains filtered or unexported methods
}

BrokerControlServer is the server API for BrokerControl service. All implementations must embed UnimplementedBrokerControlServer for forward compatibility.

type BrokerControl_StreamMetricsClient

type BrokerControl_StreamMetricsClient = grpc.ClientStreamingClient[MetricsSample, Ack]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type BrokerControl_StreamMetricsServer

type BrokerControl_StreamMetricsServer = grpc.ClientStreamingServer[MetricsSample, Ack]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type BrokerStatusRequest

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

func (*BrokerStatusRequest) Descriptor deprecated

func (*BrokerStatusRequest) Descriptor() ([]byte, []int)

Deprecated: Use BrokerStatusRequest.ProtoReflect.Descriptor instead.

func (*BrokerStatusRequest) ProtoMessage

func (*BrokerStatusRequest) ProtoMessage()

func (*BrokerStatusRequest) ProtoReflect

func (x *BrokerStatusRequest) ProtoReflect() protoreflect.Message

func (*BrokerStatusRequest) Reset

func (x *BrokerStatusRequest) Reset()

func (*BrokerStatusRequest) String

func (x *BrokerStatusRequest) String() string

type BrokerStatusResponse

type BrokerStatusResponse struct {
	BrokerId   string             `protobuf:"bytes,1,opt,name=broker_id,json=brokerId,proto3" json:"broker_id,omitempty"`
	Version    string             `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	Ready      bool               `protobuf:"varint,3,opt,name=ready,proto3" json:"ready,omitempty"`
	Partitions []*PartitionStatus `protobuf:"bytes,4,rep,name=partitions,proto3" json:"partitions,omitempty"`
	// contains filtered or unexported fields
}

func (*BrokerStatusResponse) Descriptor deprecated

func (*BrokerStatusResponse) Descriptor() ([]byte, []int)

Deprecated: Use BrokerStatusResponse.ProtoReflect.Descriptor instead.

func (*BrokerStatusResponse) GetBrokerId

func (x *BrokerStatusResponse) GetBrokerId() string

func (*BrokerStatusResponse) GetPartitions

func (x *BrokerStatusResponse) GetPartitions() []*PartitionStatus

func (*BrokerStatusResponse) GetReady

func (x *BrokerStatusResponse) GetReady() bool

func (*BrokerStatusResponse) GetVersion

func (x *BrokerStatusResponse) GetVersion() string

func (*BrokerStatusResponse) ProtoMessage

func (*BrokerStatusResponse) ProtoMessage()

func (*BrokerStatusResponse) ProtoReflect

func (x *BrokerStatusResponse) ProtoReflect() protoreflect.Message

func (*BrokerStatusResponse) Reset

func (x *BrokerStatusResponse) Reset()

func (*BrokerStatusResponse) String

func (x *BrokerStatusResponse) String() string

type DrainPartitionsRequest

type DrainPartitionsRequest struct {
	Partitions      []*PartitionRef `protobuf:"bytes,1,rep,name=partitions,proto3" json:"partitions,omitempty"`
	Reason          string          `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
	DeadlineSeconds int32           `protobuf:"varint,3,opt,name=deadline_seconds,json=deadlineSeconds,proto3" json:"deadline_seconds,omitempty"`
	// contains filtered or unexported fields
}

func (*DrainPartitionsRequest) Descriptor deprecated

func (*DrainPartitionsRequest) Descriptor() ([]byte, []int)

Deprecated: Use DrainPartitionsRequest.ProtoReflect.Descriptor instead.

func (*DrainPartitionsRequest) GetDeadlineSeconds

func (x *DrainPartitionsRequest) GetDeadlineSeconds() int32

func (*DrainPartitionsRequest) GetPartitions

func (x *DrainPartitionsRequest) GetPartitions() []*PartitionRef

func (*DrainPartitionsRequest) GetReason

func (x *DrainPartitionsRequest) GetReason() string

func (*DrainPartitionsRequest) ProtoMessage

func (*DrainPartitionsRequest) ProtoMessage()

func (*DrainPartitionsRequest) ProtoReflect

func (x *DrainPartitionsRequest) ProtoReflect() protoreflect.Message

func (*DrainPartitionsRequest) Reset

func (x *DrainPartitionsRequest) Reset()

func (*DrainPartitionsRequest) String

func (x *DrainPartitionsRequest) String() string

type DrainPartitionsResponse

type DrainPartitionsResponse struct {
	Drained []*PartitionRef `protobuf:"bytes,1,rep,name=drained,proto3" json:"drained,omitempty"`
	Pending []*PartitionRef `protobuf:"bytes,2,rep,name=pending,proto3" json:"pending,omitempty"`
	// contains filtered or unexported fields
}

func (*DrainPartitionsResponse) Descriptor deprecated

func (*DrainPartitionsResponse) Descriptor() ([]byte, []int)

Deprecated: Use DrainPartitionsResponse.ProtoReflect.Descriptor instead.

func (*DrainPartitionsResponse) GetDrained

func (x *DrainPartitionsResponse) GetDrained() []*PartitionRef

func (*DrainPartitionsResponse) GetPending

func (x *DrainPartitionsResponse) GetPending() []*PartitionRef

func (*DrainPartitionsResponse) ProtoMessage

func (*DrainPartitionsResponse) ProtoMessage()

func (*DrainPartitionsResponse) ProtoReflect

func (x *DrainPartitionsResponse) ProtoReflect() protoreflect.Message

func (*DrainPartitionsResponse) Reset

func (x *DrainPartitionsResponse) Reset()

func (*DrainPartitionsResponse) String

func (x *DrainPartitionsResponse) String() string

type MetricsSample

type MetricsSample struct {
	BrokerId    string             `protobuf:"bytes,1,opt,name=broker_id,json=brokerId,proto3" json:"broker_id,omitempty"`
	TimestampMs int64              `protobuf:"varint,2,opt,name=timestamp_ms,json=timestampMs,proto3" json:"timestamp_ms,omitempty"`
	Gauges      map[string]float64 `` /* 141-byte string literal not displayed */
	Counters    map[string]float64 `` /* 145-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*MetricsSample) Descriptor deprecated

func (*MetricsSample) Descriptor() ([]byte, []int)

Deprecated: Use MetricsSample.ProtoReflect.Descriptor instead.

func (*MetricsSample) GetBrokerId

func (x *MetricsSample) GetBrokerId() string

func (*MetricsSample) GetCounters

func (x *MetricsSample) GetCounters() map[string]float64

func (*MetricsSample) GetGauges

func (x *MetricsSample) GetGauges() map[string]float64

func (*MetricsSample) GetTimestampMs

func (x *MetricsSample) GetTimestampMs() int64

func (*MetricsSample) ProtoMessage

func (*MetricsSample) ProtoMessage()

func (*MetricsSample) ProtoReflect

func (x *MetricsSample) ProtoReflect() protoreflect.Message

func (*MetricsSample) Reset

func (x *MetricsSample) Reset()

func (*MetricsSample) String

func (x *MetricsSample) String() string

type PartitionAssignmentEvent

type PartitionAssignmentEvent struct {
	Partition *PartitionRef `protobuf:"bytes,1,opt,name=partition,proto3" json:"partition,omitempty"`
	BrokerId  string        `protobuf:"bytes,2,opt,name=broker_id,json=brokerId,proto3" json:"broker_id,omitempty"`
	Status    string        `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
	Epoch     int32         `protobuf:"varint,4,opt,name=epoch,proto3" json:"epoch,omitempty"`
	// contains filtered or unexported fields
}

func (*PartitionAssignmentEvent) Descriptor deprecated

func (*PartitionAssignmentEvent) Descriptor() ([]byte, []int)

Deprecated: Use PartitionAssignmentEvent.ProtoReflect.Descriptor instead.

func (*PartitionAssignmentEvent) GetBrokerId

func (x *PartitionAssignmentEvent) GetBrokerId() string

func (*PartitionAssignmentEvent) GetEpoch

func (x *PartitionAssignmentEvent) GetEpoch() int32

func (*PartitionAssignmentEvent) GetPartition

func (x *PartitionAssignmentEvent) GetPartition() *PartitionRef

func (*PartitionAssignmentEvent) GetStatus

func (x *PartitionAssignmentEvent) GetStatus() string

func (*PartitionAssignmentEvent) ProtoMessage

func (*PartitionAssignmentEvent) ProtoMessage()

func (*PartitionAssignmentEvent) ProtoReflect

func (x *PartitionAssignmentEvent) ProtoReflect() protoreflect.Message

func (*PartitionAssignmentEvent) Reset

func (x *PartitionAssignmentEvent) Reset()

func (*PartitionAssignmentEvent) String

func (x *PartitionAssignmentEvent) String() string

type PartitionRef

type PartitionRef struct {
	Topic     string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
	Partition int32  `protobuf:"varint,2,opt,name=partition,proto3" json:"partition,omitempty"`
	// contains filtered or unexported fields
}

func (*PartitionRef) Descriptor deprecated

func (*PartitionRef) Descriptor() ([]byte, []int)

Deprecated: Use PartitionRef.ProtoReflect.Descriptor instead.

func (*PartitionRef) GetPartition

func (x *PartitionRef) GetPartition() int32

func (*PartitionRef) GetTopic

func (x *PartitionRef) GetTopic() string

func (*PartitionRef) ProtoMessage

func (*PartitionRef) ProtoMessage()

func (*PartitionRef) ProtoReflect

func (x *PartitionRef) ProtoReflect() protoreflect.Message

func (*PartitionRef) Reset

func (x *PartitionRef) Reset()

func (*PartitionRef) String

func (x *PartitionRef) String() string

type PartitionStatus

type PartitionStatus struct {
	Topic          string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
	Partition      int32  `protobuf:"varint,2,opt,name=partition,proto3" json:"partition,omitempty"`
	Leader         bool   `protobuf:"varint,3,opt,name=leader,proto3" json:"leader,omitempty"`
	State          string `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"`
	LogStartOffset int64  `protobuf:"varint,5,opt,name=log_start_offset,json=logStartOffset,proto3" json:"log_start_offset,omitempty"`
	LogEndOffset   int64  `protobuf:"varint,6,opt,name=log_end_offset,json=logEndOffset,proto3" json:"log_end_offset,omitempty"`
	HighWatermark  int64  `protobuf:"varint,7,opt,name=high_watermark,json=highWatermark,proto3" json:"high_watermark,omitempty"`
	// contains filtered or unexported fields
}

func (*PartitionStatus) Descriptor deprecated

func (*PartitionStatus) Descriptor() ([]byte, []int)

Deprecated: Use PartitionStatus.ProtoReflect.Descriptor instead.

func (*PartitionStatus) GetHighWatermark

func (x *PartitionStatus) GetHighWatermark() int64

func (*PartitionStatus) GetLeader

func (x *PartitionStatus) GetLeader() bool

func (*PartitionStatus) GetLogEndOffset

func (x *PartitionStatus) GetLogEndOffset() int64

func (*PartitionStatus) GetLogStartOffset

func (x *PartitionStatus) GetLogStartOffset() int64

func (*PartitionStatus) GetPartition

func (x *PartitionStatus) GetPartition() int32

func (*PartitionStatus) GetState

func (x *PartitionStatus) GetState() string

func (*PartitionStatus) GetTopic

func (x *PartitionStatus) GetTopic() string

func (*PartitionStatus) ProtoMessage

func (*PartitionStatus) ProtoMessage()

func (*PartitionStatus) ProtoReflect

func (x *PartitionStatus) ProtoReflect() protoreflect.Message

func (*PartitionStatus) Reset

func (x *PartitionStatus) Reset()

func (*PartitionStatus) String

func (x *PartitionStatus) String() string

type TriggerFlushRequest

type TriggerFlushRequest struct {
	Partitions  []*PartitionRef `protobuf:"bytes,1,rep,name=partitions,proto3" json:"partitions,omitempty"`
	AllAssigned bool            `protobuf:"varint,2,opt,name=all_assigned,json=allAssigned,proto3" json:"all_assigned,omitempty"`
	// contains filtered or unexported fields
}

func (*TriggerFlushRequest) Descriptor deprecated

func (*TriggerFlushRequest) Descriptor() ([]byte, []int)

Deprecated: Use TriggerFlushRequest.ProtoReflect.Descriptor instead.

func (*TriggerFlushRequest) GetAllAssigned

func (x *TriggerFlushRequest) GetAllAssigned() bool

func (*TriggerFlushRequest) GetPartitions

func (x *TriggerFlushRequest) GetPartitions() []*PartitionRef

func (*TriggerFlushRequest) ProtoMessage

func (*TriggerFlushRequest) ProtoMessage()

func (*TriggerFlushRequest) ProtoReflect

func (x *TriggerFlushRequest) ProtoReflect() protoreflect.Message

func (*TriggerFlushRequest) Reset

func (x *TriggerFlushRequest) Reset()

func (*TriggerFlushRequest) String

func (x *TriggerFlushRequest) String() string

type TriggerFlushResponse

type TriggerFlushResponse struct {
	Flushed []*PartitionRef `protobuf:"bytes,1,rep,name=flushed,proto3" json:"flushed,omitempty"`
	// contains filtered or unexported fields
}

func (*TriggerFlushResponse) Descriptor deprecated

func (*TriggerFlushResponse) Descriptor() ([]byte, []int)

Deprecated: Use TriggerFlushResponse.ProtoReflect.Descriptor instead.

func (*TriggerFlushResponse) GetFlushed

func (x *TriggerFlushResponse) GetFlushed() []*PartitionRef

func (*TriggerFlushResponse) ProtoMessage

func (*TriggerFlushResponse) ProtoMessage()

func (*TriggerFlushResponse) ProtoReflect

func (x *TriggerFlushResponse) ProtoReflect() protoreflect.Message

func (*TriggerFlushResponse) Reset

func (x *TriggerFlushResponse) Reset()

func (*TriggerFlushResponse) String

func (x *TriggerFlushResponse) String() string

type UnimplementedAssignmentStreamServer

type UnimplementedAssignmentStreamServer struct{}

UnimplementedAssignmentStreamServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

type UnimplementedBrokerControlServer

type UnimplementedBrokerControlServer struct{}

UnimplementedBrokerControlServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedBrokerControlServer) DrainPartitions

func (UnimplementedBrokerControlServer) GetStatus

func (UnimplementedBrokerControlServer) StreamMetrics

func (UnimplementedBrokerControlServer) TriggerFlush

type UnsafeAssignmentStreamServer

type UnsafeAssignmentStreamServer interface {
	// contains filtered or unexported methods
}

UnsafeAssignmentStreamServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AssignmentStreamServer will result in compilation errors.

type UnsafeBrokerControlServer

type UnsafeBrokerControlServer interface {
	// contains filtered or unexported methods
}

UnsafeBrokerControlServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to BrokerControlServer will result in compilation errors.

Jump to

Keyboard shortcuts

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