github.com/grafana/pyroscope@v1.18.0/pkg/segmentwriter/client/distributor/placement/adaptiveplacement/adaptive_placementpb/adaptive_placement.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.36.10
     4  // 	protoc        (unknown)
     5  // source: segmentwriter/client/distributor/placement/adaptiveplacement/adaptive_placementpb/adaptive_placement.proto
     6  
     7  package adaptive_placementpb
     8  
     9  import (
    10  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    11  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    12  	reflect "reflect"
    13  	sync "sync"
    14  	unsafe "unsafe"
    15  )
    16  
    17  const (
    18  	// Verify that this generated code is sufficiently up-to-date.
    19  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    20  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    21  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    22  )
    23  
    24  type LoadBalancing int32
    25  
    26  const (
    27  	LoadBalancing_LOAD_BALANCING_UNSPECIFIED LoadBalancing = 0
    28  	LoadBalancing_LOAD_BALANCING_FINGERPRINT LoadBalancing = 1
    29  	LoadBalancing_LOAD_BALANCING_ROUND_ROBIN LoadBalancing = 2
    30  )
    31  
    32  // Enum value maps for LoadBalancing.
    33  var (
    34  	LoadBalancing_name = map[int32]string{
    35  		0: "LOAD_BALANCING_UNSPECIFIED",
    36  		1: "LOAD_BALANCING_FINGERPRINT",
    37  		2: "LOAD_BALANCING_ROUND_ROBIN",
    38  	}
    39  	LoadBalancing_value = map[string]int32{
    40  		"LOAD_BALANCING_UNSPECIFIED": 0,
    41  		"LOAD_BALANCING_FINGERPRINT": 1,
    42  		"LOAD_BALANCING_ROUND_ROBIN": 2,
    43  	}
    44  )
    45  
    46  func (x LoadBalancing) Enum() *LoadBalancing {
    47  	p := new(LoadBalancing)
    48  	*p = x
    49  	return p
    50  }
    51  
    52  func (x LoadBalancing) String() string {
    53  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    54  }
    55  
    56  func (LoadBalancing) Descriptor() protoreflect.EnumDescriptor {
    57  	return file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_enumTypes[0].Descriptor()
    58  }
    59  
    60  func (LoadBalancing) Type() protoreflect.EnumType {
    61  	return &file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_enumTypes[0]
    62  }
    63  
    64  func (x LoadBalancing) Number() protoreflect.EnumNumber {
    65  	return protoreflect.EnumNumber(x)
    66  }
    67  
    68  // Deprecated: Use LoadBalancing.Descriptor instead.
    69  func (LoadBalancing) EnumDescriptor() ([]byte, []int) {
    70  	return file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDescGZIP(), []int{0}
    71  }
    72  
    73  // DistributionStats includes the data the Placement is built based on.
    74  type DistributionStats struct {
    75  	state         protoimpl.MessageState `protogen:"open.v1"`
    76  	Tenants       []*TenantStats         `protobuf:"bytes,1,rep,name=tenants,proto3" json:"tenants,omitempty"`
    77  	Datasets      []*DatasetStats        `protobuf:"bytes,2,rep,name=datasets,proto3" json:"datasets,omitempty"`
    78  	Shards        []*ShardStats          `protobuf:"bytes,3,rep,name=shards,proto3" json:"shards,omitempty"`
    79  	CreatedAt     int64                  `protobuf:"varint,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
    80  	unknownFields protoimpl.UnknownFields
    81  	sizeCache     protoimpl.SizeCache
    82  }
    83  
    84  func (x *DistributionStats) Reset() {
    85  	*x = DistributionStats{}
    86  	mi := &file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes[0]
    87  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    88  	ms.StoreMessageInfo(mi)
    89  }
    90  
    91  func (x *DistributionStats) String() string {
    92  	return protoimpl.X.MessageStringOf(x)
    93  }
    94  
    95  func (*DistributionStats) ProtoMessage() {}
    96  
    97  func (x *DistributionStats) ProtoReflect() protoreflect.Message {
    98  	mi := &file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes[0]
    99  	if x != nil {
   100  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   101  		if ms.LoadMessageInfo() == nil {
   102  			ms.StoreMessageInfo(mi)
   103  		}
   104  		return ms
   105  	}
   106  	return mi.MessageOf(x)
   107  }
   108  
   109  // Deprecated: Use DistributionStats.ProtoReflect.Descriptor instead.
   110  func (*DistributionStats) Descriptor() ([]byte, []int) {
   111  	return file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDescGZIP(), []int{0}
   112  }
   113  
   114  func (x *DistributionStats) GetTenants() []*TenantStats {
   115  	if x != nil {
   116  		return x.Tenants
   117  	}
   118  	return nil
   119  }
   120  
   121  func (x *DistributionStats) GetDatasets() []*DatasetStats {
   122  	if x != nil {
   123  		return x.Datasets
   124  	}
   125  	return nil
   126  }
   127  
   128  func (x *DistributionStats) GetShards() []*ShardStats {
   129  	if x != nil {
   130  		return x.Shards
   131  	}
   132  	return nil
   133  }
   134  
   135  func (x *DistributionStats) GetCreatedAt() int64 {
   136  	if x != nil {
   137  		return x.CreatedAt
   138  	}
   139  	return 0
   140  }
   141  
   142  type TenantStats struct {
   143  	state         protoimpl.MessageState `protogen:"open.v1"`
   144  	TenantId      string                 `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
   145  	unknownFields protoimpl.UnknownFields
   146  	sizeCache     protoimpl.SizeCache
   147  }
   148  
   149  func (x *TenantStats) Reset() {
   150  	*x = TenantStats{}
   151  	mi := &file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes[1]
   152  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   153  	ms.StoreMessageInfo(mi)
   154  }
   155  
   156  func (x *TenantStats) String() string {
   157  	return protoimpl.X.MessageStringOf(x)
   158  }
   159  
   160  func (*TenantStats) ProtoMessage() {}
   161  
   162  func (x *TenantStats) ProtoReflect() protoreflect.Message {
   163  	mi := &file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes[1]
   164  	if x != nil {
   165  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   166  		if ms.LoadMessageInfo() == nil {
   167  			ms.StoreMessageInfo(mi)
   168  		}
   169  		return ms
   170  	}
   171  	return mi.MessageOf(x)
   172  }
   173  
   174  // Deprecated: Use TenantStats.ProtoReflect.Descriptor instead.
   175  func (*TenantStats) Descriptor() ([]byte, []int) {
   176  	return file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDescGZIP(), []int{1}
   177  }
   178  
   179  func (x *TenantStats) GetTenantId() string {
   180  	if x != nil {
   181  		return x.TenantId
   182  	}
   183  	return ""
   184  }
   185  
   186  type DatasetStats struct {
   187  	state  protoimpl.MessageState `protogen:"open.v1"`
   188  	Tenant uint32                 `protobuf:"varint,1,opt,name=tenant,proto3" json:"tenant,omitempty"` // Reference to TenantStats.
   189  	Name   string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   190  	// Shard value is a reference to ShardStats.
   191  	Shards []uint32 `protobuf:"varint,3,rep,packed,name=shards,proto3" json:"shards,omitempty"`
   192  	// Data rate in bytes per second for each shard.
   193  	// The dataset size is measured after being encoded
   194  	// in the block wire format.
   195  	Usage []uint64 `protobuf:"varint,4,rep,packed,name=usage,proto3" json:"usage,omitempty"`
   196  	// Standard deviation of the data rate across shards
   197  	// aggregated within a sliding time window.
   198  	StdDev        uint64 `protobuf:"varint,5,opt,name=std_dev,json=stdDev,proto3" json:"std_dev,omitempty"`
   199  	unknownFields protoimpl.UnknownFields
   200  	sizeCache     protoimpl.SizeCache
   201  }
   202  
   203  func (x *DatasetStats) Reset() {
   204  	*x = DatasetStats{}
   205  	mi := &file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes[2]
   206  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   207  	ms.StoreMessageInfo(mi)
   208  }
   209  
   210  func (x *DatasetStats) String() string {
   211  	return protoimpl.X.MessageStringOf(x)
   212  }
   213  
   214  func (*DatasetStats) ProtoMessage() {}
   215  
   216  func (x *DatasetStats) ProtoReflect() protoreflect.Message {
   217  	mi := &file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes[2]
   218  	if x != nil {
   219  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   220  		if ms.LoadMessageInfo() == nil {
   221  			ms.StoreMessageInfo(mi)
   222  		}
   223  		return ms
   224  	}
   225  	return mi.MessageOf(x)
   226  }
   227  
   228  // Deprecated: Use DatasetStats.ProtoReflect.Descriptor instead.
   229  func (*DatasetStats) Descriptor() ([]byte, []int) {
   230  	return file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDescGZIP(), []int{2}
   231  }
   232  
   233  func (x *DatasetStats) GetTenant() uint32 {
   234  	if x != nil {
   235  		return x.Tenant
   236  	}
   237  	return 0
   238  }
   239  
   240  func (x *DatasetStats) GetName() string {
   241  	if x != nil {
   242  		return x.Name
   243  	}
   244  	return ""
   245  }
   246  
   247  func (x *DatasetStats) GetShards() []uint32 {
   248  	if x != nil {
   249  		return x.Shards
   250  	}
   251  	return nil
   252  }
   253  
   254  func (x *DatasetStats) GetUsage() []uint64 {
   255  	if x != nil {
   256  		return x.Usage
   257  	}
   258  	return nil
   259  }
   260  
   261  func (x *DatasetStats) GetStdDev() uint64 {
   262  	if x != nil {
   263  		return x.StdDev
   264  	}
   265  	return 0
   266  }
   267  
   268  type ShardStats struct {
   269  	state protoimpl.MessageState `protogen:"open.v1"`
   270  	// Shard ID.
   271  	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   272  	// Owner represents the node that hosted the shard.
   273  	// There may be multiple entries for a single shard
   274  	// if it was relocated across different nodes.
   275  	Owner         string `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"`
   276  	unknownFields protoimpl.UnknownFields
   277  	sizeCache     protoimpl.SizeCache
   278  }
   279  
   280  func (x *ShardStats) Reset() {
   281  	*x = ShardStats{}
   282  	mi := &file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes[3]
   283  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   284  	ms.StoreMessageInfo(mi)
   285  }
   286  
   287  func (x *ShardStats) String() string {
   288  	return protoimpl.X.MessageStringOf(x)
   289  }
   290  
   291  func (*ShardStats) ProtoMessage() {}
   292  
   293  func (x *ShardStats) ProtoReflect() protoreflect.Message {
   294  	mi := &file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes[3]
   295  	if x != nil {
   296  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   297  		if ms.LoadMessageInfo() == nil {
   298  			ms.StoreMessageInfo(mi)
   299  		}
   300  		return ms
   301  	}
   302  	return mi.MessageOf(x)
   303  }
   304  
   305  // Deprecated: Use ShardStats.ProtoReflect.Descriptor instead.
   306  func (*ShardStats) Descriptor() ([]byte, []int) {
   307  	return file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDescGZIP(), []int{3}
   308  }
   309  
   310  func (x *ShardStats) GetId() uint32 {
   311  	if x != nil {
   312  		return x.Id
   313  	}
   314  	return 0
   315  }
   316  
   317  func (x *ShardStats) GetOwner() string {
   318  	if x != nil {
   319  		return x.Owner
   320  	}
   321  	return ""
   322  }
   323  
   324  type PlacementRules struct {
   325  	state         protoimpl.MessageState `protogen:"open.v1"`
   326  	Tenants       []*TenantPlacement     `protobuf:"bytes,1,rep,name=tenants,proto3" json:"tenants,omitempty"`
   327  	Datasets      []*DatasetPlacement    `protobuf:"bytes,2,rep,name=datasets,proto3" json:"datasets,omitempty"`
   328  	CreatedAt     int64                  `protobuf:"varint,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
   329  	unknownFields protoimpl.UnknownFields
   330  	sizeCache     protoimpl.SizeCache
   331  }
   332  
   333  func (x *PlacementRules) Reset() {
   334  	*x = PlacementRules{}
   335  	mi := &file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes[4]
   336  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   337  	ms.StoreMessageInfo(mi)
   338  }
   339  
   340  func (x *PlacementRules) String() string {
   341  	return protoimpl.X.MessageStringOf(x)
   342  }
   343  
   344  func (*PlacementRules) ProtoMessage() {}
   345  
   346  func (x *PlacementRules) ProtoReflect() protoreflect.Message {
   347  	mi := &file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes[4]
   348  	if x != nil {
   349  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   350  		if ms.LoadMessageInfo() == nil {
   351  			ms.StoreMessageInfo(mi)
   352  		}
   353  		return ms
   354  	}
   355  	return mi.MessageOf(x)
   356  }
   357  
   358  // Deprecated: Use PlacementRules.ProtoReflect.Descriptor instead.
   359  func (*PlacementRules) Descriptor() ([]byte, []int) {
   360  	return file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDescGZIP(), []int{4}
   361  }
   362  
   363  func (x *PlacementRules) GetTenants() []*TenantPlacement {
   364  	if x != nil {
   365  		return x.Tenants
   366  	}
   367  	return nil
   368  }
   369  
   370  func (x *PlacementRules) GetDatasets() []*DatasetPlacement {
   371  	if x != nil {
   372  		return x.Datasets
   373  	}
   374  	return nil
   375  }
   376  
   377  func (x *PlacementRules) GetCreatedAt() int64 {
   378  	if x != nil {
   379  		return x.CreatedAt
   380  	}
   381  	return 0
   382  }
   383  
   384  type TenantPlacement struct {
   385  	state         protoimpl.MessageState `protogen:"open.v1"`
   386  	TenantId      string                 `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
   387  	unknownFields protoimpl.UnknownFields
   388  	sizeCache     protoimpl.SizeCache
   389  }
   390  
   391  func (x *TenantPlacement) Reset() {
   392  	*x = TenantPlacement{}
   393  	mi := &file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes[5]
   394  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   395  	ms.StoreMessageInfo(mi)
   396  }
   397  
   398  func (x *TenantPlacement) String() string {
   399  	return protoimpl.X.MessageStringOf(x)
   400  }
   401  
   402  func (*TenantPlacement) ProtoMessage() {}
   403  
   404  func (x *TenantPlacement) ProtoReflect() protoreflect.Message {
   405  	mi := &file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes[5]
   406  	if x != nil {
   407  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   408  		if ms.LoadMessageInfo() == nil {
   409  			ms.StoreMessageInfo(mi)
   410  		}
   411  		return ms
   412  	}
   413  	return mi.MessageOf(x)
   414  }
   415  
   416  // Deprecated: Use TenantPlacement.ProtoReflect.Descriptor instead.
   417  func (*TenantPlacement) Descriptor() ([]byte, []int) {
   418  	return file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDescGZIP(), []int{5}
   419  }
   420  
   421  func (x *TenantPlacement) GetTenantId() string {
   422  	if x != nil {
   423  		return x.TenantId
   424  	}
   425  	return ""
   426  }
   427  
   428  type DatasetPlacement struct {
   429  	state             protoimpl.MessageState `protogen:"open.v1"`
   430  	Tenant            uint32                 `protobuf:"varint,1,opt,name=tenant,proto3" json:"tenant,omitempty"`
   431  	Name              string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   432  	TenantShardLimit  uint64                 `protobuf:"varint,3,opt,name=tenant_shard_limit,json=tenantShardLimit,proto3" json:"tenant_shard_limit,omitempty"`
   433  	DatasetShardLimit uint64                 `protobuf:"varint,4,opt,name=dataset_shard_limit,json=datasetShardLimit,proto3" json:"dataset_shard_limit,omitempty"`
   434  	LoadBalancing     LoadBalancing          `protobuf:"varint,5,opt,name=load_balancing,json=loadBalancing,proto3,enum=adaptive_placement.LoadBalancing" json:"load_balancing,omitempty"`
   435  	unknownFields     protoimpl.UnknownFields
   436  	sizeCache         protoimpl.SizeCache
   437  }
   438  
   439  func (x *DatasetPlacement) Reset() {
   440  	*x = DatasetPlacement{}
   441  	mi := &file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes[6]
   442  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   443  	ms.StoreMessageInfo(mi)
   444  }
   445  
   446  func (x *DatasetPlacement) String() string {
   447  	return protoimpl.X.MessageStringOf(x)
   448  }
   449  
   450  func (*DatasetPlacement) ProtoMessage() {}
   451  
   452  func (x *DatasetPlacement) ProtoReflect() protoreflect.Message {
   453  	mi := &file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes[6]
   454  	if x != nil {
   455  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   456  		if ms.LoadMessageInfo() == nil {
   457  			ms.StoreMessageInfo(mi)
   458  		}
   459  		return ms
   460  	}
   461  	return mi.MessageOf(x)
   462  }
   463  
   464  // Deprecated: Use DatasetPlacement.ProtoReflect.Descriptor instead.
   465  func (*DatasetPlacement) Descriptor() ([]byte, []int) {
   466  	return file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDescGZIP(), []int{6}
   467  }
   468  
   469  func (x *DatasetPlacement) GetTenant() uint32 {
   470  	if x != nil {
   471  		return x.Tenant
   472  	}
   473  	return 0
   474  }
   475  
   476  func (x *DatasetPlacement) GetName() string {
   477  	if x != nil {
   478  		return x.Name
   479  	}
   480  	return ""
   481  }
   482  
   483  func (x *DatasetPlacement) GetTenantShardLimit() uint64 {
   484  	if x != nil {
   485  		return x.TenantShardLimit
   486  	}
   487  	return 0
   488  }
   489  
   490  func (x *DatasetPlacement) GetDatasetShardLimit() uint64 {
   491  	if x != nil {
   492  		return x.DatasetShardLimit
   493  	}
   494  	return 0
   495  }
   496  
   497  func (x *DatasetPlacement) GetLoadBalancing() LoadBalancing {
   498  	if x != nil {
   499  		return x.LoadBalancing
   500  	}
   501  	return LoadBalancing_LOAD_BALANCING_UNSPECIFIED
   502  }
   503  
   504  var File_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto protoreflect.FileDescriptor
   505  
   506  const file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDesc = "" +
   507  	"\n" +
   508  	"jsegmentwriter/client/distributor/placement/adaptiveplacement/adaptive_placementpb/adaptive_placement.proto\x12\x12adaptive_placement\"\xe3\x01\n" +
   509  	"\x11DistributionStats\x129\n" +
   510  	"\atenants\x18\x01 \x03(\v2\x1f.adaptive_placement.TenantStatsR\atenants\x12<\n" +
   511  	"\bdatasets\x18\x02 \x03(\v2 .adaptive_placement.DatasetStatsR\bdatasets\x126\n" +
   512  	"\x06shards\x18\x03 \x03(\v2\x1e.adaptive_placement.ShardStatsR\x06shards\x12\x1d\n" +
   513  	"\n" +
   514  	"created_at\x18\x04 \x01(\x03R\tcreatedAt\"*\n" +
   515  	"\vTenantStats\x12\x1b\n" +
   516  	"\ttenant_id\x18\x01 \x01(\tR\btenantId\"\x81\x01\n" +
   517  	"\fDatasetStats\x12\x16\n" +
   518  	"\x06tenant\x18\x01 \x01(\rR\x06tenant\x12\x12\n" +
   519  	"\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n" +
   520  	"\x06shards\x18\x03 \x03(\rR\x06shards\x12\x14\n" +
   521  	"\x05usage\x18\x04 \x03(\x04R\x05usage\x12\x17\n" +
   522  	"\astd_dev\x18\x05 \x01(\x04R\x06stdDev\"2\n" +
   523  	"\n" +
   524  	"ShardStats\x12\x0e\n" +
   525  	"\x02id\x18\x01 \x01(\rR\x02id\x12\x14\n" +
   526  	"\x05owner\x18\x02 \x01(\tR\x05owner\"\xb0\x01\n" +
   527  	"\x0ePlacementRules\x12=\n" +
   528  	"\atenants\x18\x01 \x03(\v2#.adaptive_placement.TenantPlacementR\atenants\x12@\n" +
   529  	"\bdatasets\x18\x02 \x03(\v2$.adaptive_placement.DatasetPlacementR\bdatasets\x12\x1d\n" +
   530  	"\n" +
   531  	"created_at\x18\x03 \x01(\x03R\tcreatedAt\".\n" +
   532  	"\x0fTenantPlacement\x12\x1b\n" +
   533  	"\ttenant_id\x18\x01 \x01(\tR\btenantId\"\xe6\x01\n" +
   534  	"\x10DatasetPlacement\x12\x16\n" +
   535  	"\x06tenant\x18\x01 \x01(\rR\x06tenant\x12\x12\n" +
   536  	"\x04name\x18\x02 \x01(\tR\x04name\x12,\n" +
   537  	"\x12tenant_shard_limit\x18\x03 \x01(\x04R\x10tenantShardLimit\x12.\n" +
   538  	"\x13dataset_shard_limit\x18\x04 \x01(\x04R\x11datasetShardLimit\x12H\n" +
   539  	"\x0eload_balancing\x18\x05 \x01(\x0e2!.adaptive_placement.LoadBalancingR\rloadBalancing*o\n" +
   540  	"\rLoadBalancing\x12\x1e\n" +
   541  	"\x1aLOAD_BALANCING_UNSPECIFIED\x10\x00\x12\x1e\n" +
   542  	"\x1aLOAD_BALANCING_FINGERPRINT\x10\x01\x12\x1e\n" +
   543  	"\x1aLOAD_BALANCING_ROUND_ROBIN\x10\x02B\x88\x02\n" +
   544  	"\x16com.adaptive_placementB\x16AdaptivePlacementProtoP\x01Zrgithub.com/grafana/pyroscope/pkg/segmentwriter/client/distributor/placement/adaptiveplacement/adaptive_placementpb\xa2\x02\x03AXX\xaa\x02\x11AdaptivePlacement\xca\x02\x11AdaptivePlacement\xe2\x02\x1dAdaptivePlacement\\GPBMetadata\xea\x02\x11AdaptivePlacementb\x06proto3"
   545  
   546  var (
   547  	file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDescOnce sync.Once
   548  	file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDescData []byte
   549  )
   550  
   551  func file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDescGZIP() []byte {
   552  	file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDescOnce.Do(func() {
   553  		file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDesc), len(file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDesc)))
   554  	})
   555  	return file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDescData
   556  }
   557  
   558  var file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
   559  var file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
   560  var file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_goTypes = []any{
   561  	(LoadBalancing)(0),        // 0: adaptive_placement.LoadBalancing
   562  	(*DistributionStats)(nil), // 1: adaptive_placement.DistributionStats
   563  	(*TenantStats)(nil),       // 2: adaptive_placement.TenantStats
   564  	(*DatasetStats)(nil),      // 3: adaptive_placement.DatasetStats
   565  	(*ShardStats)(nil),        // 4: adaptive_placement.ShardStats
   566  	(*PlacementRules)(nil),    // 5: adaptive_placement.PlacementRules
   567  	(*TenantPlacement)(nil),   // 6: adaptive_placement.TenantPlacement
   568  	(*DatasetPlacement)(nil),  // 7: adaptive_placement.DatasetPlacement
   569  }
   570  var file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_depIdxs = []int32{
   571  	2, // 0: adaptive_placement.DistributionStats.tenants:type_name -> adaptive_placement.TenantStats
   572  	3, // 1: adaptive_placement.DistributionStats.datasets:type_name -> adaptive_placement.DatasetStats
   573  	4, // 2: adaptive_placement.DistributionStats.shards:type_name -> adaptive_placement.ShardStats
   574  	6, // 3: adaptive_placement.PlacementRules.tenants:type_name -> adaptive_placement.TenantPlacement
   575  	7, // 4: adaptive_placement.PlacementRules.datasets:type_name -> adaptive_placement.DatasetPlacement
   576  	0, // 5: adaptive_placement.DatasetPlacement.load_balancing:type_name -> adaptive_placement.LoadBalancing
   577  	6, // [6:6] is the sub-list for method output_type
   578  	6, // [6:6] is the sub-list for method input_type
   579  	6, // [6:6] is the sub-list for extension type_name
   580  	6, // [6:6] is the sub-list for extension extendee
   581  	0, // [0:6] is the sub-list for field type_name
   582  }
   583  
   584  func init() {
   585  	file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_init()
   586  }
   587  func file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_init() {
   588  	if File_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto != nil {
   589  		return
   590  	}
   591  	type x struct{}
   592  	out := protoimpl.TypeBuilder{
   593  		File: protoimpl.DescBuilder{
   594  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   595  			RawDescriptor: unsafe.Slice(unsafe.StringData(file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDesc), len(file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_rawDesc)),
   596  			NumEnums:      1,
   597  			NumMessages:   7,
   598  			NumExtensions: 0,
   599  			NumServices:   0,
   600  		},
   601  		GoTypes:           file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_goTypes,
   602  		DependencyIndexes: file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_depIdxs,
   603  		EnumInfos:         file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_enumTypes,
   604  		MessageInfos:      file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_msgTypes,
   605  	}.Build()
   606  	File_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto = out.File
   607  	file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_goTypes = nil
   608  	file_segmentwriter_client_distributor_placement_adaptiveplacement_adaptive_placementpb_adaptive_placement_proto_depIdxs = nil
   609  }