github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/go-control-plane/envoy/config/endpoint/v3/load_report.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // versions: 3 // protoc-gen-go v1.25.0 4 // protoc v3.16.0 5 // source: envoy/config/endpoint/v3/load_report.proto 6 7 package envoy_config_endpoint_v3 8 9 import ( 10 _ "github.com/cncf/xds/go/udpa/annotations" 11 v3 "github.com/hxx258456/ccgo/go-control-plane/envoy/config/core/v3" 12 _ "github.com/envoyproxy/protoc-gen-validate/validate" 13 proto "github.com/golang/protobuf/proto" 14 duration "github.com/golang/protobuf/ptypes/duration" 15 _struct "github.com/golang/protobuf/ptypes/struct" 16 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 17 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 18 reflect "reflect" 19 sync "sync" 20 ) 21 22 const ( 23 // Verify that this generated code is sufficiently up-to-date. 24 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 25 // Verify that runtime/protoimpl is sufficiently up-to-date. 26 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 27 ) 28 29 // This is a compile-time assertion that a sufficiently up-to-date version 30 // of the legacy proto package is being used. 31 const _ = proto.ProtoPackageIsVersion4 32 33 // These are stats Envoy reports to the management server at a frequency defined by 34 // :ref:`LoadStatsResponse.load_reporting_interval<envoy_v3_api_field_service.load_stats.v3.LoadStatsResponse.load_reporting_interval>`. 35 // Stats per upstream region/zone and optionally per subzone. 36 // [#next-free-field: 9] 37 type UpstreamLocalityStats struct { 38 state protoimpl.MessageState 39 sizeCache protoimpl.SizeCache 40 unknownFields protoimpl.UnknownFields 41 42 // Name of zone, region and optionally endpoint group these metrics were 43 // collected from. Zone and region names could be empty if unknown. 44 Locality *v3.Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"` 45 // The total number of requests successfully completed by the endpoints in the 46 // locality. 47 TotalSuccessfulRequests uint64 `protobuf:"varint,2,opt,name=total_successful_requests,json=totalSuccessfulRequests,proto3" json:"total_successful_requests,omitempty"` 48 // The total number of unfinished requests 49 TotalRequestsInProgress uint64 `protobuf:"varint,3,opt,name=total_requests_in_progress,json=totalRequestsInProgress,proto3" json:"total_requests_in_progress,omitempty"` 50 // The total number of requests that failed due to errors at the endpoint, 51 // aggregated over all endpoints in the locality. 52 TotalErrorRequests uint64 `protobuf:"varint,4,opt,name=total_error_requests,json=totalErrorRequests,proto3" json:"total_error_requests,omitempty"` 53 // The total number of requests that were issued by this Envoy since 54 // the last report. This information is aggregated over all the 55 // upstream endpoints in the locality. 56 TotalIssuedRequests uint64 `protobuf:"varint,8,opt,name=total_issued_requests,json=totalIssuedRequests,proto3" json:"total_issued_requests,omitempty"` 57 // Stats for multi-dimensional load balancing. 58 LoadMetricStats []*EndpointLoadMetricStats `protobuf:"bytes,5,rep,name=load_metric_stats,json=loadMetricStats,proto3" json:"load_metric_stats,omitempty"` 59 // Endpoint granularity stats information for this locality. This information 60 // is populated if the Server requests it by setting 61 // :ref:`LoadStatsResponse.report_endpoint_granularity<envoy_v3_api_field_service.load_stats.v3.LoadStatsResponse.report_endpoint_granularity>`. 62 UpstreamEndpointStats []*UpstreamEndpointStats `protobuf:"bytes,7,rep,name=upstream_endpoint_stats,json=upstreamEndpointStats,proto3" json:"upstream_endpoint_stats,omitempty"` 63 // [#not-implemented-hide:] The priority of the endpoint group these metrics 64 // were collected from. 65 Priority uint32 `protobuf:"varint,6,opt,name=priority,proto3" json:"priority,omitempty"` 66 } 67 68 func (x *UpstreamLocalityStats) Reset() { 69 *x = UpstreamLocalityStats{} 70 if protoimpl.UnsafeEnabled { 71 mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[0] 72 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 73 ms.StoreMessageInfo(mi) 74 } 75 } 76 77 func (x *UpstreamLocalityStats) String() string { 78 return protoimpl.X.MessageStringOf(x) 79 } 80 81 func (*UpstreamLocalityStats) ProtoMessage() {} 82 83 func (x *UpstreamLocalityStats) ProtoReflect() protoreflect.Message { 84 mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[0] 85 if protoimpl.UnsafeEnabled && x != nil { 86 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 87 if ms.LoadMessageInfo() == nil { 88 ms.StoreMessageInfo(mi) 89 } 90 return ms 91 } 92 return mi.MessageOf(x) 93 } 94 95 // Deprecated: Use UpstreamLocalityStats.ProtoReflect.Descriptor instead. 96 func (*UpstreamLocalityStats) Descriptor() ([]byte, []int) { 97 return file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP(), []int{0} 98 } 99 100 func (x *UpstreamLocalityStats) GetLocality() *v3.Locality { 101 if x != nil { 102 return x.Locality 103 } 104 return nil 105 } 106 107 func (x *UpstreamLocalityStats) GetTotalSuccessfulRequests() uint64 { 108 if x != nil { 109 return x.TotalSuccessfulRequests 110 } 111 return 0 112 } 113 114 func (x *UpstreamLocalityStats) GetTotalRequestsInProgress() uint64 { 115 if x != nil { 116 return x.TotalRequestsInProgress 117 } 118 return 0 119 } 120 121 func (x *UpstreamLocalityStats) GetTotalErrorRequests() uint64 { 122 if x != nil { 123 return x.TotalErrorRequests 124 } 125 return 0 126 } 127 128 func (x *UpstreamLocalityStats) GetTotalIssuedRequests() uint64 { 129 if x != nil { 130 return x.TotalIssuedRequests 131 } 132 return 0 133 } 134 135 func (x *UpstreamLocalityStats) GetLoadMetricStats() []*EndpointLoadMetricStats { 136 if x != nil { 137 return x.LoadMetricStats 138 } 139 return nil 140 } 141 142 func (x *UpstreamLocalityStats) GetUpstreamEndpointStats() []*UpstreamEndpointStats { 143 if x != nil { 144 return x.UpstreamEndpointStats 145 } 146 return nil 147 } 148 149 func (x *UpstreamLocalityStats) GetPriority() uint32 { 150 if x != nil { 151 return x.Priority 152 } 153 return 0 154 } 155 156 // [#next-free-field: 8] 157 type UpstreamEndpointStats struct { 158 state protoimpl.MessageState 159 sizeCache protoimpl.SizeCache 160 unknownFields protoimpl.UnknownFields 161 162 // Upstream host address. 163 Address *v3.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 164 // Opaque and implementation dependent metadata of the 165 // endpoint. Envoy will pass this directly to the management server. 166 Metadata *_struct.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` 167 // The total number of requests successfully completed by the endpoints in the 168 // locality. These include non-5xx responses for HTTP, where errors 169 // originate at the client and the endpoint responded successfully. For gRPC, 170 // the grpc-status values are those not covered by total_error_requests below. 171 TotalSuccessfulRequests uint64 `protobuf:"varint,2,opt,name=total_successful_requests,json=totalSuccessfulRequests,proto3" json:"total_successful_requests,omitempty"` 172 // The total number of unfinished requests for this endpoint. 173 TotalRequestsInProgress uint64 `protobuf:"varint,3,opt,name=total_requests_in_progress,json=totalRequestsInProgress,proto3" json:"total_requests_in_progress,omitempty"` 174 // The total number of requests that failed due to errors at the endpoint. 175 // For HTTP these are responses with 5xx status codes and for gRPC the 176 // grpc-status values: 177 // 178 // - DeadlineExceeded 179 // - Unimplemented 180 // - Internal 181 // - Unavailable 182 // - Unknown 183 // - DataLoss 184 TotalErrorRequests uint64 `protobuf:"varint,4,opt,name=total_error_requests,json=totalErrorRequests,proto3" json:"total_error_requests,omitempty"` 185 // The total number of requests that were issued to this endpoint 186 // since the last report. A single TCP connection, HTTP or gRPC 187 // request or stream is counted as one request. 188 TotalIssuedRequests uint64 `protobuf:"varint,7,opt,name=total_issued_requests,json=totalIssuedRequests,proto3" json:"total_issued_requests,omitempty"` 189 // Stats for multi-dimensional load balancing. 190 LoadMetricStats []*EndpointLoadMetricStats `protobuf:"bytes,5,rep,name=load_metric_stats,json=loadMetricStats,proto3" json:"load_metric_stats,omitempty"` 191 } 192 193 func (x *UpstreamEndpointStats) Reset() { 194 *x = UpstreamEndpointStats{} 195 if protoimpl.UnsafeEnabled { 196 mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[1] 197 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 198 ms.StoreMessageInfo(mi) 199 } 200 } 201 202 func (x *UpstreamEndpointStats) String() string { 203 return protoimpl.X.MessageStringOf(x) 204 } 205 206 func (*UpstreamEndpointStats) ProtoMessage() {} 207 208 func (x *UpstreamEndpointStats) ProtoReflect() protoreflect.Message { 209 mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[1] 210 if protoimpl.UnsafeEnabled && x != nil { 211 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 212 if ms.LoadMessageInfo() == nil { 213 ms.StoreMessageInfo(mi) 214 } 215 return ms 216 } 217 return mi.MessageOf(x) 218 } 219 220 // Deprecated: Use UpstreamEndpointStats.ProtoReflect.Descriptor instead. 221 func (*UpstreamEndpointStats) Descriptor() ([]byte, []int) { 222 return file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP(), []int{1} 223 } 224 225 func (x *UpstreamEndpointStats) GetAddress() *v3.Address { 226 if x != nil { 227 return x.Address 228 } 229 return nil 230 } 231 232 func (x *UpstreamEndpointStats) GetMetadata() *_struct.Struct { 233 if x != nil { 234 return x.Metadata 235 } 236 return nil 237 } 238 239 func (x *UpstreamEndpointStats) GetTotalSuccessfulRequests() uint64 { 240 if x != nil { 241 return x.TotalSuccessfulRequests 242 } 243 return 0 244 } 245 246 func (x *UpstreamEndpointStats) GetTotalRequestsInProgress() uint64 { 247 if x != nil { 248 return x.TotalRequestsInProgress 249 } 250 return 0 251 } 252 253 func (x *UpstreamEndpointStats) GetTotalErrorRequests() uint64 { 254 if x != nil { 255 return x.TotalErrorRequests 256 } 257 return 0 258 } 259 260 func (x *UpstreamEndpointStats) GetTotalIssuedRequests() uint64 { 261 if x != nil { 262 return x.TotalIssuedRequests 263 } 264 return 0 265 } 266 267 func (x *UpstreamEndpointStats) GetLoadMetricStats() []*EndpointLoadMetricStats { 268 if x != nil { 269 return x.LoadMetricStats 270 } 271 return nil 272 } 273 274 type EndpointLoadMetricStats struct { 275 state protoimpl.MessageState 276 sizeCache protoimpl.SizeCache 277 unknownFields protoimpl.UnknownFields 278 279 // Name of the metric; may be empty. 280 MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"` 281 // Number of calls that finished and included this metric. 282 NumRequestsFinishedWithMetric uint64 `protobuf:"varint,2,opt,name=num_requests_finished_with_metric,json=numRequestsFinishedWithMetric,proto3" json:"num_requests_finished_with_metric,omitempty"` 283 // Sum of metric values across all calls that finished with this metric for 284 // load_reporting_interval. 285 TotalMetricValue float64 `protobuf:"fixed64,3,opt,name=total_metric_value,json=totalMetricValue,proto3" json:"total_metric_value,omitempty"` 286 } 287 288 func (x *EndpointLoadMetricStats) Reset() { 289 *x = EndpointLoadMetricStats{} 290 if protoimpl.UnsafeEnabled { 291 mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[2] 292 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 293 ms.StoreMessageInfo(mi) 294 } 295 } 296 297 func (x *EndpointLoadMetricStats) String() string { 298 return protoimpl.X.MessageStringOf(x) 299 } 300 301 func (*EndpointLoadMetricStats) ProtoMessage() {} 302 303 func (x *EndpointLoadMetricStats) ProtoReflect() protoreflect.Message { 304 mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[2] 305 if protoimpl.UnsafeEnabled && x != nil { 306 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 307 if ms.LoadMessageInfo() == nil { 308 ms.StoreMessageInfo(mi) 309 } 310 return ms 311 } 312 return mi.MessageOf(x) 313 } 314 315 // Deprecated: Use EndpointLoadMetricStats.ProtoReflect.Descriptor instead. 316 func (*EndpointLoadMetricStats) Descriptor() ([]byte, []int) { 317 return file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP(), []int{2} 318 } 319 320 func (x *EndpointLoadMetricStats) GetMetricName() string { 321 if x != nil { 322 return x.MetricName 323 } 324 return "" 325 } 326 327 func (x *EndpointLoadMetricStats) GetNumRequestsFinishedWithMetric() uint64 { 328 if x != nil { 329 return x.NumRequestsFinishedWithMetric 330 } 331 return 0 332 } 333 334 func (x *EndpointLoadMetricStats) GetTotalMetricValue() float64 { 335 if x != nil { 336 return x.TotalMetricValue 337 } 338 return 0 339 } 340 341 // Per cluster load stats. Envoy reports these stats a management server in a 342 // :ref:`LoadStatsRequest<envoy_v3_api_msg_service.load_stats.v3.LoadStatsRequest>` 343 // Next ID: 7 344 // [#next-free-field: 7] 345 type ClusterStats struct { 346 state protoimpl.MessageState 347 sizeCache protoimpl.SizeCache 348 unknownFields protoimpl.UnknownFields 349 350 // The name of the cluster. 351 ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` 352 // The eds_cluster_config service_name of the cluster. 353 // It's possible that two clusters send the same service_name to EDS, 354 // in that case, the management server is supposed to do aggregation on the load reports. 355 ClusterServiceName string `protobuf:"bytes,6,opt,name=cluster_service_name,json=clusterServiceName,proto3" json:"cluster_service_name,omitempty"` 356 // Need at least one. 357 UpstreamLocalityStats []*UpstreamLocalityStats `protobuf:"bytes,2,rep,name=upstream_locality_stats,json=upstreamLocalityStats,proto3" json:"upstream_locality_stats,omitempty"` 358 // Cluster-level stats such as total_successful_requests may be computed by 359 // summing upstream_locality_stats. In addition, below there are additional 360 // cluster-wide stats. 361 // 362 // The total number of dropped requests. This covers requests 363 // deliberately dropped by the drop_overload policy and circuit breaking. 364 TotalDroppedRequests uint64 `protobuf:"varint,3,opt,name=total_dropped_requests,json=totalDroppedRequests,proto3" json:"total_dropped_requests,omitempty"` 365 // Information about deliberately dropped requests for each category specified 366 // in the DropOverload policy. 367 DroppedRequests []*ClusterStats_DroppedRequests `protobuf:"bytes,5,rep,name=dropped_requests,json=droppedRequests,proto3" json:"dropped_requests,omitempty"` 368 // Period over which the actual load report occurred. This will be guaranteed to include every 369 // request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy 370 // and the *LoadStatsResponse* message sent from the management server, this may be longer than 371 // the requested load reporting interval in the *LoadStatsResponse*. 372 LoadReportInterval *duration.Duration `protobuf:"bytes,4,opt,name=load_report_interval,json=loadReportInterval,proto3" json:"load_report_interval,omitempty"` 373 } 374 375 func (x *ClusterStats) Reset() { 376 *x = ClusterStats{} 377 if protoimpl.UnsafeEnabled { 378 mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[3] 379 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 380 ms.StoreMessageInfo(mi) 381 } 382 } 383 384 func (x *ClusterStats) String() string { 385 return protoimpl.X.MessageStringOf(x) 386 } 387 388 func (*ClusterStats) ProtoMessage() {} 389 390 func (x *ClusterStats) ProtoReflect() protoreflect.Message { 391 mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[3] 392 if protoimpl.UnsafeEnabled && x != nil { 393 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 394 if ms.LoadMessageInfo() == nil { 395 ms.StoreMessageInfo(mi) 396 } 397 return ms 398 } 399 return mi.MessageOf(x) 400 } 401 402 // Deprecated: Use ClusterStats.ProtoReflect.Descriptor instead. 403 func (*ClusterStats) Descriptor() ([]byte, []int) { 404 return file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP(), []int{3} 405 } 406 407 func (x *ClusterStats) GetClusterName() string { 408 if x != nil { 409 return x.ClusterName 410 } 411 return "" 412 } 413 414 func (x *ClusterStats) GetClusterServiceName() string { 415 if x != nil { 416 return x.ClusterServiceName 417 } 418 return "" 419 } 420 421 func (x *ClusterStats) GetUpstreamLocalityStats() []*UpstreamLocalityStats { 422 if x != nil { 423 return x.UpstreamLocalityStats 424 } 425 return nil 426 } 427 428 func (x *ClusterStats) GetTotalDroppedRequests() uint64 { 429 if x != nil { 430 return x.TotalDroppedRequests 431 } 432 return 0 433 } 434 435 func (x *ClusterStats) GetDroppedRequests() []*ClusterStats_DroppedRequests { 436 if x != nil { 437 return x.DroppedRequests 438 } 439 return nil 440 } 441 442 func (x *ClusterStats) GetLoadReportInterval() *duration.Duration { 443 if x != nil { 444 return x.LoadReportInterval 445 } 446 return nil 447 } 448 449 type ClusterStats_DroppedRequests struct { 450 state protoimpl.MessageState 451 sizeCache protoimpl.SizeCache 452 unknownFields protoimpl.UnknownFields 453 454 // Identifier for the policy specifying the drop. 455 Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` 456 // Total number of deliberately dropped requests for the category. 457 DroppedCount uint64 `protobuf:"varint,2,opt,name=dropped_count,json=droppedCount,proto3" json:"dropped_count,omitempty"` 458 } 459 460 func (x *ClusterStats_DroppedRequests) Reset() { 461 *x = ClusterStats_DroppedRequests{} 462 if protoimpl.UnsafeEnabled { 463 mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[4] 464 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 465 ms.StoreMessageInfo(mi) 466 } 467 } 468 469 func (x *ClusterStats_DroppedRequests) String() string { 470 return protoimpl.X.MessageStringOf(x) 471 } 472 473 func (*ClusterStats_DroppedRequests) ProtoMessage() {} 474 475 func (x *ClusterStats_DroppedRequests) ProtoReflect() protoreflect.Message { 476 mi := &file_envoy_config_endpoint_v3_load_report_proto_msgTypes[4] 477 if protoimpl.UnsafeEnabled && x != nil { 478 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 479 if ms.LoadMessageInfo() == nil { 480 ms.StoreMessageInfo(mi) 481 } 482 return ms 483 } 484 return mi.MessageOf(x) 485 } 486 487 // Deprecated: Use ClusterStats_DroppedRequests.ProtoReflect.Descriptor instead. 488 func (*ClusterStats_DroppedRequests) Descriptor() ([]byte, []int) { 489 return file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP(), []int{3, 0} 490 } 491 492 func (x *ClusterStats_DroppedRequests) GetCategory() string { 493 if x != nil { 494 return x.Category 495 } 496 return "" 497 } 498 499 func (x *ClusterStats_DroppedRequests) GetDroppedCount() uint64 { 500 if x != nil { 501 return x.DroppedCount 502 } 503 return 0 504 } 505 506 var File_envoy_config_endpoint_v3_load_report_proto protoreflect.FileDescriptor 507 508 var file_envoy_config_endpoint_v3_load_report_proto_rawDesc = []byte{ 509 0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x65, 510 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 511 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 512 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 513 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 514 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 515 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 516 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 517 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 518 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 519 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 520 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 521 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 522 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 523 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 524 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 525 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 526 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 527 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x04, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 528 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3a, 529 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 530 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 531 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 532 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 533 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x72, 534 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 535 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x52, 0x65, 536 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 537 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 538 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 539 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 540 0x65, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 541 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 542 0x04, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 543 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 544 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x08, 545 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x73, 0x73, 0x75, 0x65, 546 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x5d, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 547 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 548 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 549 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 550 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 551 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 552 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x17, 0x75, 0x70, 0x73, 0x74, 553 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x74, 554 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 555 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 556 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 557 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x15, 0x75, 0x70, 0x73, 0x74, 558 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 559 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 560 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x3a, 0x32, 0x9a, 561 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 562 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x74, 563 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 564 0x73, 0x22, 0xf7, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 565 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x61, 566 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x65, 567 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 568 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 569 0x72, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 570 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 571 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 572 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 573 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 574 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 575 0x74, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x71, 576 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 577 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 578 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 579 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 580 0x73, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 581 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 582 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 583 0x65, 0x73, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x73, 584 0x73, 0x75, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 585 0x01, 0x28, 0x04, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x73, 0x73, 0x75, 0x65, 0x64, 586 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x5d, 0x0a, 0x11, 0x6c, 0x6f, 0x61, 0x64, 587 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 588 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 589 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45, 590 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 591 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0f, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 592 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x3a, 0x32, 0x9a, 0xc5, 0x88, 0x1e, 0x2d, 0x0a, 0x2b, 593 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 594 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x6e, 595 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xe8, 0x01, 0x0a, 0x17, 596 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 597 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 598 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x65, 599 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x21, 0x6e, 0x75, 0x6d, 0x5f, 600 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 601 0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x02, 0x20, 602 0x01, 0x28, 0x04, 0x52, 0x1d, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 603 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x72, 604 0x69, 0x63, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 605 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 606 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 607 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 608 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 609 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 610 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x89, 0x05, 0x0a, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 611 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 612 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 613 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 614 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 615 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 616 0x09, 0x52, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 617 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x71, 0x0a, 0x17, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 618 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 619 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 620 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 621 0x33, 0x2e, 0x55, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 622 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 623 0x01, 0x52, 0x15, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 624 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 625 0x6c, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 626 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 627 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x61, 628 0x0a, 0x10, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 629 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 630 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 631 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 632 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 633 0x52, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 634 0x73, 0x12, 0x4b, 0x0a, 0x14, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 635 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 636 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 637 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x6c, 0x6f, 0x61, 0x64, 638 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0x96, 639 0x01, 0x0a, 0x0f, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 640 0x74, 0x73, 0x12, 0x23, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 641 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x63, 642 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x72, 0x6f, 0x70, 0x70, 643 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 644 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x39, 0x9a, 0xc5, 645 0x88, 0x1e, 0x34, 0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 646 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 647 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x52, 648 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22, 649 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 650 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 651 0x74, 0x73, 0x42, 0x43, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 652 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 653 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x0f, 0x4c, 0x6f, 654 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xba, 655 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 656 } 657 658 var ( 659 file_envoy_config_endpoint_v3_load_report_proto_rawDescOnce sync.Once 660 file_envoy_config_endpoint_v3_load_report_proto_rawDescData = file_envoy_config_endpoint_v3_load_report_proto_rawDesc 661 ) 662 663 func file_envoy_config_endpoint_v3_load_report_proto_rawDescGZIP() []byte { 664 file_envoy_config_endpoint_v3_load_report_proto_rawDescOnce.Do(func() { 665 file_envoy_config_endpoint_v3_load_report_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_endpoint_v3_load_report_proto_rawDescData) 666 }) 667 return file_envoy_config_endpoint_v3_load_report_proto_rawDescData 668 } 669 670 var file_envoy_config_endpoint_v3_load_report_proto_msgTypes = make([]protoimpl.MessageInfo, 5) 671 var file_envoy_config_endpoint_v3_load_report_proto_goTypes = []interface{}{ 672 (*UpstreamLocalityStats)(nil), // 0: envoy.config.endpoint.v3.UpstreamLocalityStats 673 (*UpstreamEndpointStats)(nil), // 1: envoy.config.endpoint.v3.UpstreamEndpointStats 674 (*EndpointLoadMetricStats)(nil), // 2: envoy.config.endpoint.v3.EndpointLoadMetricStats 675 (*ClusterStats)(nil), // 3: envoy.config.endpoint.v3.ClusterStats 676 (*ClusterStats_DroppedRequests)(nil), // 4: envoy.config.endpoint.v3.ClusterStats.DroppedRequests 677 (*v3.Locality)(nil), // 5: envoy.config.core.v3.Locality 678 (*v3.Address)(nil), // 6: envoy.config.core.v3.Address 679 (*_struct.Struct)(nil), // 7: google.protobuf.Struct 680 (*duration.Duration)(nil), // 8: google.protobuf.Duration 681 } 682 var file_envoy_config_endpoint_v3_load_report_proto_depIdxs = []int32{ 683 5, // 0: envoy.config.endpoint.v3.UpstreamLocalityStats.locality:type_name -> envoy.config.core.v3.Locality 684 2, // 1: envoy.config.endpoint.v3.UpstreamLocalityStats.load_metric_stats:type_name -> envoy.config.endpoint.v3.EndpointLoadMetricStats 685 1, // 2: envoy.config.endpoint.v3.UpstreamLocalityStats.upstream_endpoint_stats:type_name -> envoy.config.endpoint.v3.UpstreamEndpointStats 686 6, // 3: envoy.config.endpoint.v3.UpstreamEndpointStats.address:type_name -> envoy.config.core.v3.Address 687 7, // 4: envoy.config.endpoint.v3.UpstreamEndpointStats.metadata:type_name -> google.protobuf.Struct 688 2, // 5: envoy.config.endpoint.v3.UpstreamEndpointStats.load_metric_stats:type_name -> envoy.config.endpoint.v3.EndpointLoadMetricStats 689 0, // 6: envoy.config.endpoint.v3.ClusterStats.upstream_locality_stats:type_name -> envoy.config.endpoint.v3.UpstreamLocalityStats 690 4, // 7: envoy.config.endpoint.v3.ClusterStats.dropped_requests:type_name -> envoy.config.endpoint.v3.ClusterStats.DroppedRequests 691 8, // 8: envoy.config.endpoint.v3.ClusterStats.load_report_interval:type_name -> google.protobuf.Duration 692 9, // [9:9] is the sub-list for method output_type 693 9, // [9:9] is the sub-list for method input_type 694 9, // [9:9] is the sub-list for extension type_name 695 9, // [9:9] is the sub-list for extension extendee 696 0, // [0:9] is the sub-list for field type_name 697 } 698 699 func init() { file_envoy_config_endpoint_v3_load_report_proto_init() } 700 func file_envoy_config_endpoint_v3_load_report_proto_init() { 701 if File_envoy_config_endpoint_v3_load_report_proto != nil { 702 return 703 } 704 if !protoimpl.UnsafeEnabled { 705 file_envoy_config_endpoint_v3_load_report_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 706 switch v := v.(*UpstreamLocalityStats); i { 707 case 0: 708 return &v.state 709 case 1: 710 return &v.sizeCache 711 case 2: 712 return &v.unknownFields 713 default: 714 return nil 715 } 716 } 717 file_envoy_config_endpoint_v3_load_report_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 718 switch v := v.(*UpstreamEndpointStats); i { 719 case 0: 720 return &v.state 721 case 1: 722 return &v.sizeCache 723 case 2: 724 return &v.unknownFields 725 default: 726 return nil 727 } 728 } 729 file_envoy_config_endpoint_v3_load_report_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 730 switch v := v.(*EndpointLoadMetricStats); i { 731 case 0: 732 return &v.state 733 case 1: 734 return &v.sizeCache 735 case 2: 736 return &v.unknownFields 737 default: 738 return nil 739 } 740 } 741 file_envoy_config_endpoint_v3_load_report_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 742 switch v := v.(*ClusterStats); i { 743 case 0: 744 return &v.state 745 case 1: 746 return &v.sizeCache 747 case 2: 748 return &v.unknownFields 749 default: 750 return nil 751 } 752 } 753 file_envoy_config_endpoint_v3_load_report_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 754 switch v := v.(*ClusterStats_DroppedRequests); i { 755 case 0: 756 return &v.state 757 case 1: 758 return &v.sizeCache 759 case 2: 760 return &v.unknownFields 761 default: 762 return nil 763 } 764 } 765 } 766 type x struct{} 767 out := protoimpl.TypeBuilder{ 768 File: protoimpl.DescBuilder{ 769 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 770 RawDescriptor: file_envoy_config_endpoint_v3_load_report_proto_rawDesc, 771 NumEnums: 0, 772 NumMessages: 5, 773 NumExtensions: 0, 774 NumServices: 0, 775 }, 776 GoTypes: file_envoy_config_endpoint_v3_load_report_proto_goTypes, 777 DependencyIndexes: file_envoy_config_endpoint_v3_load_report_proto_depIdxs, 778 MessageInfos: file_envoy_config_endpoint_v3_load_report_proto_msgTypes, 779 }.Build() 780 File_envoy_config_endpoint_v3_load_report_proto = out.File 781 file_envoy_config_endpoint_v3_load_report_proto_rawDesc = nil 782 file_envoy_config_endpoint_v3_load_report_proto_goTypes = nil 783 file_envoy_config_endpoint_v3_load_report_proto_depIdxs = nil 784 }