blob: 4db695e6726cff9bfe6480931f3854dd26b05b7c [file] [log] [blame]
// Copyright 2021 The LUCI Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0-devel
// protoc v3.12.4
// source: infra/qscheduler/qslib/protos/metrics/metrics.proto
package metrics
import (
reflect "reflect"
sync "sync"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type TaskEvent_EventCategory int32
const (
TaskEvent_CATEGORY_UNSPECIFIED TaskEvent_EventCategory = 0
// CATEGORY_SWARMING events are due to new information from swarming.
TaskEvent_CATEGORY_SWARMING TaskEvent_EventCategory = 256
// CATEGORY_QSCHEDULER events are due to a decision made by quotascheduler.
TaskEvent_CATEGORY_QSCHEDULER TaskEvent_EventCategory = 512
)
// Enum value maps for TaskEvent_EventCategory.
var (
TaskEvent_EventCategory_name = map[int32]string{
0: "CATEGORY_UNSPECIFIED",
256: "CATEGORY_SWARMING",
512: "CATEGORY_QSCHEDULER",
}
TaskEvent_EventCategory_value = map[string]int32{
"CATEGORY_UNSPECIFIED": 0,
"CATEGORY_SWARMING": 256,
"CATEGORY_QSCHEDULER": 512,
}
)
func (x TaskEvent_EventCategory) Enum() *TaskEvent_EventCategory {
p := new(TaskEvent_EventCategory)
*p = x
return p
}
func (x TaskEvent_EventCategory) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TaskEvent_EventCategory) Descriptor() protoreflect.EnumDescriptor {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_enumTypes[0].Descriptor()
}
func (TaskEvent_EventCategory) Type() protoreflect.EnumType {
return &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_enumTypes[0]
}
func (x TaskEvent_EventCategory) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TaskEvent_EventCategory.Descriptor instead.
func (TaskEvent_EventCategory) EnumDescriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{0, 0}
}
type TaskEvent_EventType int32
const (
// Invalid or unspecified event type.
TaskEvent_UNSPECIFIED TaskEvent_EventType = 0
// Task was enqueued.
TaskEvent_SWARMING_ENQUEUED TaskEvent_EventType = 257
// Task completed (was removed from running worker or from queue).
TaskEvent_SWARMING_COMPLETED TaskEvent_EventType = 258
// Task was assigned to a bot.
TaskEvent_QSCHEDULER_ASSIGNED TaskEvent_EventType = 513
// Task (which was previously assigned to a bot) was interrupted by another
// task.
TaskEvent_QSCHEDULER_PREEMPTED TaskEvent_EventType = 514
// Task (which was previously assigned to a bot) changed its running
// priority.
TaskEvent_QSCHEDULER_REPRIORITIZED TaskEvent_EventType = 515
// Task (which was previously assigned to a bot) was unassigned and moved
// back to the queue.
TaskEvent_QSCHEDULER_UNASSIGNED TaskEvent_EventType = 516
)
// Enum value maps for TaskEvent_EventType.
var (
TaskEvent_EventType_name = map[int32]string{
0: "UNSPECIFIED",
257: "SWARMING_ENQUEUED",
258: "SWARMING_COMPLETED",
513: "QSCHEDULER_ASSIGNED",
514: "QSCHEDULER_PREEMPTED",
515: "QSCHEDULER_REPRIORITIZED",
516: "QSCHEDULER_UNASSIGNED",
}
TaskEvent_EventType_value = map[string]int32{
"UNSPECIFIED": 0,
"SWARMING_ENQUEUED": 257,
"SWARMING_COMPLETED": 258,
"QSCHEDULER_ASSIGNED": 513,
"QSCHEDULER_PREEMPTED": 514,
"QSCHEDULER_REPRIORITIZED": 515,
"QSCHEDULER_UNASSIGNED": 516,
}
)
func (x TaskEvent_EventType) Enum() *TaskEvent_EventType {
p := new(TaskEvent_EventType)
*p = x
return p
}
func (x TaskEvent_EventType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TaskEvent_EventType) Descriptor() protoreflect.EnumDescriptor {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_enumTypes[1].Descriptor()
}
func (TaskEvent_EventType) Type() protoreflect.EnumType {
return &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_enumTypes[1]
}
func (x TaskEvent_EventType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TaskEvent_EventType.Descriptor instead.
func (TaskEvent_EventType) EnumDescriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{0, 1}
}
type TaskEvent_CompletedDetails_Reason int32
const (
TaskEvent_CompletedDetails_UNSPECIFIED TaskEvent_CompletedDetails_Reason = 0
// The bot that was previously assigned this task became idle.
TaskEvent_CompletedDetails_BOT_IDLE TaskEvent_CompletedDetails_Reason = 1
// The task became absent while it was still idle.
TaskEvent_CompletedDetails_IDLE_TASK_ABSENT TaskEvent_CompletedDetails_Reason = 2
// The task becamse absent while it was running.
TaskEvent_CompletedDetails_RUNNING_TASK_ABSENT TaskEvent_CompletedDetails_Reason = 3
// The task was believed to be running on a bot, but the scheduler was
// notified that it was running on a different bot, so its state was
// deleted.
TaskEvent_CompletedDetails_INCONSISTENT_BOT_FOR_TASK TaskEvent_CompletedDetails_Reason = 4
// The task was believed the be running on a bot, but the scheduler was
// notified that a different task is running on the bot, so its state was
// deleted.
TaskEvent_CompletedDetails_INCONSISTENT_TASK_FOR_BOT TaskEvent_CompletedDetails_Reason = 5
)
// Enum value maps for TaskEvent_CompletedDetails_Reason.
var (
TaskEvent_CompletedDetails_Reason_name = map[int32]string{
0: "UNSPECIFIED",
1: "BOT_IDLE",
2: "IDLE_TASK_ABSENT",
3: "RUNNING_TASK_ABSENT",
4: "INCONSISTENT_BOT_FOR_TASK",
5: "INCONSISTENT_TASK_FOR_BOT",
}
TaskEvent_CompletedDetails_Reason_value = map[string]int32{
"UNSPECIFIED": 0,
"BOT_IDLE": 1,
"IDLE_TASK_ABSENT": 2,
"RUNNING_TASK_ABSENT": 3,
"INCONSISTENT_BOT_FOR_TASK": 4,
"INCONSISTENT_TASK_FOR_BOT": 5,
}
)
func (x TaskEvent_CompletedDetails_Reason) Enum() *TaskEvent_CompletedDetails_Reason {
p := new(TaskEvent_CompletedDetails_Reason)
*p = x
return p
}
func (x TaskEvent_CompletedDetails_Reason) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (TaskEvent_CompletedDetails_Reason) Descriptor() protoreflect.EnumDescriptor {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_enumTypes[2].Descriptor()
}
func (TaskEvent_CompletedDetails_Reason) Type() protoreflect.EnumType {
return &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_enumTypes[2]
}
func (x TaskEvent_CompletedDetails_Reason) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use TaskEvent_CompletedDetails_Reason.Descriptor instead.
func (TaskEvent_CompletedDetails_Reason) EnumDescriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{0, 4, 0}
}
// TaskEvent represents a quotascheduler event that happened to a particular
// task, for metrics purposes.
//
// This proto is intended to be used as a schema for a BigQuery table, in which
// events are logged.
type TaskEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// EventType is the type of event that occurred.
EventType TaskEvent_EventType `protobuf:"varint,1,opt,name=event_type,json=eventType,proto3,enum=metrics.TaskEvent_EventType" json:"event_type,omitempty"`
// SchedulerId is the ID of the scheduler in which the event occurred.
SchedulerId string `protobuf:"bytes,2,opt,name=scheduler_id,json=schedulerId,proto3" json:"scheduler_id,omitempty"`
// TaskId is the task ID that the event happened to.
TaskId string `protobuf:"bytes,3,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Time is the time at which the event happened.
Time *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=time,proto3" json:"time,omitempty"`
// BaseLabels are the base labels of the task.
BaseLabels []string `protobuf:"bytes,5,rep,name=base_labels,json=baseLabels,proto3" json:"base_labels,omitempty"`
// ProvisionableLabels are the provisionable labels of the task.
ProvisionableLabels []string `protobuf:"bytes,6,rep,name=provisionable_labels,json=provisionableLabels,proto3" json:"provisionable_labels,omitempty"`
// AccountId is the quotascheduler account that the task will be charged to.
AccountId string `protobuf:"bytes,7,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
// AccountValid indicates whether this task's quotascheduler account is valid
// (exists) at this time.
AccountValid bool `protobuf:"varint,8,opt,name=account_valid,json=accountValid,proto3" json:"account_valid,omitempty"`
// AccountBalance is the task's quotascheduler account's balance at this time.
AccountBalance []float32 `protobuf:"fixed32,9,rep,packed,name=account_balance,json=accountBalance,proto3" json:"account_balance,omitempty"`
// Cost is the total quota cost accumulated so far to the quotascheduler
// account, when running this task.
Cost []float32 `protobuf:"fixed32,10,rep,packed,name=cost,proto3" json:"cost,omitempty"`
// BotId is the bot that the event occurred on (relevant for all event
// types except for ENQUEUED).
BotId string `protobuf:"bytes,11,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"`
// BotDimensions are the dimensions of the bot (if relevant).
BotDimensions []string `protobuf:"bytes,12,rep,name=bot_dimensions,json=botDimensions,proto3" json:"bot_dimensions,omitempty"`
// Category is the EventCategory for this event's EventType.
Category TaskEvent_EventCategory `protobuf:"varint,13,opt,name=category,proto3,enum=metrics.TaskEvent_EventCategory" json:"category,omitempty"`
// IsCallback specifies whether this event was due to a notification callback
// from swarming that was requested by the scheduler. This is for diagnostic
// purposes only, and is only applicable for events of category
// CATEGORY_SWARMING.
IsCallback bool `protobuf:"varint,14,opt,name=is_callback,json=isCallback,proto3" json:"is_callback,omitempty"`
// Types that are assignable to Details:
// *TaskEvent_EnqueuedDetails_
// *TaskEvent_AssignedDetails_
// *TaskEvent_PreemptedDetails_
// *TaskEvent_ReprioritizedDetails_
// *TaskEvent_CompletedDetails_
// *TaskEvent_UnassignedDetails_
Details isTaskEvent_Details `protobuf_oneof:"details"`
}
func (x *TaskEvent) Reset() {
*x = TaskEvent{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TaskEvent) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TaskEvent) ProtoMessage() {}
func (x *TaskEvent) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TaskEvent.ProtoReflect.Descriptor instead.
func (*TaskEvent) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{0}
}
func (x *TaskEvent) GetEventType() TaskEvent_EventType {
if x != nil {
return x.EventType
}
return TaskEvent_UNSPECIFIED
}
func (x *TaskEvent) GetSchedulerId() string {
if x != nil {
return x.SchedulerId
}
return ""
}
func (x *TaskEvent) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
func (x *TaskEvent) GetTime() *timestamppb.Timestamp {
if x != nil {
return x.Time
}
return nil
}
func (x *TaskEvent) GetBaseLabels() []string {
if x != nil {
return x.BaseLabels
}
return nil
}
func (x *TaskEvent) GetProvisionableLabels() []string {
if x != nil {
return x.ProvisionableLabels
}
return nil
}
func (x *TaskEvent) GetAccountId() string {
if x != nil {
return x.AccountId
}
return ""
}
func (x *TaskEvent) GetAccountValid() bool {
if x != nil {
return x.AccountValid
}
return false
}
func (x *TaskEvent) GetAccountBalance() []float32 {
if x != nil {
return x.AccountBalance
}
return nil
}
func (x *TaskEvent) GetCost() []float32 {
if x != nil {
return x.Cost
}
return nil
}
func (x *TaskEvent) GetBotId() string {
if x != nil {
return x.BotId
}
return ""
}
func (x *TaskEvent) GetBotDimensions() []string {
if x != nil {
return x.BotDimensions
}
return nil
}
func (x *TaskEvent) GetCategory() TaskEvent_EventCategory {
if x != nil {
return x.Category
}
return TaskEvent_CATEGORY_UNSPECIFIED
}
func (x *TaskEvent) GetIsCallback() bool {
if x != nil {
return x.IsCallback
}
return false
}
func (m *TaskEvent) GetDetails() isTaskEvent_Details {
if m != nil {
return m.Details
}
return nil
}
func (x *TaskEvent) GetEnqueuedDetails() *TaskEvent_EnqueuedDetails {
if x, ok := x.GetDetails().(*TaskEvent_EnqueuedDetails_); ok {
return x.EnqueuedDetails
}
return nil
}
func (x *TaskEvent) GetAssignedDetails() *TaskEvent_AssignedDetails {
if x, ok := x.GetDetails().(*TaskEvent_AssignedDetails_); ok {
return x.AssignedDetails
}
return nil
}
func (x *TaskEvent) GetPreemptedDetails() *TaskEvent_PreemptedDetails {
if x, ok := x.GetDetails().(*TaskEvent_PreemptedDetails_); ok {
return x.PreemptedDetails
}
return nil
}
func (x *TaskEvent) GetReprioritizedDetails() *TaskEvent_ReprioritizedDetails {
if x, ok := x.GetDetails().(*TaskEvent_ReprioritizedDetails_); ok {
return x.ReprioritizedDetails
}
return nil
}
func (x *TaskEvent) GetCompletedDetails() *TaskEvent_CompletedDetails {
if x, ok := x.GetDetails().(*TaskEvent_CompletedDetails_); ok {
return x.CompletedDetails
}
return nil
}
func (x *TaskEvent) GetUnassignedDetails() *TaskEvent_UnassignedDetails {
if x, ok := x.GetDetails().(*TaskEvent_UnassignedDetails_); ok {
return x.UnassignedDetails
}
return nil
}
type isTaskEvent_Details interface {
isTaskEvent_Details()
}
type TaskEvent_EnqueuedDetails_ struct {
EnqueuedDetails *TaskEvent_EnqueuedDetails `protobuf:"bytes,100,opt,name=enqueued_details,json=enqueuedDetails,proto3,oneof"`
}
type TaskEvent_AssignedDetails_ struct {
AssignedDetails *TaskEvent_AssignedDetails `protobuf:"bytes,101,opt,name=assigned_details,json=assignedDetails,proto3,oneof"`
}
type TaskEvent_PreemptedDetails_ struct {
PreemptedDetails *TaskEvent_PreemptedDetails `protobuf:"bytes,102,opt,name=preempted_details,json=preemptedDetails,proto3,oneof"`
}
type TaskEvent_ReprioritizedDetails_ struct {
ReprioritizedDetails *TaskEvent_ReprioritizedDetails `protobuf:"bytes,103,opt,name=reprioritized_details,json=reprioritizedDetails,proto3,oneof"`
}
type TaskEvent_CompletedDetails_ struct {
CompletedDetails *TaskEvent_CompletedDetails `protobuf:"bytes,104,opt,name=completed_details,json=completedDetails,proto3,oneof"`
}
type TaskEvent_UnassignedDetails_ struct {
UnassignedDetails *TaskEvent_UnassignedDetails `protobuf:"bytes,105,opt,name=unassigned_details,json=unassignedDetails,proto3,oneof"`
}
func (*TaskEvent_EnqueuedDetails_) isTaskEvent_Details() {}
func (*TaskEvent_AssignedDetails_) isTaskEvent_Details() {}
func (*TaskEvent_PreemptedDetails_) isTaskEvent_Details() {}
func (*TaskEvent_ReprioritizedDetails_) isTaskEvent_Details() {}
func (*TaskEvent_CompletedDetails_) isTaskEvent_Details() {}
func (*TaskEvent_UnassignedDetails_) isTaskEvent_Details() {}
// EventList wraps a repeated TaskEvent.
type EventList struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Events []*TaskEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"`
}
func (x *EventList) Reset() {
*x = EventList{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EventList) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EventList) ProtoMessage() {}
func (x *EventList) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EventList.ProtoReflect.Descriptor instead.
func (*EventList) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{1}
}
func (x *EventList) GetEvents() []*TaskEvent {
if x != nil {
return x.Events
}
return nil
}
// TODO: Remove SchedulerState once the Task/Worker/Account type is implemented.
// SchedulerState represents the scheuler state.
type SchedulerState struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
QueuedTasks []*SchedulerState_Task `protobuf:"bytes,1,rep,name=queued_tasks,json=queuedTasks,proto3" json:"queued_tasks,omitempty"`
RunningTasks []*SchedulerState_Task `protobuf:"bytes,2,rep,name=running_tasks,json=runningTasks,proto3" json:"running_tasks,omitempty"`
IdleWorkers []*SchedulerState_Worker `protobuf:"bytes,3,rep,name=idle_workers,json=idleWorkers,proto3" json:"idle_workers,omitempty"`
RunningWorkers []*SchedulerState_Worker `protobuf:"bytes,4,rep,name=running_workers,json=runningWorkers,proto3" json:"running_workers,omitempty"`
Accounts []*SchedulerState_Account `protobuf:"bytes,5,rep,name=accounts,proto3" json:"accounts,omitempty"`
PoolId string `protobuf:"bytes,6,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
// Time is the time at which the snapshot was created.
Time *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=time,proto3" json:"time,omitempty"`
}
func (x *SchedulerState) Reset() {
*x = SchedulerState{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerState) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerState) ProtoMessage() {}
func (x *SchedulerState) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SchedulerState.ProtoReflect.Descriptor instead.
func (*SchedulerState) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{2}
}
func (x *SchedulerState) GetQueuedTasks() []*SchedulerState_Task {
if x != nil {
return x.QueuedTasks
}
return nil
}
func (x *SchedulerState) GetRunningTasks() []*SchedulerState_Task {
if x != nil {
return x.RunningTasks
}
return nil
}
func (x *SchedulerState) GetIdleWorkers() []*SchedulerState_Worker {
if x != nil {
return x.IdleWorkers
}
return nil
}
func (x *SchedulerState) GetRunningWorkers() []*SchedulerState_Worker {
if x != nil {
return x.RunningWorkers
}
return nil
}
func (x *SchedulerState) GetAccounts() []*SchedulerState_Account {
if x != nil {
return x.Accounts
}
return nil
}
func (x *SchedulerState) GetPoolId() string {
if x != nil {
return x.PoolId
}
return ""
}
func (x *SchedulerState) GetTime() *timestamppb.Timestamp {
if x != nil {
return x.Time
}
return nil
}
// Task represents a single task in the snapshot of a scheduler state.
type Task struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id *Task_ID `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// The quota scheduler pool that contains the account of this task.
Pool *Pool `protobuf:"bytes,2,opt,name=pool,proto3" json:"pool,omitempty"`
// The account that the task attached.
AccountId *Account_ID `protobuf:"bytes,3,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
// The worker Id if this task is assigned, or empty if the task is queued.
WorkerId *Worker_ID `protobuf:"bytes,4,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
BaseLabels []string `protobuf:"bytes,5,rep,name=base_labels,json=baseLabels,proto3" json:"base_labels,omitempty"`
ProvisionableLabels []string `protobuf:"bytes,6,rep,name=provisionable_labels,json=provisionableLabels,proto3" json:"provisionable_labels,omitempty"`
// The last updated time of the scheduler state where the Task was read.
SnapshotTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=snapshot_time,json=snapshotTime,proto3" json:"snapshot_time,omitempty"`
}
func (x *Task) Reset() {
*x = Task{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Task) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Task) ProtoMessage() {}
func (x *Task) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Task.ProtoReflect.Descriptor instead.
func (*Task) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{3}
}
func (x *Task) GetId() *Task_ID {
if x != nil {
return x.Id
}
return nil
}
func (x *Task) GetPool() *Pool {
if x != nil {
return x.Pool
}
return nil
}
func (x *Task) GetAccountId() *Account_ID {
if x != nil {
return x.AccountId
}
return nil
}
func (x *Task) GetWorkerId() *Worker_ID {
if x != nil {
return x.WorkerId
}
return nil
}
func (x *Task) GetBaseLabels() []string {
if x != nil {
return x.BaseLabels
}
return nil
}
func (x *Task) GetProvisionableLabels() []string {
if x != nil {
return x.ProvisionableLabels
}
return nil
}
func (x *Task) GetSnapshotTime() *timestamppb.Timestamp {
if x != nil {
return x.SnapshotTime
}
return nil
}
// Worker represents a single worker in the snapshot of a scheduler state.
type Worker struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id *Worker_ID `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// The quota scheduler pool this worker serves.
Pool *Pool `protobuf:"bytes,2,opt,name=pool,proto3" json:"pool,omitempty"`
// The task that is running on this worker. Empty if this worker is idle.
TaskId *Task_ID `protobuf:"bytes,3,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
Labels []string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty"`
// The last updated time of the scheduler state where the Worker was read.
SnapshotTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=snapshot_time,json=snapshotTime,proto3" json:"snapshot_time,omitempty"`
}
func (x *Worker) Reset() {
*x = Worker{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Worker) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Worker) ProtoMessage() {}
func (x *Worker) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Worker.ProtoReflect.Descriptor instead.
func (*Worker) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{4}
}
func (x *Worker) GetId() *Worker_ID {
if x != nil {
return x.Id
}
return nil
}
func (x *Worker) GetPool() *Pool {
if x != nil {
return x.Pool
}
return nil
}
func (x *Worker) GetTaskId() *Task_ID {
if x != nil {
return x.TaskId
}
return nil
}
func (x *Worker) GetLabels() []string {
if x != nil {
return x.Labels
}
return nil
}
func (x *Worker) GetSnapshotTime() *timestamppb.Timestamp {
if x != nil {
return x.SnapshotTime
}
return nil
}
// Account represents a single account in the snapshot of a scheduler state.
type Account struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id *Account_ID `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// The quota scheduler pool that contains this account.
Pool *Pool `protobuf:"bytes,2,opt,name=pool,proto3" json:"pool,omitempty"`
// Account's balance at this time.
Balance []float32 `protobuf:"fixed32,3,rep,packed,name=balance,proto3" json:"balance,omitempty"`
// The last updated time of the scheduler state where the Account was read.
SnapshotTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=snapshot_time,json=snapshotTime,proto3" json:"snapshot_time,omitempty"`
}
func (x *Account) Reset() {
*x = Account{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Account) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Account) ProtoMessage() {}
func (x *Account) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Account.ProtoReflect.Descriptor instead.
func (*Account) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{5}
}
func (x *Account) GetId() *Account_ID {
if x != nil {
return x.Id
}
return nil
}
func (x *Account) GetPool() *Pool {
if x != nil {
return x.Pool
}
return nil
}
func (x *Account) GetBalance() []float32 {
if x != nil {
return x.Balance
}
return nil
}
func (x *Account) GetSnapshotTime() *timestamppb.Timestamp {
if x != nil {
return x.SnapshotTime
}
return nil
}
// Pool represents a quota scheduler pool.
type Pool struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *Pool) Reset() {
*x = Pool{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Pool) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Pool) ProtoMessage() {}
func (x *Pool) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Pool.ProtoReflect.Descriptor instead.
func (*Pool) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{6}
}
func (x *Pool) GetId() string {
if x != nil {
return x.Id
}
return ""
}
// EnqueuedDetails represents event details that are specific to the
// ENQUEUED event type.
type TaskEvent_EnqueuedDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Tags is the set of swarming tags for the task.
Tags []string `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"`
}
func (x *TaskEvent_EnqueuedDetails) Reset() {
*x = TaskEvent_EnqueuedDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TaskEvent_EnqueuedDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TaskEvent_EnqueuedDetails) ProtoMessage() {}
func (x *TaskEvent_EnqueuedDetails) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TaskEvent_EnqueuedDetails.ProtoReflect.Descriptor instead.
func (*TaskEvent_EnqueuedDetails) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{0, 0}
}
func (x *TaskEvent_EnqueuedDetails) GetTags() []string {
if x != nil {
return x.Tags
}
return nil
}
// AssignedDetails represents event details that are specific to the
// ASSIGNED event type.
type TaskEvent_AssignedDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// ProvisionRequired is whether provision is required to run this task
// on the bot (i.e. if a slice other than the 0th slice was selected).
ProvisionRequired bool `protobuf:"varint,1,opt,name=provision_required,json=provisionRequired,proto3" json:"provision_required,omitempty"`
// Priority is the qscheduler priority that the task is running at.
Priority int32 `protobuf:"varint,2,opt,name=priority,proto3" json:"priority,omitempty"`
// Preempting is true if this task preempted another one that was already
// running on the bot.
Preempting bool `protobuf:"varint,3,opt,name=preempting,proto3" json:"preempting,omitempty"`
// PreemptionCost is the cost paid by this task's account in order to
// preempt the previous task on this bot, if this was a preempting
// assignment.
PreemptionCost []float32 `protobuf:"fixed32,4,rep,packed,name=preemption_cost,json=preemptionCost,proto3" json:"preemption_cost,omitempty"`
// PreemptedTaskId is the task that was preempted, if any.
PreemptedTaskId string `protobuf:"bytes,5,opt,name=preempted_task_id,json=preemptedTaskId,proto3" json:"preempted_task_id,omitempty"`
}
func (x *TaskEvent_AssignedDetails) Reset() {
*x = TaskEvent_AssignedDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TaskEvent_AssignedDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TaskEvent_AssignedDetails) ProtoMessage() {}
func (x *TaskEvent_AssignedDetails) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TaskEvent_AssignedDetails.ProtoReflect.Descriptor instead.
func (*TaskEvent_AssignedDetails) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{0, 1}
}
func (x *TaskEvent_AssignedDetails) GetProvisionRequired() bool {
if x != nil {
return x.ProvisionRequired
}
return false
}
func (x *TaskEvent_AssignedDetails) GetPriority() int32 {
if x != nil {
return x.Priority
}
return 0
}
func (x *TaskEvent_AssignedDetails) GetPreempting() bool {
if x != nil {
return x.Preempting
}
return false
}
func (x *TaskEvent_AssignedDetails) GetPreemptionCost() []float32 {
if x != nil {
return x.PreemptionCost
}
return nil
}
func (x *TaskEvent_AssignedDetails) GetPreemptedTaskId() string {
if x != nil {
return x.PreemptedTaskId
}
return ""
}
// PreemptedDetails represents event details that are specific to the
// PREEMPTED event type.
type TaskEvent_PreemptedDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// PreemptingAccountId is the account id of the task that preempted this
// task.
PreemptingAccountId string `protobuf:"bytes,1,opt,name=preempting_account_id,json=preemptingAccountId,proto3" json:"preempting_account_id,omitempty"`
// PreemptingTaskId is the task id of the task that preempted this task.
PreemptingTaskId string `protobuf:"bytes,2,opt,name=preempting_task_id,json=preemptingTaskId,proto3" json:"preempting_task_id,omitempty"`
// Priority is the priority that this task was running at prior to being
// preempted.
Priority int32 `protobuf:"varint,3,opt,name=priority,proto3" json:"priority,omitempty"`
// PreemptingPriority is the priority of the task that preempted this task.
PreemptingPriority int32 `protobuf:"varint,4,opt,name=preempting_priority,json=preemptingPriority,proto3" json:"preempting_priority,omitempty"`
}
func (x *TaskEvent_PreemptedDetails) Reset() {
*x = TaskEvent_PreemptedDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TaskEvent_PreemptedDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TaskEvent_PreemptedDetails) ProtoMessage() {}
func (x *TaskEvent_PreemptedDetails) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TaskEvent_PreemptedDetails.ProtoReflect.Descriptor instead.
func (*TaskEvent_PreemptedDetails) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{0, 2}
}
func (x *TaskEvent_PreemptedDetails) GetPreemptingAccountId() string {
if x != nil {
return x.PreemptingAccountId
}
return ""
}
func (x *TaskEvent_PreemptedDetails) GetPreemptingTaskId() string {
if x != nil {
return x.PreemptingTaskId
}
return ""
}
func (x *TaskEvent_PreemptedDetails) GetPriority() int32 {
if x != nil {
return x.Priority
}
return 0
}
func (x *TaskEvent_PreemptedDetails) GetPreemptingPriority() int32 {
if x != nil {
return x.PreemptingPriority
}
return 0
}
// ReprioritizedDetails represents event details that are specific to the
// PREPRIORITIZED event type.
type TaskEvent_ReprioritizedDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// OldPriority is the previous priority the task was running at.
OldPriority int32 `protobuf:"varint,1,opt,name=old_priority,json=oldPriority,proto3" json:"old_priority,omitempty"`
// NewPriority is the new priority the task is running at.
NewPriority int32 `protobuf:"varint,2,opt,name=new_priority,json=newPriority,proto3" json:"new_priority,omitempty"`
}
func (x *TaskEvent_ReprioritizedDetails) Reset() {
*x = TaskEvent_ReprioritizedDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TaskEvent_ReprioritizedDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TaskEvent_ReprioritizedDetails) ProtoMessage() {}
func (x *TaskEvent_ReprioritizedDetails) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TaskEvent_ReprioritizedDetails.ProtoReflect.Descriptor instead.
func (*TaskEvent_ReprioritizedDetails) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{0, 3}
}
func (x *TaskEvent_ReprioritizedDetails) GetOldPriority() int32 {
if x != nil {
return x.OldPriority
}
return 0
}
func (x *TaskEvent_ReprioritizedDetails) GetNewPriority() int32 {
if x != nil {
return x.NewPriority
}
return 0
}
// ReprioritizedDetails represents event details that are specific to the
// COMPLETED event type.
type TaskEvent_CompletedDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Reason TaskEvent_CompletedDetails_Reason `protobuf:"varint,1,opt,name=reason,proto3,enum=metrics.TaskEvent_CompletedDetails_Reason" json:"reason,omitempty"`
// If reason is INCONSISTENT_TASK_FOR_BOT, other_task specifies which task
// it was that notified itself on this bot.
OtherTask string `protobuf:"bytes,2,opt,name=other_task,json=otherTask,proto3" json:"other_task,omitempty"`
// If reason is INCONSISTENT_BOT_FOR_TASK, other_bot specifies which bot
// it was that was notified with this task.
OtherBot string `protobuf:"bytes,3,opt,name=other_bot,json=otherBot,proto3" json:"other_bot,omitempty"`
}
func (x *TaskEvent_CompletedDetails) Reset() {
*x = TaskEvent_CompletedDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TaskEvent_CompletedDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TaskEvent_CompletedDetails) ProtoMessage() {}
func (x *TaskEvent_CompletedDetails) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TaskEvent_CompletedDetails.ProtoReflect.Descriptor instead.
func (*TaskEvent_CompletedDetails) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{0, 4}
}
func (x *TaskEvent_CompletedDetails) GetReason() TaskEvent_CompletedDetails_Reason {
if x != nil {
return x.Reason
}
return TaskEvent_CompletedDetails_UNSPECIFIED
}
func (x *TaskEvent_CompletedDetails) GetOtherTask() string {
if x != nil {
return x.OtherTask
}
return ""
}
func (x *TaskEvent_CompletedDetails) GetOtherBot() string {
if x != nil {
return x.OtherBot
}
return ""
}
// UnassignedDetails represents event details that are specific to the
// UNASSIGNED event type.
type TaskEvent_UnassignedDetails struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *TaskEvent_UnassignedDetails) Reset() {
*x = TaskEvent_UnassignedDetails{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TaskEvent_UnassignedDetails) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TaskEvent_UnassignedDetails) ProtoMessage() {}
func (x *TaskEvent_UnassignedDetails) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TaskEvent_UnassignedDetails.ProtoReflect.Descriptor instead.
func (*TaskEvent_UnassignedDetails) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{0, 5}
}
type SchedulerState_Task struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
WorkerId string `protobuf:"bytes,3,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
BaseLabels []string `protobuf:"bytes,4,rep,name=base_labels,json=baseLabels,proto3" json:"base_labels,omitempty"`
ProvisionableLabels []string `protobuf:"bytes,5,rep,name=provisionable_labels,json=provisionableLabels,proto3" json:"provisionable_labels,omitempty"`
}
func (x *SchedulerState_Task) Reset() {
*x = SchedulerState_Task{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerState_Task) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerState_Task) ProtoMessage() {}
func (x *SchedulerState_Task) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SchedulerState_Task.ProtoReflect.Descriptor instead.
func (*SchedulerState_Task) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{2, 0}
}
func (x *SchedulerState_Task) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *SchedulerState_Task) GetAccountId() string {
if x != nil {
return x.AccountId
}
return ""
}
func (x *SchedulerState_Task) GetWorkerId() string {
if x != nil {
return x.WorkerId
}
return ""
}
func (x *SchedulerState_Task) GetBaseLabels() []string {
if x != nil {
return x.BaseLabels
}
return nil
}
func (x *SchedulerState_Task) GetProvisionableLabels() []string {
if x != nil {
return x.ProvisionableLabels
}
return nil
}
type SchedulerState_Worker struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
Labels []string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty"`
}
func (x *SchedulerState_Worker) Reset() {
*x = SchedulerState_Worker{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerState_Worker) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerState_Worker) ProtoMessage() {}
func (x *SchedulerState_Worker) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SchedulerState_Worker.ProtoReflect.Descriptor instead.
func (*SchedulerState_Worker) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{2, 1}
}
func (x *SchedulerState_Worker) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *SchedulerState_Worker) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
func (x *SchedulerState_Worker) GetLabels() []string {
if x != nil {
return x.Labels
}
return nil
}
type SchedulerState_Account struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Balance []float32 `protobuf:"fixed32,2,rep,packed,name=balance,proto3" json:"balance,omitempty"`
}
func (x *SchedulerState_Account) Reset() {
*x = SchedulerState_Account{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulerState_Account) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulerState_Account) ProtoMessage() {}
func (x *SchedulerState_Account) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SchedulerState_Account.ProtoReflect.Descriptor instead.
func (*SchedulerState_Account) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{2, 2}
}
func (x *SchedulerState_Account) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *SchedulerState_Account) GetBalance() []float32 {
if x != nil {
return x.Balance
}
return nil
}
// Id is the ID of this task.
type Task_ID struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *Task_ID) Reset() {
*x = Task_ID{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Task_ID) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Task_ID) ProtoMessage() {}
func (x *Task_ID) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Task_ID.ProtoReflect.Descriptor instead.
func (*Task_ID) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{3, 0}
}
func (x *Task_ID) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Id is the ID of this worker.
type Worker_ID struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *Worker_ID) Reset() {
*x = Worker_ID{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Worker_ID) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Worker_ID) ProtoMessage() {}
func (x *Worker_ID) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Worker_ID.ProtoReflect.Descriptor instead.
func (*Worker_ID) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{4, 0}
}
func (x *Worker_ID) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// Id is the quotascheduler account ID.
type Account_ID struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *Account_ID) Reset() {
*x = Account_ID{}
if protoimpl.UnsafeEnabled {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Account_ID) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Account_ID) ProtoMessage() {}
func (x *Account_ID) ProtoReflect() protoreflect.Message {
mi := &file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Account_ID.ProtoReflect.Descriptor instead.
func (*Account_ID) Descriptor() ([]byte, []int) {
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP(), []int{5, 0}
}
func (x *Account_ID) GetName() string {
if x != nil {
return x.Name
}
return ""
}
var File_infra_qscheduler_qslib_protos_metrics_metrics_proto protoreflect.FileDescriptor
var file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDesc = []byte{
0x0a, 0x33, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2f, 0x71, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x72, 0x2f, 0x71, 0x73, 0x6c, 0x69, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f,
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x1f,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0xb3, 0x11, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a,
0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x1c, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b,
0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52,
0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a,
0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6c,
0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x73,
0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69,
0x73, 0x69, 0x6f, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18,
0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08,
0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x27,
0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63,
0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18,
0x0a, 0x20, 0x03, 0x28, 0x02, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x62,
0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74,
0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x6f, 0x74, 0x44,
0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x08, 0x63, 0x61, 0x74,
0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e,
0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x63,
0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x63, 0x61,
0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73,
0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x4f, 0x0a, 0x10, 0x65, 0x6e, 0x71, 0x75,
0x65, 0x75, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x64, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x54, 0x61, 0x73,
0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x65, 0x6e, 0x71, 0x75, 0x65, 0x75,
0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x4f, 0x0a, 0x10, 0x61, 0x73, 0x73,
0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x65, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x54, 0x61,
0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64,
0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x73, 0x73, 0x69, 0x67,
0x6e, 0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x52, 0x0a, 0x11, 0x70, 0x72,
0x65, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18,
0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e,
0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x72, 0x65, 0x65, 0x6d, 0x70,
0x74, 0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x10, 0x70, 0x72,
0x65, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x5e,
0x0a, 0x15, 0x72, 0x65, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x5f,
0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e,
0x74, 0x2e, 0x52, 0x65, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x14, 0x72, 0x65, 0x70, 0x72, 0x69, 0x6f,
0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x52,
0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x61,
0x69, 0x6c, 0x73, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x65, 0x74, 0x72,
0x69, 0x63, 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f,
0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00,
0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69,
0x6c, 0x73, 0x12, 0x55, 0x0a, 0x12, 0x75, 0x6e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64,
0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24,
0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x65,
0x6e, 0x74, 0x2e, 0x55, 0x6e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44, 0x65, 0x74,
0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x11, 0x75, 0x6e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e,
0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x25, 0x0a, 0x0f, 0x45, 0x6e, 0x71,
0x75, 0x65, 0x75, 0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04,
0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73,
0x1a, 0xd1, 0x01, 0x0a, 0x0f, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44, 0x65, 0x74,
0x61, 0x69, 0x6c, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f,
0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
0x52, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69,
0x72, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12,
0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x12,
0x27, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f,
0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x65, 0x6d, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x65,
0x6d, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x54, 0x61,
0x73, 0x6b, 0x49, 0x64, 0x1a, 0xc1, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x65, 0x6d, 0x70, 0x74,
0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x65,
0x65, 0x6d, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x65, 0x65, 0x6d, 0x70,
0x74, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a,
0x12, 0x70, 0x72, 0x65, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x73, 0x6b,
0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x65, 0x65, 0x6d,
0x70, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70,
0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2f, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x65, 0x6d,
0x70, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x70, 0x72, 0x65, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6e, 0x67,
0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x1a, 0x5c, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x72,
0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6f, 0x6c, 0x64, 0x50, 0x72, 0x69, 0x6f, 0x72,
0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72,
0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x50, 0x72,
0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x1a, 0xa9, 0x02, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x70, 0x6c,
0x65, 0x74, 0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x72,
0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e,
0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12,
0x1d, 0x0a, 0x0a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1b,
0x0a, 0x09, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x42, 0x6f, 0x74, 0x22, 0x94, 0x01, 0x0a, 0x06,
0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x4f, 0x54, 0x5f, 0x49,
0x44, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x44, 0x4c, 0x45, 0x5f, 0x54, 0x41,
0x53, 0x4b, 0x5f, 0x41, 0x42, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x52,
0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x41, 0x42, 0x53, 0x45,
0x4e, 0x54, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4e, 0x43, 0x4f, 0x4e, 0x53, 0x49, 0x53,
0x54, 0x45, 0x4e, 0x54, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x54, 0x41, 0x53,
0x4b, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4e, 0x43, 0x4f, 0x4e, 0x53, 0x49, 0x53, 0x54,
0x45, 0x4e, 0x54, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x42, 0x4f, 0x54,
0x10, 0x05, 0x1a, 0x13, 0x0a, 0x11, 0x55, 0x6e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64,
0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x5b, 0x0a, 0x0d, 0x45, 0x76, 0x65, 0x6e, 0x74,
0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x41, 0x54, 0x45,
0x47, 0x4f, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
0x10, 0x00, 0x12, 0x16, 0x0a, 0x11, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x53,
0x57, 0x41, 0x52, 0x4d, 0x49, 0x4e, 0x47, 0x10, 0x80, 0x02, 0x12, 0x18, 0x0a, 0x13, 0x43, 0x41,
0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x51, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45,
0x52, 0x10, 0x80, 0x04, 0x22, 0xbd, 0x01, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79,
0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x11, 0x53, 0x57, 0x41, 0x52, 0x4d, 0x49, 0x4e, 0x47, 0x5f,
0x45, 0x4e, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x81, 0x02, 0x12, 0x17, 0x0a, 0x12, 0x53,
0x57, 0x41, 0x52, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45,
0x44, 0x10, 0x82, 0x02, 0x12, 0x18, 0x0a, 0x13, 0x51, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c,
0x45, 0x52, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x45, 0x44, 0x10, 0x81, 0x04, 0x12, 0x19,
0x0a, 0x14, 0x51, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x45,
0x45, 0x4d, 0x50, 0x54, 0x45, 0x44, 0x10, 0x82, 0x04, 0x12, 0x1d, 0x0a, 0x18, 0x51, 0x53, 0x43,
0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49,
0x54, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x83, 0x04, 0x12, 0x1a, 0x0a, 0x15, 0x51, 0x53, 0x43, 0x48,
0x45, 0x44, 0x55, 0x4c, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x45,
0x44, 0x10, 0x84, 0x04, 0x42, 0x09, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4a,
0x04, 0x08, 0x0f, 0x10, 0x64, 0x22, 0x37, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69,
0x73, 0x74, 0x12, 0x2a, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x54, 0x61, 0x73,
0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xcf,
0x05, 0x0a, 0x0e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74,
0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65,
0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x54, 0x61, 0x73,
0x6b, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61,
0x73, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x65, 0x74, 0x72,
0x69, 0x63, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61,
0x74, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67,
0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x41, 0x0a, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x77, 0x6f,
0x72, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x53,
0x74, 0x61, 0x74, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x0b, 0x69, 0x64, 0x6c,
0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x47, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x6e,
0x69, 0x6e, 0x67, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65,
0x64, 0x75, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65,
0x72, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72,
0x73, 0x12, 0x3b, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x17,
0x0a, 0x07, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x70, 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18,
0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0xa6, 0x01, 0x0a, 0x04, 0x54, 0x61, 0x73, 0x6b,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12,
0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
0x62, 0x61, 0x73, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
0x09, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x31, 0x0a,
0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c,
0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x6f,
0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
0x1a, 0x49, 0x0a, 0x06, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61,
0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73,
0x6b, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20,
0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x33, 0x0a, 0x07, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63,
0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65,
0x22, 0xdf, 0x02, 0x0a, 0x04, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x20, 0x0a, 0x02, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e,
0x54, 0x61, 0x73, 0x6b, 0x2e, 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x70,
0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x65, 0x74, 0x72,
0x69, 0x63, 0x73, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x12, 0x32,
0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x44, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x49, 0x64, 0x12, 0x2f, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e,
0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x49, 0x44, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65,
0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65,
0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x4c, 0x61,
0x62, 0x65, 0x6c, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03,
0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73,
0x68, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70,
0x73, 0x68, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x18, 0x0a, 0x02, 0x49, 0x44, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x22, 0xed, 0x01, 0x0a, 0x06, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x22, 0x0a,
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x74, 0x72,
0x69, 0x63, 0x73, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x49, 0x44, 0x52, 0x02, 0x69,
0x64, 0x12, 0x21, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0d, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x04,
0x70, 0x6f, 0x6f, 0x6c, 0x12, 0x29, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e,
0x54, 0x61, 0x73, 0x6b, 0x2e, 0x49, 0x44, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12,
0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52,
0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73,
0x68, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70,
0x73, 0x68, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x18, 0x0a, 0x02, 0x49, 0x44, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x22, 0xc6, 0x01, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x74,
0x72, 0x69, 0x63, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x44, 0x52,
0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x50, 0x6f, 0x6f, 0x6c,
0x52, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63,
0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x02, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65,
0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x69, 0x6d,
0x65, 0x1a, 0x18, 0x0a, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a, 0x04, 0x50,
0x6f, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescOnce sync.Once
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescData = file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDesc
)
func file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescGZIP() []byte {
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescOnce.Do(func() {
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescData = protoimpl.X.CompressGZIP(file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescData)
})
return file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDescData
}
var file_infra_qscheduler_qslib_protos_metrics_metrics_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
var file_infra_qscheduler_qslib_protos_metrics_metrics_proto_goTypes = []interface{}{
(TaskEvent_EventCategory)(0), // 0: metrics.TaskEvent.EventCategory
(TaskEvent_EventType)(0), // 1: metrics.TaskEvent.EventType
(TaskEvent_CompletedDetails_Reason)(0), // 2: metrics.TaskEvent.CompletedDetails.Reason
(*TaskEvent)(nil), // 3: metrics.TaskEvent
(*EventList)(nil), // 4: metrics.EventList
(*SchedulerState)(nil), // 5: metrics.SchedulerState
(*Task)(nil), // 6: metrics.Task
(*Worker)(nil), // 7: metrics.Worker
(*Account)(nil), // 8: metrics.Account
(*Pool)(nil), // 9: metrics.Pool
(*TaskEvent_EnqueuedDetails)(nil), // 10: metrics.TaskEvent.EnqueuedDetails
(*TaskEvent_AssignedDetails)(nil), // 11: metrics.TaskEvent.AssignedDetails
(*TaskEvent_PreemptedDetails)(nil), // 12: metrics.TaskEvent.PreemptedDetails
(*TaskEvent_ReprioritizedDetails)(nil), // 13: metrics.TaskEvent.ReprioritizedDetails
(*TaskEvent_CompletedDetails)(nil), // 14: metrics.TaskEvent.CompletedDetails
(*TaskEvent_UnassignedDetails)(nil), // 15: metrics.TaskEvent.UnassignedDetails
(*SchedulerState_Task)(nil), // 16: metrics.SchedulerState.Task
(*SchedulerState_Worker)(nil), // 17: metrics.SchedulerState.Worker
(*SchedulerState_Account)(nil), // 18: metrics.SchedulerState.Account
(*Task_ID)(nil), // 19: metrics.Task.ID
(*Worker_ID)(nil), // 20: metrics.Worker.ID
(*Account_ID)(nil), // 21: metrics.Account.ID
(*timestamppb.Timestamp)(nil), // 22: google.protobuf.Timestamp
}
var file_infra_qscheduler_qslib_protos_metrics_metrics_proto_depIdxs = []int32{
1, // 0: metrics.TaskEvent.event_type:type_name -> metrics.TaskEvent.EventType
22, // 1: metrics.TaskEvent.time:type_name -> google.protobuf.Timestamp
0, // 2: metrics.TaskEvent.category:type_name -> metrics.TaskEvent.EventCategory
10, // 3: metrics.TaskEvent.enqueued_details:type_name -> metrics.TaskEvent.EnqueuedDetails
11, // 4: metrics.TaskEvent.assigned_details:type_name -> metrics.TaskEvent.AssignedDetails
12, // 5: metrics.TaskEvent.preempted_details:type_name -> metrics.TaskEvent.PreemptedDetails
13, // 6: metrics.TaskEvent.reprioritized_details:type_name -> metrics.TaskEvent.ReprioritizedDetails
14, // 7: metrics.TaskEvent.completed_details:type_name -> metrics.TaskEvent.CompletedDetails
15, // 8: metrics.TaskEvent.unassigned_details:type_name -> metrics.TaskEvent.UnassignedDetails
3, // 9: metrics.EventList.events:type_name -> metrics.TaskEvent
16, // 10: metrics.SchedulerState.queued_tasks:type_name -> metrics.SchedulerState.Task
16, // 11: metrics.SchedulerState.running_tasks:type_name -> metrics.SchedulerState.Task
17, // 12: metrics.SchedulerState.idle_workers:type_name -> metrics.SchedulerState.Worker
17, // 13: metrics.SchedulerState.running_workers:type_name -> metrics.SchedulerState.Worker
18, // 14: metrics.SchedulerState.accounts:type_name -> metrics.SchedulerState.Account
22, // 15: metrics.SchedulerState.time:type_name -> google.protobuf.Timestamp
19, // 16: metrics.Task.id:type_name -> metrics.Task.ID
9, // 17: metrics.Task.pool:type_name -> metrics.Pool
21, // 18: metrics.Task.account_id:type_name -> metrics.Account.ID
20, // 19: metrics.Task.worker_id:type_name -> metrics.Worker.ID
22, // 20: metrics.Task.snapshot_time:type_name -> google.protobuf.Timestamp
20, // 21: metrics.Worker.id:type_name -> metrics.Worker.ID
9, // 22: metrics.Worker.pool:type_name -> metrics.Pool
19, // 23: metrics.Worker.task_id:type_name -> metrics.Task.ID
22, // 24: metrics.Worker.snapshot_time:type_name -> google.protobuf.Timestamp
21, // 25: metrics.Account.id:type_name -> metrics.Account.ID
9, // 26: metrics.Account.pool:type_name -> metrics.Pool
22, // 27: metrics.Account.snapshot_time:type_name -> google.protobuf.Timestamp
2, // 28: metrics.TaskEvent.CompletedDetails.reason:type_name -> metrics.TaskEvent.CompletedDetails.Reason
29, // [29:29] is the sub-list for method output_type
29, // [29:29] is the sub-list for method input_type
29, // [29:29] is the sub-list for extension type_name
29, // [29:29] is the sub-list for extension extendee
0, // [0:29] is the sub-list for field type_name
}
func init() { file_infra_qscheduler_qslib_protos_metrics_metrics_proto_init() }
func file_infra_qscheduler_qslib_protos_metrics_metrics_proto_init() {
if File_infra_qscheduler_qslib_protos_metrics_metrics_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TaskEvent); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EventList); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerState); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Task); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Worker); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Account); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Pool); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TaskEvent_EnqueuedDetails); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TaskEvent_AssignedDetails); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TaskEvent_PreemptedDetails); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TaskEvent_ReprioritizedDetails); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TaskEvent_CompletedDetails); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TaskEvent_UnassignedDetails); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerState_Task); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerState_Worker); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulerState_Account); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Task_ID); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Worker_ID); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Account_ID); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes[0].OneofWrappers = []interface{}{
(*TaskEvent_EnqueuedDetails_)(nil),
(*TaskEvent_AssignedDetails_)(nil),
(*TaskEvent_PreemptedDetails_)(nil),
(*TaskEvent_ReprioritizedDetails_)(nil),
(*TaskEvent_CompletedDetails_)(nil),
(*TaskEvent_UnassignedDetails_)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDesc,
NumEnums: 3,
NumMessages: 19,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_infra_qscheduler_qslib_protos_metrics_metrics_proto_goTypes,
DependencyIndexes: file_infra_qscheduler_qslib_protos_metrics_metrics_proto_depIdxs,
EnumInfos: file_infra_qscheduler_qslib_protos_metrics_metrics_proto_enumTypes,
MessageInfos: file_infra_qscheduler_qslib_protos_metrics_metrics_proto_msgTypes,
}.Build()
File_infra_qscheduler_qslib_protos_metrics_metrics_proto = out.File
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_rawDesc = nil
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_goTypes = nil
file_infra_qscheduler_qslib_protos_metrics_metrics_proto_depIdxs = nil
}