google.golang.org/grpc@v1.74.2/interop/grpc_testing/control.pb.go (about) 1 // Copyright 2015 gRPC authors. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 // Code generated by protoc-gen-go. DO NOT EDIT. 16 // versions: 17 // protoc-gen-go v1.36.6 18 // protoc v5.27.1 19 // source: grpc/testing/control.proto 20 21 package grpc_testing 22 23 import ( 24 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 25 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 26 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 27 reflect "reflect" 28 sync "sync" 29 unsafe "unsafe" 30 ) 31 32 const ( 33 // Verify that this generated code is sufficiently up-to-date. 34 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 35 // Verify that runtime/protoimpl is sufficiently up-to-date. 36 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 37 ) 38 39 type ClientType int32 40 41 const ( 42 // Many languages support a basic distinction between using 43 // sync or async client, and this allows the specification 44 ClientType_SYNC_CLIENT ClientType = 0 45 ClientType_ASYNC_CLIENT ClientType = 1 46 ClientType_OTHER_CLIENT ClientType = 2 // used for some language-specific variants 47 ClientType_CALLBACK_CLIENT ClientType = 3 48 ) 49 50 // Enum value maps for ClientType. 51 var ( 52 ClientType_name = map[int32]string{ 53 0: "SYNC_CLIENT", 54 1: "ASYNC_CLIENT", 55 2: "OTHER_CLIENT", 56 3: "CALLBACK_CLIENT", 57 } 58 ClientType_value = map[string]int32{ 59 "SYNC_CLIENT": 0, 60 "ASYNC_CLIENT": 1, 61 "OTHER_CLIENT": 2, 62 "CALLBACK_CLIENT": 3, 63 } 64 ) 65 66 func (x ClientType) Enum() *ClientType { 67 p := new(ClientType) 68 *p = x 69 return p 70 } 71 72 func (x ClientType) String() string { 73 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 74 } 75 76 func (ClientType) Descriptor() protoreflect.EnumDescriptor { 77 return file_grpc_testing_control_proto_enumTypes[0].Descriptor() 78 } 79 80 func (ClientType) Type() protoreflect.EnumType { 81 return &file_grpc_testing_control_proto_enumTypes[0] 82 } 83 84 func (x ClientType) Number() protoreflect.EnumNumber { 85 return protoreflect.EnumNumber(x) 86 } 87 88 // Deprecated: Use ClientType.Descriptor instead. 89 func (ClientType) EnumDescriptor() ([]byte, []int) { 90 return file_grpc_testing_control_proto_rawDescGZIP(), []int{0} 91 } 92 93 type ServerType int32 94 95 const ( 96 ServerType_SYNC_SERVER ServerType = 0 97 ServerType_ASYNC_SERVER ServerType = 1 98 ServerType_ASYNC_GENERIC_SERVER ServerType = 2 99 ServerType_OTHER_SERVER ServerType = 3 // used for some language-specific variants 100 ServerType_CALLBACK_SERVER ServerType = 4 101 ) 102 103 // Enum value maps for ServerType. 104 var ( 105 ServerType_name = map[int32]string{ 106 0: "SYNC_SERVER", 107 1: "ASYNC_SERVER", 108 2: "ASYNC_GENERIC_SERVER", 109 3: "OTHER_SERVER", 110 4: "CALLBACK_SERVER", 111 } 112 ServerType_value = map[string]int32{ 113 "SYNC_SERVER": 0, 114 "ASYNC_SERVER": 1, 115 "ASYNC_GENERIC_SERVER": 2, 116 "OTHER_SERVER": 3, 117 "CALLBACK_SERVER": 4, 118 } 119 ) 120 121 func (x ServerType) Enum() *ServerType { 122 p := new(ServerType) 123 *p = x 124 return p 125 } 126 127 func (x ServerType) String() string { 128 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 129 } 130 131 func (ServerType) Descriptor() protoreflect.EnumDescriptor { 132 return file_grpc_testing_control_proto_enumTypes[1].Descriptor() 133 } 134 135 func (ServerType) Type() protoreflect.EnumType { 136 return &file_grpc_testing_control_proto_enumTypes[1] 137 } 138 139 func (x ServerType) Number() protoreflect.EnumNumber { 140 return protoreflect.EnumNumber(x) 141 } 142 143 // Deprecated: Use ServerType.Descriptor instead. 144 func (ServerType) EnumDescriptor() ([]byte, []int) { 145 return file_grpc_testing_control_proto_rawDescGZIP(), []int{1} 146 } 147 148 type RpcType int32 149 150 const ( 151 RpcType_UNARY RpcType = 0 152 RpcType_STREAMING RpcType = 1 153 RpcType_STREAMING_FROM_CLIENT RpcType = 2 154 RpcType_STREAMING_FROM_SERVER RpcType = 3 155 RpcType_STREAMING_BOTH_WAYS RpcType = 4 156 ) 157 158 // Enum value maps for RpcType. 159 var ( 160 RpcType_name = map[int32]string{ 161 0: "UNARY", 162 1: "STREAMING", 163 2: "STREAMING_FROM_CLIENT", 164 3: "STREAMING_FROM_SERVER", 165 4: "STREAMING_BOTH_WAYS", 166 } 167 RpcType_value = map[string]int32{ 168 "UNARY": 0, 169 "STREAMING": 1, 170 "STREAMING_FROM_CLIENT": 2, 171 "STREAMING_FROM_SERVER": 3, 172 "STREAMING_BOTH_WAYS": 4, 173 } 174 ) 175 176 func (x RpcType) Enum() *RpcType { 177 p := new(RpcType) 178 *p = x 179 return p 180 } 181 182 func (x RpcType) String() string { 183 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 184 } 185 186 func (RpcType) Descriptor() protoreflect.EnumDescriptor { 187 return file_grpc_testing_control_proto_enumTypes[2].Descriptor() 188 } 189 190 func (RpcType) Type() protoreflect.EnumType { 191 return &file_grpc_testing_control_proto_enumTypes[2] 192 } 193 194 func (x RpcType) Number() protoreflect.EnumNumber { 195 return protoreflect.EnumNumber(x) 196 } 197 198 // Deprecated: Use RpcType.Descriptor instead. 199 func (RpcType) EnumDescriptor() ([]byte, []int) { 200 return file_grpc_testing_control_proto_rawDescGZIP(), []int{2} 201 } 202 203 // Parameters of poisson process distribution, which is a good representation 204 // of activity coming in from independent identical stationary sources. 205 type PoissonParams struct { 206 state protoimpl.MessageState `protogen:"open.v1"` 207 // The rate of arrivals (a.k.a. lambda parameter of the exp distribution). 208 OfferedLoad float64 `protobuf:"fixed64,1,opt,name=offered_load,json=offeredLoad,proto3" json:"offered_load,omitempty"` 209 unknownFields protoimpl.UnknownFields 210 sizeCache protoimpl.SizeCache 211 } 212 213 func (x *PoissonParams) Reset() { 214 *x = PoissonParams{} 215 mi := &file_grpc_testing_control_proto_msgTypes[0] 216 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 217 ms.StoreMessageInfo(mi) 218 } 219 220 func (x *PoissonParams) String() string { 221 return protoimpl.X.MessageStringOf(x) 222 } 223 224 func (*PoissonParams) ProtoMessage() {} 225 226 func (x *PoissonParams) ProtoReflect() protoreflect.Message { 227 mi := &file_grpc_testing_control_proto_msgTypes[0] 228 if x != nil { 229 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 230 if ms.LoadMessageInfo() == nil { 231 ms.StoreMessageInfo(mi) 232 } 233 return ms 234 } 235 return mi.MessageOf(x) 236 } 237 238 // Deprecated: Use PoissonParams.ProtoReflect.Descriptor instead. 239 func (*PoissonParams) Descriptor() ([]byte, []int) { 240 return file_grpc_testing_control_proto_rawDescGZIP(), []int{0} 241 } 242 243 func (x *PoissonParams) GetOfferedLoad() float64 { 244 if x != nil { 245 return x.OfferedLoad 246 } 247 return 0 248 } 249 250 // Once an RPC finishes, immediately start a new one. 251 // No configuration parameters needed. 252 type ClosedLoopParams struct { 253 state protoimpl.MessageState `protogen:"open.v1"` 254 unknownFields protoimpl.UnknownFields 255 sizeCache protoimpl.SizeCache 256 } 257 258 func (x *ClosedLoopParams) Reset() { 259 *x = ClosedLoopParams{} 260 mi := &file_grpc_testing_control_proto_msgTypes[1] 261 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 262 ms.StoreMessageInfo(mi) 263 } 264 265 func (x *ClosedLoopParams) String() string { 266 return protoimpl.X.MessageStringOf(x) 267 } 268 269 func (*ClosedLoopParams) ProtoMessage() {} 270 271 func (x *ClosedLoopParams) ProtoReflect() protoreflect.Message { 272 mi := &file_grpc_testing_control_proto_msgTypes[1] 273 if x != nil { 274 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 275 if ms.LoadMessageInfo() == nil { 276 ms.StoreMessageInfo(mi) 277 } 278 return ms 279 } 280 return mi.MessageOf(x) 281 } 282 283 // Deprecated: Use ClosedLoopParams.ProtoReflect.Descriptor instead. 284 func (*ClosedLoopParams) Descriptor() ([]byte, []int) { 285 return file_grpc_testing_control_proto_rawDescGZIP(), []int{1} 286 } 287 288 type LoadParams struct { 289 state protoimpl.MessageState `protogen:"open.v1"` 290 // Types that are valid to be assigned to Load: 291 // 292 // *LoadParams_ClosedLoop 293 // *LoadParams_Poisson 294 Load isLoadParams_Load `protobuf_oneof:"load"` 295 unknownFields protoimpl.UnknownFields 296 sizeCache protoimpl.SizeCache 297 } 298 299 func (x *LoadParams) Reset() { 300 *x = LoadParams{} 301 mi := &file_grpc_testing_control_proto_msgTypes[2] 302 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 303 ms.StoreMessageInfo(mi) 304 } 305 306 func (x *LoadParams) String() string { 307 return protoimpl.X.MessageStringOf(x) 308 } 309 310 func (*LoadParams) ProtoMessage() {} 311 312 func (x *LoadParams) ProtoReflect() protoreflect.Message { 313 mi := &file_grpc_testing_control_proto_msgTypes[2] 314 if x != nil { 315 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 316 if ms.LoadMessageInfo() == nil { 317 ms.StoreMessageInfo(mi) 318 } 319 return ms 320 } 321 return mi.MessageOf(x) 322 } 323 324 // Deprecated: Use LoadParams.ProtoReflect.Descriptor instead. 325 func (*LoadParams) Descriptor() ([]byte, []int) { 326 return file_grpc_testing_control_proto_rawDescGZIP(), []int{2} 327 } 328 329 func (x *LoadParams) GetLoad() isLoadParams_Load { 330 if x != nil { 331 return x.Load 332 } 333 return nil 334 } 335 336 func (x *LoadParams) GetClosedLoop() *ClosedLoopParams { 337 if x != nil { 338 if x, ok := x.Load.(*LoadParams_ClosedLoop); ok { 339 return x.ClosedLoop 340 } 341 } 342 return nil 343 } 344 345 func (x *LoadParams) GetPoisson() *PoissonParams { 346 if x != nil { 347 if x, ok := x.Load.(*LoadParams_Poisson); ok { 348 return x.Poisson 349 } 350 } 351 return nil 352 } 353 354 type isLoadParams_Load interface { 355 isLoadParams_Load() 356 } 357 358 type LoadParams_ClosedLoop struct { 359 ClosedLoop *ClosedLoopParams `protobuf:"bytes,1,opt,name=closed_loop,json=closedLoop,proto3,oneof"` 360 } 361 362 type LoadParams_Poisson struct { 363 Poisson *PoissonParams `protobuf:"bytes,2,opt,name=poisson,proto3,oneof"` 364 } 365 366 func (*LoadParams_ClosedLoop) isLoadParams_Load() {} 367 368 func (*LoadParams_Poisson) isLoadParams_Load() {} 369 370 // presence of SecurityParams implies use of TLS 371 type SecurityParams struct { 372 state protoimpl.MessageState `protogen:"open.v1"` 373 UseTestCa bool `protobuf:"varint,1,opt,name=use_test_ca,json=useTestCa,proto3" json:"use_test_ca,omitempty"` 374 ServerHostOverride string `protobuf:"bytes,2,opt,name=server_host_override,json=serverHostOverride,proto3" json:"server_host_override,omitempty"` 375 CredType string `protobuf:"bytes,3,opt,name=cred_type,json=credType,proto3" json:"cred_type,omitempty"` 376 unknownFields protoimpl.UnknownFields 377 sizeCache protoimpl.SizeCache 378 } 379 380 func (x *SecurityParams) Reset() { 381 *x = SecurityParams{} 382 mi := &file_grpc_testing_control_proto_msgTypes[3] 383 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 384 ms.StoreMessageInfo(mi) 385 } 386 387 func (x *SecurityParams) String() string { 388 return protoimpl.X.MessageStringOf(x) 389 } 390 391 func (*SecurityParams) ProtoMessage() {} 392 393 func (x *SecurityParams) ProtoReflect() protoreflect.Message { 394 mi := &file_grpc_testing_control_proto_msgTypes[3] 395 if x != nil { 396 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 397 if ms.LoadMessageInfo() == nil { 398 ms.StoreMessageInfo(mi) 399 } 400 return ms 401 } 402 return mi.MessageOf(x) 403 } 404 405 // Deprecated: Use SecurityParams.ProtoReflect.Descriptor instead. 406 func (*SecurityParams) Descriptor() ([]byte, []int) { 407 return file_grpc_testing_control_proto_rawDescGZIP(), []int{3} 408 } 409 410 func (x *SecurityParams) GetUseTestCa() bool { 411 if x != nil { 412 return x.UseTestCa 413 } 414 return false 415 } 416 417 func (x *SecurityParams) GetServerHostOverride() string { 418 if x != nil { 419 return x.ServerHostOverride 420 } 421 return "" 422 } 423 424 func (x *SecurityParams) GetCredType() string { 425 if x != nil { 426 return x.CredType 427 } 428 return "" 429 } 430 431 type ChannelArg struct { 432 state protoimpl.MessageState `protogen:"open.v1"` 433 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 434 // Types that are valid to be assigned to Value: 435 // 436 // *ChannelArg_StrValue 437 // *ChannelArg_IntValue 438 Value isChannelArg_Value `protobuf_oneof:"value"` 439 unknownFields protoimpl.UnknownFields 440 sizeCache protoimpl.SizeCache 441 } 442 443 func (x *ChannelArg) Reset() { 444 *x = ChannelArg{} 445 mi := &file_grpc_testing_control_proto_msgTypes[4] 446 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 447 ms.StoreMessageInfo(mi) 448 } 449 450 func (x *ChannelArg) String() string { 451 return protoimpl.X.MessageStringOf(x) 452 } 453 454 func (*ChannelArg) ProtoMessage() {} 455 456 func (x *ChannelArg) ProtoReflect() protoreflect.Message { 457 mi := &file_grpc_testing_control_proto_msgTypes[4] 458 if x != nil { 459 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 460 if ms.LoadMessageInfo() == nil { 461 ms.StoreMessageInfo(mi) 462 } 463 return ms 464 } 465 return mi.MessageOf(x) 466 } 467 468 // Deprecated: Use ChannelArg.ProtoReflect.Descriptor instead. 469 func (*ChannelArg) Descriptor() ([]byte, []int) { 470 return file_grpc_testing_control_proto_rawDescGZIP(), []int{4} 471 } 472 473 func (x *ChannelArg) GetName() string { 474 if x != nil { 475 return x.Name 476 } 477 return "" 478 } 479 480 func (x *ChannelArg) GetValue() isChannelArg_Value { 481 if x != nil { 482 return x.Value 483 } 484 return nil 485 } 486 487 func (x *ChannelArg) GetStrValue() string { 488 if x != nil { 489 if x, ok := x.Value.(*ChannelArg_StrValue); ok { 490 return x.StrValue 491 } 492 } 493 return "" 494 } 495 496 func (x *ChannelArg) GetIntValue() int32 { 497 if x != nil { 498 if x, ok := x.Value.(*ChannelArg_IntValue); ok { 499 return x.IntValue 500 } 501 } 502 return 0 503 } 504 505 type isChannelArg_Value interface { 506 isChannelArg_Value() 507 } 508 509 type ChannelArg_StrValue struct { 510 StrValue string `protobuf:"bytes,2,opt,name=str_value,json=strValue,proto3,oneof"` 511 } 512 513 type ChannelArg_IntValue struct { 514 IntValue int32 `protobuf:"varint,3,opt,name=int_value,json=intValue,proto3,oneof"` 515 } 516 517 func (*ChannelArg_StrValue) isChannelArg_Value() {} 518 519 func (*ChannelArg_IntValue) isChannelArg_Value() {} 520 521 type ClientConfig struct { 522 state protoimpl.MessageState `protogen:"open.v1"` 523 // List of targets to connect to. At least one target needs to be specified. 524 ServerTargets []string `protobuf:"bytes,1,rep,name=server_targets,json=serverTargets,proto3" json:"server_targets,omitempty"` 525 ClientType ClientType `protobuf:"varint,2,opt,name=client_type,json=clientType,proto3,enum=grpc.testing.ClientType" json:"client_type,omitempty"` 526 SecurityParams *SecurityParams `protobuf:"bytes,3,opt,name=security_params,json=securityParams,proto3" json:"security_params,omitempty"` 527 // How many concurrent RPCs to start for each channel. 528 // For synchronous client, use a separate thread for each outstanding RPC. 529 OutstandingRpcsPerChannel int32 `protobuf:"varint,4,opt,name=outstanding_rpcs_per_channel,json=outstandingRpcsPerChannel,proto3" json:"outstanding_rpcs_per_channel,omitempty"` 530 // Number of independent client channels to create. 531 // i-th channel will connect to server_target[i % server_targets.size()] 532 ClientChannels int32 `protobuf:"varint,5,opt,name=client_channels,json=clientChannels,proto3" json:"client_channels,omitempty"` 533 // Only for async client. Number of threads to use to start/manage RPCs. 534 AsyncClientThreads int32 `protobuf:"varint,7,opt,name=async_client_threads,json=asyncClientThreads,proto3" json:"async_client_threads,omitempty"` 535 RpcType RpcType `protobuf:"varint,8,opt,name=rpc_type,json=rpcType,proto3,enum=grpc.testing.RpcType" json:"rpc_type,omitempty"` 536 // The requested load for the entire client (aggregated over all the threads). 537 LoadParams *LoadParams `protobuf:"bytes,10,opt,name=load_params,json=loadParams,proto3" json:"load_params,omitempty"` 538 PayloadConfig *PayloadConfig `protobuf:"bytes,11,opt,name=payload_config,json=payloadConfig,proto3" json:"payload_config,omitempty"` 539 HistogramParams *HistogramParams `protobuf:"bytes,12,opt,name=histogram_params,json=histogramParams,proto3" json:"histogram_params,omitempty"` 540 // Specify the cores we should run the client on, if desired 541 CoreList []int32 `protobuf:"varint,13,rep,packed,name=core_list,json=coreList,proto3" json:"core_list,omitempty"` 542 CoreLimit int32 `protobuf:"varint,14,opt,name=core_limit,json=coreLimit,proto3" json:"core_limit,omitempty"` 543 // If we use an OTHER_CLIENT client_type, this string gives more detail 544 OtherClientApi string `protobuf:"bytes,15,opt,name=other_client_api,json=otherClientApi,proto3" json:"other_client_api,omitempty"` 545 ChannelArgs []*ChannelArg `protobuf:"bytes,16,rep,name=channel_args,json=channelArgs,proto3" json:"channel_args,omitempty"` 546 // Number of threads that share each completion queue 547 ThreadsPerCq int32 `protobuf:"varint,17,opt,name=threads_per_cq,json=threadsPerCq,proto3" json:"threads_per_cq,omitempty"` 548 // Number of messages on a stream before it gets finished/restarted 549 MessagesPerStream int32 `protobuf:"varint,18,opt,name=messages_per_stream,json=messagesPerStream,proto3" json:"messages_per_stream,omitempty"` 550 // Use coalescing API when possible. 551 UseCoalesceApi bool `protobuf:"varint,19,opt,name=use_coalesce_api,json=useCoalesceApi,proto3" json:"use_coalesce_api,omitempty"` 552 // If 0, disabled. Else, specifies the period between gathering latency 553 // medians in milliseconds. 554 MedianLatencyCollectionIntervalMillis int32 `protobuf:"varint,20,opt,name=median_latency_collection_interval_millis,json=medianLatencyCollectionIntervalMillis,proto3" json:"median_latency_collection_interval_millis,omitempty"` 555 // Number of client processes. 0 indicates no restriction. 556 ClientProcesses int32 `protobuf:"varint,21,opt,name=client_processes,json=clientProcesses,proto3" json:"client_processes,omitempty"` 557 unknownFields protoimpl.UnknownFields 558 sizeCache protoimpl.SizeCache 559 } 560 561 func (x *ClientConfig) Reset() { 562 *x = ClientConfig{} 563 mi := &file_grpc_testing_control_proto_msgTypes[5] 564 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 565 ms.StoreMessageInfo(mi) 566 } 567 568 func (x *ClientConfig) String() string { 569 return protoimpl.X.MessageStringOf(x) 570 } 571 572 func (*ClientConfig) ProtoMessage() {} 573 574 func (x *ClientConfig) ProtoReflect() protoreflect.Message { 575 mi := &file_grpc_testing_control_proto_msgTypes[5] 576 if x != nil { 577 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 578 if ms.LoadMessageInfo() == nil { 579 ms.StoreMessageInfo(mi) 580 } 581 return ms 582 } 583 return mi.MessageOf(x) 584 } 585 586 // Deprecated: Use ClientConfig.ProtoReflect.Descriptor instead. 587 func (*ClientConfig) Descriptor() ([]byte, []int) { 588 return file_grpc_testing_control_proto_rawDescGZIP(), []int{5} 589 } 590 591 func (x *ClientConfig) GetServerTargets() []string { 592 if x != nil { 593 return x.ServerTargets 594 } 595 return nil 596 } 597 598 func (x *ClientConfig) GetClientType() ClientType { 599 if x != nil { 600 return x.ClientType 601 } 602 return ClientType_SYNC_CLIENT 603 } 604 605 func (x *ClientConfig) GetSecurityParams() *SecurityParams { 606 if x != nil { 607 return x.SecurityParams 608 } 609 return nil 610 } 611 612 func (x *ClientConfig) GetOutstandingRpcsPerChannel() int32 { 613 if x != nil { 614 return x.OutstandingRpcsPerChannel 615 } 616 return 0 617 } 618 619 func (x *ClientConfig) GetClientChannels() int32 { 620 if x != nil { 621 return x.ClientChannels 622 } 623 return 0 624 } 625 626 func (x *ClientConfig) GetAsyncClientThreads() int32 { 627 if x != nil { 628 return x.AsyncClientThreads 629 } 630 return 0 631 } 632 633 func (x *ClientConfig) GetRpcType() RpcType { 634 if x != nil { 635 return x.RpcType 636 } 637 return RpcType_UNARY 638 } 639 640 func (x *ClientConfig) GetLoadParams() *LoadParams { 641 if x != nil { 642 return x.LoadParams 643 } 644 return nil 645 } 646 647 func (x *ClientConfig) GetPayloadConfig() *PayloadConfig { 648 if x != nil { 649 return x.PayloadConfig 650 } 651 return nil 652 } 653 654 func (x *ClientConfig) GetHistogramParams() *HistogramParams { 655 if x != nil { 656 return x.HistogramParams 657 } 658 return nil 659 } 660 661 func (x *ClientConfig) GetCoreList() []int32 { 662 if x != nil { 663 return x.CoreList 664 } 665 return nil 666 } 667 668 func (x *ClientConfig) GetCoreLimit() int32 { 669 if x != nil { 670 return x.CoreLimit 671 } 672 return 0 673 } 674 675 func (x *ClientConfig) GetOtherClientApi() string { 676 if x != nil { 677 return x.OtherClientApi 678 } 679 return "" 680 } 681 682 func (x *ClientConfig) GetChannelArgs() []*ChannelArg { 683 if x != nil { 684 return x.ChannelArgs 685 } 686 return nil 687 } 688 689 func (x *ClientConfig) GetThreadsPerCq() int32 { 690 if x != nil { 691 return x.ThreadsPerCq 692 } 693 return 0 694 } 695 696 func (x *ClientConfig) GetMessagesPerStream() int32 { 697 if x != nil { 698 return x.MessagesPerStream 699 } 700 return 0 701 } 702 703 func (x *ClientConfig) GetUseCoalesceApi() bool { 704 if x != nil { 705 return x.UseCoalesceApi 706 } 707 return false 708 } 709 710 func (x *ClientConfig) GetMedianLatencyCollectionIntervalMillis() int32 { 711 if x != nil { 712 return x.MedianLatencyCollectionIntervalMillis 713 } 714 return 0 715 } 716 717 func (x *ClientConfig) GetClientProcesses() int32 { 718 if x != nil { 719 return x.ClientProcesses 720 } 721 return 0 722 } 723 724 type ClientStatus struct { 725 state protoimpl.MessageState `protogen:"open.v1"` 726 Stats *ClientStats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"` 727 unknownFields protoimpl.UnknownFields 728 sizeCache protoimpl.SizeCache 729 } 730 731 func (x *ClientStatus) Reset() { 732 *x = ClientStatus{} 733 mi := &file_grpc_testing_control_proto_msgTypes[6] 734 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 735 ms.StoreMessageInfo(mi) 736 } 737 738 func (x *ClientStatus) String() string { 739 return protoimpl.X.MessageStringOf(x) 740 } 741 742 func (*ClientStatus) ProtoMessage() {} 743 744 func (x *ClientStatus) ProtoReflect() protoreflect.Message { 745 mi := &file_grpc_testing_control_proto_msgTypes[6] 746 if x != nil { 747 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 748 if ms.LoadMessageInfo() == nil { 749 ms.StoreMessageInfo(mi) 750 } 751 return ms 752 } 753 return mi.MessageOf(x) 754 } 755 756 // Deprecated: Use ClientStatus.ProtoReflect.Descriptor instead. 757 func (*ClientStatus) Descriptor() ([]byte, []int) { 758 return file_grpc_testing_control_proto_rawDescGZIP(), []int{6} 759 } 760 761 func (x *ClientStatus) GetStats() *ClientStats { 762 if x != nil { 763 return x.Stats 764 } 765 return nil 766 } 767 768 // Request current stats 769 type Mark struct { 770 state protoimpl.MessageState `protogen:"open.v1"` 771 // if true, the stats will be reset after taking their snapshot. 772 Reset_ bool `protobuf:"varint,1,opt,name=reset,proto3" json:"reset,omitempty"` 773 unknownFields protoimpl.UnknownFields 774 sizeCache protoimpl.SizeCache 775 } 776 777 func (x *Mark) Reset() { 778 *x = Mark{} 779 mi := &file_grpc_testing_control_proto_msgTypes[7] 780 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 781 ms.StoreMessageInfo(mi) 782 } 783 784 func (x *Mark) String() string { 785 return protoimpl.X.MessageStringOf(x) 786 } 787 788 func (*Mark) ProtoMessage() {} 789 790 func (x *Mark) ProtoReflect() protoreflect.Message { 791 mi := &file_grpc_testing_control_proto_msgTypes[7] 792 if x != nil { 793 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 794 if ms.LoadMessageInfo() == nil { 795 ms.StoreMessageInfo(mi) 796 } 797 return ms 798 } 799 return mi.MessageOf(x) 800 } 801 802 // Deprecated: Use Mark.ProtoReflect.Descriptor instead. 803 func (*Mark) Descriptor() ([]byte, []int) { 804 return file_grpc_testing_control_proto_rawDescGZIP(), []int{7} 805 } 806 807 func (x *Mark) GetReset_() bool { 808 if x != nil { 809 return x.Reset_ 810 } 811 return false 812 } 813 814 type ClientArgs struct { 815 state protoimpl.MessageState `protogen:"open.v1"` 816 // Types that are valid to be assigned to Argtype: 817 // 818 // *ClientArgs_Setup 819 // *ClientArgs_Mark 820 Argtype isClientArgs_Argtype `protobuf_oneof:"argtype"` 821 unknownFields protoimpl.UnknownFields 822 sizeCache protoimpl.SizeCache 823 } 824 825 func (x *ClientArgs) Reset() { 826 *x = ClientArgs{} 827 mi := &file_grpc_testing_control_proto_msgTypes[8] 828 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 829 ms.StoreMessageInfo(mi) 830 } 831 832 func (x *ClientArgs) String() string { 833 return protoimpl.X.MessageStringOf(x) 834 } 835 836 func (*ClientArgs) ProtoMessage() {} 837 838 func (x *ClientArgs) ProtoReflect() protoreflect.Message { 839 mi := &file_grpc_testing_control_proto_msgTypes[8] 840 if x != nil { 841 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 842 if ms.LoadMessageInfo() == nil { 843 ms.StoreMessageInfo(mi) 844 } 845 return ms 846 } 847 return mi.MessageOf(x) 848 } 849 850 // Deprecated: Use ClientArgs.ProtoReflect.Descriptor instead. 851 func (*ClientArgs) Descriptor() ([]byte, []int) { 852 return file_grpc_testing_control_proto_rawDescGZIP(), []int{8} 853 } 854 855 func (x *ClientArgs) GetArgtype() isClientArgs_Argtype { 856 if x != nil { 857 return x.Argtype 858 } 859 return nil 860 } 861 862 func (x *ClientArgs) GetSetup() *ClientConfig { 863 if x != nil { 864 if x, ok := x.Argtype.(*ClientArgs_Setup); ok { 865 return x.Setup 866 } 867 } 868 return nil 869 } 870 871 func (x *ClientArgs) GetMark() *Mark { 872 if x != nil { 873 if x, ok := x.Argtype.(*ClientArgs_Mark); ok { 874 return x.Mark 875 } 876 } 877 return nil 878 } 879 880 type isClientArgs_Argtype interface { 881 isClientArgs_Argtype() 882 } 883 884 type ClientArgs_Setup struct { 885 Setup *ClientConfig `protobuf:"bytes,1,opt,name=setup,proto3,oneof"` 886 } 887 888 type ClientArgs_Mark struct { 889 Mark *Mark `protobuf:"bytes,2,opt,name=mark,proto3,oneof"` 890 } 891 892 func (*ClientArgs_Setup) isClientArgs_Argtype() {} 893 894 func (*ClientArgs_Mark) isClientArgs_Argtype() {} 895 896 type ServerConfig struct { 897 state protoimpl.MessageState `protogen:"open.v1"` 898 ServerType ServerType `protobuf:"varint,1,opt,name=server_type,json=serverType,proto3,enum=grpc.testing.ServerType" json:"server_type,omitempty"` 899 SecurityParams *SecurityParams `protobuf:"bytes,2,opt,name=security_params,json=securityParams,proto3" json:"security_params,omitempty"` 900 // Port on which to listen. Zero means pick unused port. 901 Port int32 `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"` 902 // Only for async server. Number of threads used to serve the requests. 903 AsyncServerThreads int32 `protobuf:"varint,7,opt,name=async_server_threads,json=asyncServerThreads,proto3" json:"async_server_threads,omitempty"` 904 // Specify the number of cores to limit server to, if desired 905 CoreLimit int32 `protobuf:"varint,8,opt,name=core_limit,json=coreLimit,proto3" json:"core_limit,omitempty"` 906 // payload config, used in generic server. 907 // Note this must NOT be used in proto (non-generic) servers. For proto servers, 908 // 'response sizes' must be configured from the 'response_size' field of the 909 // 'SimpleRequest' objects in RPC requests. 910 PayloadConfig *PayloadConfig `protobuf:"bytes,9,opt,name=payload_config,json=payloadConfig,proto3" json:"payload_config,omitempty"` 911 // Specify the cores we should run the server on, if desired 912 CoreList []int32 `protobuf:"varint,10,rep,packed,name=core_list,json=coreList,proto3" json:"core_list,omitempty"` 913 // If we use an OTHER_SERVER client_type, this string gives more detail 914 OtherServerApi string `protobuf:"bytes,11,opt,name=other_server_api,json=otherServerApi,proto3" json:"other_server_api,omitempty"` 915 // Number of threads that share each completion queue 916 ThreadsPerCq int32 `protobuf:"varint,12,opt,name=threads_per_cq,json=threadsPerCq,proto3" json:"threads_per_cq,omitempty"` 917 // Buffer pool size (no buffer pool specified if unset) 918 ResourceQuotaSize int32 `protobuf:"varint,1001,opt,name=resource_quota_size,json=resourceQuotaSize,proto3" json:"resource_quota_size,omitempty"` 919 ChannelArgs []*ChannelArg `protobuf:"bytes,1002,rep,name=channel_args,json=channelArgs,proto3" json:"channel_args,omitempty"` 920 // Number of server processes. 0 indicates no restriction. 921 ServerProcesses int32 `protobuf:"varint,21,opt,name=server_processes,json=serverProcesses,proto3" json:"server_processes,omitempty"` 922 unknownFields protoimpl.UnknownFields 923 sizeCache protoimpl.SizeCache 924 } 925 926 func (x *ServerConfig) Reset() { 927 *x = ServerConfig{} 928 mi := &file_grpc_testing_control_proto_msgTypes[9] 929 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 930 ms.StoreMessageInfo(mi) 931 } 932 933 func (x *ServerConfig) String() string { 934 return protoimpl.X.MessageStringOf(x) 935 } 936 937 func (*ServerConfig) ProtoMessage() {} 938 939 func (x *ServerConfig) ProtoReflect() protoreflect.Message { 940 mi := &file_grpc_testing_control_proto_msgTypes[9] 941 if x != nil { 942 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 943 if ms.LoadMessageInfo() == nil { 944 ms.StoreMessageInfo(mi) 945 } 946 return ms 947 } 948 return mi.MessageOf(x) 949 } 950 951 // Deprecated: Use ServerConfig.ProtoReflect.Descriptor instead. 952 func (*ServerConfig) Descriptor() ([]byte, []int) { 953 return file_grpc_testing_control_proto_rawDescGZIP(), []int{9} 954 } 955 956 func (x *ServerConfig) GetServerType() ServerType { 957 if x != nil { 958 return x.ServerType 959 } 960 return ServerType_SYNC_SERVER 961 } 962 963 func (x *ServerConfig) GetSecurityParams() *SecurityParams { 964 if x != nil { 965 return x.SecurityParams 966 } 967 return nil 968 } 969 970 func (x *ServerConfig) GetPort() int32 { 971 if x != nil { 972 return x.Port 973 } 974 return 0 975 } 976 977 func (x *ServerConfig) GetAsyncServerThreads() int32 { 978 if x != nil { 979 return x.AsyncServerThreads 980 } 981 return 0 982 } 983 984 func (x *ServerConfig) GetCoreLimit() int32 { 985 if x != nil { 986 return x.CoreLimit 987 } 988 return 0 989 } 990 991 func (x *ServerConfig) GetPayloadConfig() *PayloadConfig { 992 if x != nil { 993 return x.PayloadConfig 994 } 995 return nil 996 } 997 998 func (x *ServerConfig) GetCoreList() []int32 { 999 if x != nil { 1000 return x.CoreList 1001 } 1002 return nil 1003 } 1004 1005 func (x *ServerConfig) GetOtherServerApi() string { 1006 if x != nil { 1007 return x.OtherServerApi 1008 } 1009 return "" 1010 } 1011 1012 func (x *ServerConfig) GetThreadsPerCq() int32 { 1013 if x != nil { 1014 return x.ThreadsPerCq 1015 } 1016 return 0 1017 } 1018 1019 func (x *ServerConfig) GetResourceQuotaSize() int32 { 1020 if x != nil { 1021 return x.ResourceQuotaSize 1022 } 1023 return 0 1024 } 1025 1026 func (x *ServerConfig) GetChannelArgs() []*ChannelArg { 1027 if x != nil { 1028 return x.ChannelArgs 1029 } 1030 return nil 1031 } 1032 1033 func (x *ServerConfig) GetServerProcesses() int32 { 1034 if x != nil { 1035 return x.ServerProcesses 1036 } 1037 return 0 1038 } 1039 1040 type ServerArgs struct { 1041 state protoimpl.MessageState `protogen:"open.v1"` 1042 // Types that are valid to be assigned to Argtype: 1043 // 1044 // *ServerArgs_Setup 1045 // *ServerArgs_Mark 1046 Argtype isServerArgs_Argtype `protobuf_oneof:"argtype"` 1047 unknownFields protoimpl.UnknownFields 1048 sizeCache protoimpl.SizeCache 1049 } 1050 1051 func (x *ServerArgs) Reset() { 1052 *x = ServerArgs{} 1053 mi := &file_grpc_testing_control_proto_msgTypes[10] 1054 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1055 ms.StoreMessageInfo(mi) 1056 } 1057 1058 func (x *ServerArgs) String() string { 1059 return protoimpl.X.MessageStringOf(x) 1060 } 1061 1062 func (*ServerArgs) ProtoMessage() {} 1063 1064 func (x *ServerArgs) ProtoReflect() protoreflect.Message { 1065 mi := &file_grpc_testing_control_proto_msgTypes[10] 1066 if x != nil { 1067 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1068 if ms.LoadMessageInfo() == nil { 1069 ms.StoreMessageInfo(mi) 1070 } 1071 return ms 1072 } 1073 return mi.MessageOf(x) 1074 } 1075 1076 // Deprecated: Use ServerArgs.ProtoReflect.Descriptor instead. 1077 func (*ServerArgs) Descriptor() ([]byte, []int) { 1078 return file_grpc_testing_control_proto_rawDescGZIP(), []int{10} 1079 } 1080 1081 func (x *ServerArgs) GetArgtype() isServerArgs_Argtype { 1082 if x != nil { 1083 return x.Argtype 1084 } 1085 return nil 1086 } 1087 1088 func (x *ServerArgs) GetSetup() *ServerConfig { 1089 if x != nil { 1090 if x, ok := x.Argtype.(*ServerArgs_Setup); ok { 1091 return x.Setup 1092 } 1093 } 1094 return nil 1095 } 1096 1097 func (x *ServerArgs) GetMark() *Mark { 1098 if x != nil { 1099 if x, ok := x.Argtype.(*ServerArgs_Mark); ok { 1100 return x.Mark 1101 } 1102 } 1103 return nil 1104 } 1105 1106 type isServerArgs_Argtype interface { 1107 isServerArgs_Argtype() 1108 } 1109 1110 type ServerArgs_Setup struct { 1111 Setup *ServerConfig `protobuf:"bytes,1,opt,name=setup,proto3,oneof"` 1112 } 1113 1114 type ServerArgs_Mark struct { 1115 Mark *Mark `protobuf:"bytes,2,opt,name=mark,proto3,oneof"` 1116 } 1117 1118 func (*ServerArgs_Setup) isServerArgs_Argtype() {} 1119 1120 func (*ServerArgs_Mark) isServerArgs_Argtype() {} 1121 1122 type ServerStatus struct { 1123 state protoimpl.MessageState `protogen:"open.v1"` 1124 Stats *ServerStats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"` 1125 // the port bound by the server 1126 Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` 1127 // Number of cores available to the server 1128 Cores int32 `protobuf:"varint,3,opt,name=cores,proto3" json:"cores,omitempty"` 1129 unknownFields protoimpl.UnknownFields 1130 sizeCache protoimpl.SizeCache 1131 } 1132 1133 func (x *ServerStatus) Reset() { 1134 *x = ServerStatus{} 1135 mi := &file_grpc_testing_control_proto_msgTypes[11] 1136 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1137 ms.StoreMessageInfo(mi) 1138 } 1139 1140 func (x *ServerStatus) String() string { 1141 return protoimpl.X.MessageStringOf(x) 1142 } 1143 1144 func (*ServerStatus) ProtoMessage() {} 1145 1146 func (x *ServerStatus) ProtoReflect() protoreflect.Message { 1147 mi := &file_grpc_testing_control_proto_msgTypes[11] 1148 if x != nil { 1149 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1150 if ms.LoadMessageInfo() == nil { 1151 ms.StoreMessageInfo(mi) 1152 } 1153 return ms 1154 } 1155 return mi.MessageOf(x) 1156 } 1157 1158 // Deprecated: Use ServerStatus.ProtoReflect.Descriptor instead. 1159 func (*ServerStatus) Descriptor() ([]byte, []int) { 1160 return file_grpc_testing_control_proto_rawDescGZIP(), []int{11} 1161 } 1162 1163 func (x *ServerStatus) GetStats() *ServerStats { 1164 if x != nil { 1165 return x.Stats 1166 } 1167 return nil 1168 } 1169 1170 func (x *ServerStatus) GetPort() int32 { 1171 if x != nil { 1172 return x.Port 1173 } 1174 return 0 1175 } 1176 1177 func (x *ServerStatus) GetCores() int32 { 1178 if x != nil { 1179 return x.Cores 1180 } 1181 return 0 1182 } 1183 1184 type CoreRequest struct { 1185 state protoimpl.MessageState `protogen:"open.v1"` 1186 unknownFields protoimpl.UnknownFields 1187 sizeCache protoimpl.SizeCache 1188 } 1189 1190 func (x *CoreRequest) Reset() { 1191 *x = CoreRequest{} 1192 mi := &file_grpc_testing_control_proto_msgTypes[12] 1193 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1194 ms.StoreMessageInfo(mi) 1195 } 1196 1197 func (x *CoreRequest) String() string { 1198 return protoimpl.X.MessageStringOf(x) 1199 } 1200 1201 func (*CoreRequest) ProtoMessage() {} 1202 1203 func (x *CoreRequest) ProtoReflect() protoreflect.Message { 1204 mi := &file_grpc_testing_control_proto_msgTypes[12] 1205 if x != nil { 1206 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1207 if ms.LoadMessageInfo() == nil { 1208 ms.StoreMessageInfo(mi) 1209 } 1210 return ms 1211 } 1212 return mi.MessageOf(x) 1213 } 1214 1215 // Deprecated: Use CoreRequest.ProtoReflect.Descriptor instead. 1216 func (*CoreRequest) Descriptor() ([]byte, []int) { 1217 return file_grpc_testing_control_proto_rawDescGZIP(), []int{12} 1218 } 1219 1220 type CoreResponse struct { 1221 state protoimpl.MessageState `protogen:"open.v1"` 1222 // Number of cores available on the server 1223 Cores int32 `protobuf:"varint,1,opt,name=cores,proto3" json:"cores,omitempty"` 1224 unknownFields protoimpl.UnknownFields 1225 sizeCache protoimpl.SizeCache 1226 } 1227 1228 func (x *CoreResponse) Reset() { 1229 *x = CoreResponse{} 1230 mi := &file_grpc_testing_control_proto_msgTypes[13] 1231 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1232 ms.StoreMessageInfo(mi) 1233 } 1234 1235 func (x *CoreResponse) String() string { 1236 return protoimpl.X.MessageStringOf(x) 1237 } 1238 1239 func (*CoreResponse) ProtoMessage() {} 1240 1241 func (x *CoreResponse) ProtoReflect() protoreflect.Message { 1242 mi := &file_grpc_testing_control_proto_msgTypes[13] 1243 if x != nil { 1244 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1245 if ms.LoadMessageInfo() == nil { 1246 ms.StoreMessageInfo(mi) 1247 } 1248 return ms 1249 } 1250 return mi.MessageOf(x) 1251 } 1252 1253 // Deprecated: Use CoreResponse.ProtoReflect.Descriptor instead. 1254 func (*CoreResponse) Descriptor() ([]byte, []int) { 1255 return file_grpc_testing_control_proto_rawDescGZIP(), []int{13} 1256 } 1257 1258 func (x *CoreResponse) GetCores() int32 { 1259 if x != nil { 1260 return x.Cores 1261 } 1262 return 0 1263 } 1264 1265 type Void struct { 1266 state protoimpl.MessageState `protogen:"open.v1"` 1267 unknownFields protoimpl.UnknownFields 1268 sizeCache protoimpl.SizeCache 1269 } 1270 1271 func (x *Void) Reset() { 1272 *x = Void{} 1273 mi := &file_grpc_testing_control_proto_msgTypes[14] 1274 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1275 ms.StoreMessageInfo(mi) 1276 } 1277 1278 func (x *Void) String() string { 1279 return protoimpl.X.MessageStringOf(x) 1280 } 1281 1282 func (*Void) ProtoMessage() {} 1283 1284 func (x *Void) ProtoReflect() protoreflect.Message { 1285 mi := &file_grpc_testing_control_proto_msgTypes[14] 1286 if x != nil { 1287 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1288 if ms.LoadMessageInfo() == nil { 1289 ms.StoreMessageInfo(mi) 1290 } 1291 return ms 1292 } 1293 return mi.MessageOf(x) 1294 } 1295 1296 // Deprecated: Use Void.ProtoReflect.Descriptor instead. 1297 func (*Void) Descriptor() ([]byte, []int) { 1298 return file_grpc_testing_control_proto_rawDescGZIP(), []int{14} 1299 } 1300 1301 // A single performance scenario: input to qps_json_driver 1302 type Scenario struct { 1303 state protoimpl.MessageState `protogen:"open.v1"` 1304 // Human readable name for this scenario 1305 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1306 // Client configuration 1307 ClientConfig *ClientConfig `protobuf:"bytes,2,opt,name=client_config,json=clientConfig,proto3" json:"client_config,omitempty"` 1308 // Number of clients to start for the test 1309 NumClients int32 `protobuf:"varint,3,opt,name=num_clients,json=numClients,proto3" json:"num_clients,omitempty"` 1310 // Server configuration 1311 ServerConfig *ServerConfig `protobuf:"bytes,4,opt,name=server_config,json=serverConfig,proto3" json:"server_config,omitempty"` 1312 // Number of servers to start for the test 1313 NumServers int32 `protobuf:"varint,5,opt,name=num_servers,json=numServers,proto3" json:"num_servers,omitempty"` 1314 // Warmup period, in seconds 1315 WarmupSeconds int32 `protobuf:"varint,6,opt,name=warmup_seconds,json=warmupSeconds,proto3" json:"warmup_seconds,omitempty"` 1316 // Benchmark time, in seconds 1317 BenchmarkSeconds int32 `protobuf:"varint,7,opt,name=benchmark_seconds,json=benchmarkSeconds,proto3" json:"benchmark_seconds,omitempty"` 1318 // Number of workers to spawn locally (usually zero) 1319 SpawnLocalWorkerCount int32 `protobuf:"varint,8,opt,name=spawn_local_worker_count,json=spawnLocalWorkerCount,proto3" json:"spawn_local_worker_count,omitempty"` 1320 unknownFields protoimpl.UnknownFields 1321 sizeCache protoimpl.SizeCache 1322 } 1323 1324 func (x *Scenario) Reset() { 1325 *x = Scenario{} 1326 mi := &file_grpc_testing_control_proto_msgTypes[15] 1327 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1328 ms.StoreMessageInfo(mi) 1329 } 1330 1331 func (x *Scenario) String() string { 1332 return protoimpl.X.MessageStringOf(x) 1333 } 1334 1335 func (*Scenario) ProtoMessage() {} 1336 1337 func (x *Scenario) ProtoReflect() protoreflect.Message { 1338 mi := &file_grpc_testing_control_proto_msgTypes[15] 1339 if x != nil { 1340 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1341 if ms.LoadMessageInfo() == nil { 1342 ms.StoreMessageInfo(mi) 1343 } 1344 return ms 1345 } 1346 return mi.MessageOf(x) 1347 } 1348 1349 // Deprecated: Use Scenario.ProtoReflect.Descriptor instead. 1350 func (*Scenario) Descriptor() ([]byte, []int) { 1351 return file_grpc_testing_control_proto_rawDescGZIP(), []int{15} 1352 } 1353 1354 func (x *Scenario) GetName() string { 1355 if x != nil { 1356 return x.Name 1357 } 1358 return "" 1359 } 1360 1361 func (x *Scenario) GetClientConfig() *ClientConfig { 1362 if x != nil { 1363 return x.ClientConfig 1364 } 1365 return nil 1366 } 1367 1368 func (x *Scenario) GetNumClients() int32 { 1369 if x != nil { 1370 return x.NumClients 1371 } 1372 return 0 1373 } 1374 1375 func (x *Scenario) GetServerConfig() *ServerConfig { 1376 if x != nil { 1377 return x.ServerConfig 1378 } 1379 return nil 1380 } 1381 1382 func (x *Scenario) GetNumServers() int32 { 1383 if x != nil { 1384 return x.NumServers 1385 } 1386 return 0 1387 } 1388 1389 func (x *Scenario) GetWarmupSeconds() int32 { 1390 if x != nil { 1391 return x.WarmupSeconds 1392 } 1393 return 0 1394 } 1395 1396 func (x *Scenario) GetBenchmarkSeconds() int32 { 1397 if x != nil { 1398 return x.BenchmarkSeconds 1399 } 1400 return 0 1401 } 1402 1403 func (x *Scenario) GetSpawnLocalWorkerCount() int32 { 1404 if x != nil { 1405 return x.SpawnLocalWorkerCount 1406 } 1407 return 0 1408 } 1409 1410 // A set of scenarios to be run with qps_json_driver 1411 type Scenarios struct { 1412 state protoimpl.MessageState `protogen:"open.v1"` 1413 Scenarios []*Scenario `protobuf:"bytes,1,rep,name=scenarios,proto3" json:"scenarios,omitempty"` 1414 unknownFields protoimpl.UnknownFields 1415 sizeCache protoimpl.SizeCache 1416 } 1417 1418 func (x *Scenarios) Reset() { 1419 *x = Scenarios{} 1420 mi := &file_grpc_testing_control_proto_msgTypes[16] 1421 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1422 ms.StoreMessageInfo(mi) 1423 } 1424 1425 func (x *Scenarios) String() string { 1426 return protoimpl.X.MessageStringOf(x) 1427 } 1428 1429 func (*Scenarios) ProtoMessage() {} 1430 1431 func (x *Scenarios) ProtoReflect() protoreflect.Message { 1432 mi := &file_grpc_testing_control_proto_msgTypes[16] 1433 if x != nil { 1434 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1435 if ms.LoadMessageInfo() == nil { 1436 ms.StoreMessageInfo(mi) 1437 } 1438 return ms 1439 } 1440 return mi.MessageOf(x) 1441 } 1442 1443 // Deprecated: Use Scenarios.ProtoReflect.Descriptor instead. 1444 func (*Scenarios) Descriptor() ([]byte, []int) { 1445 return file_grpc_testing_control_proto_rawDescGZIP(), []int{16} 1446 } 1447 1448 func (x *Scenarios) GetScenarios() []*Scenario { 1449 if x != nil { 1450 return x.Scenarios 1451 } 1452 return nil 1453 } 1454 1455 // Basic summary that can be computed from ClientStats and ServerStats 1456 // once the scenario has finished. 1457 type ScenarioResultSummary struct { 1458 state protoimpl.MessageState `protogen:"open.v1"` 1459 // Total number of operations per second over all clients. What is counted as 1 'operation' depends on the benchmark scenarios: 1460 // For unary benchmarks, an operation is processing of a single unary RPC. 1461 // For streaming benchmarks, an operation is processing of a single ping pong of request and response. 1462 Qps float64 `protobuf:"fixed64,1,opt,name=qps,proto3" json:"qps,omitempty"` 1463 // QPS per server core. 1464 QpsPerServerCore float64 `protobuf:"fixed64,2,opt,name=qps_per_server_core,json=qpsPerServerCore,proto3" json:"qps_per_server_core,omitempty"` 1465 // The total server cpu load based on system time across all server processes, expressed as percentage of a single cpu core. 1466 // For example, 85 implies 85% of a cpu core, 125 implies 125% of a cpu core. Since we are accumulating the cpu load across all the server 1467 // processes, the value could > 100 when there are multiple servers or a single server using multiple threads and cores. 1468 // Same explanation for the total client cpu load below. 1469 ServerSystemTime float64 `protobuf:"fixed64,3,opt,name=server_system_time,json=serverSystemTime,proto3" json:"server_system_time,omitempty"` 1470 // The total server cpu load based on user time across all server processes, expressed as percentage of a single cpu core. (85 => 85%, 125 => 125%) 1471 ServerUserTime float64 `protobuf:"fixed64,4,opt,name=server_user_time,json=serverUserTime,proto3" json:"server_user_time,omitempty"` 1472 // The total client cpu load based on system time across all client processes, expressed as percentage of a single cpu core. (85 => 85%, 125 => 125%) 1473 ClientSystemTime float64 `protobuf:"fixed64,5,opt,name=client_system_time,json=clientSystemTime,proto3" json:"client_system_time,omitempty"` 1474 // The total client cpu load based on user time across all client processes, expressed as percentage of a single cpu core. (85 => 85%, 125 => 125%) 1475 ClientUserTime float64 `protobuf:"fixed64,6,opt,name=client_user_time,json=clientUserTime,proto3" json:"client_user_time,omitempty"` 1476 // X% latency percentiles (in nanoseconds) 1477 Latency_50 float64 `protobuf:"fixed64,7,opt,name=latency_50,json=latency50,proto3" json:"latency_50,omitempty"` 1478 Latency_90 float64 `protobuf:"fixed64,8,opt,name=latency_90,json=latency90,proto3" json:"latency_90,omitempty"` 1479 Latency_95 float64 `protobuf:"fixed64,9,opt,name=latency_95,json=latency95,proto3" json:"latency_95,omitempty"` 1480 Latency_99 float64 `protobuf:"fixed64,10,opt,name=latency_99,json=latency99,proto3" json:"latency_99,omitempty"` 1481 Latency_999 float64 `protobuf:"fixed64,11,opt,name=latency_999,json=latency999,proto3" json:"latency_999,omitempty"` 1482 // server cpu usage percentage 1483 ServerCpuUsage float64 `protobuf:"fixed64,12,opt,name=server_cpu_usage,json=serverCpuUsage,proto3" json:"server_cpu_usage,omitempty"` 1484 // Number of requests that succeeded/failed 1485 SuccessfulRequestsPerSecond float64 `protobuf:"fixed64,13,opt,name=successful_requests_per_second,json=successfulRequestsPerSecond,proto3" json:"successful_requests_per_second,omitempty"` 1486 FailedRequestsPerSecond float64 `protobuf:"fixed64,14,opt,name=failed_requests_per_second,json=failedRequestsPerSecond,proto3" json:"failed_requests_per_second,omitempty"` 1487 // Number of polls called inside completion queue per request 1488 ClientPollsPerRequest float64 `protobuf:"fixed64,15,opt,name=client_polls_per_request,json=clientPollsPerRequest,proto3" json:"client_polls_per_request,omitempty"` 1489 ServerPollsPerRequest float64 `protobuf:"fixed64,16,opt,name=server_polls_per_request,json=serverPollsPerRequest,proto3" json:"server_polls_per_request,omitempty"` 1490 // Queries per CPU-sec over all servers or clients 1491 ServerQueriesPerCpuSec float64 `protobuf:"fixed64,17,opt,name=server_queries_per_cpu_sec,json=serverQueriesPerCpuSec,proto3" json:"server_queries_per_cpu_sec,omitempty"` 1492 ClientQueriesPerCpuSec float64 `protobuf:"fixed64,18,opt,name=client_queries_per_cpu_sec,json=clientQueriesPerCpuSec,proto3" json:"client_queries_per_cpu_sec,omitempty"` 1493 // Start and end time for the test scenario 1494 StartTime *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 1495 EndTime *timestamppb.Timestamp `protobuf:"bytes,20,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 1496 unknownFields protoimpl.UnknownFields 1497 sizeCache protoimpl.SizeCache 1498 } 1499 1500 func (x *ScenarioResultSummary) Reset() { 1501 *x = ScenarioResultSummary{} 1502 mi := &file_grpc_testing_control_proto_msgTypes[17] 1503 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1504 ms.StoreMessageInfo(mi) 1505 } 1506 1507 func (x *ScenarioResultSummary) String() string { 1508 return protoimpl.X.MessageStringOf(x) 1509 } 1510 1511 func (*ScenarioResultSummary) ProtoMessage() {} 1512 1513 func (x *ScenarioResultSummary) ProtoReflect() protoreflect.Message { 1514 mi := &file_grpc_testing_control_proto_msgTypes[17] 1515 if x != nil { 1516 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1517 if ms.LoadMessageInfo() == nil { 1518 ms.StoreMessageInfo(mi) 1519 } 1520 return ms 1521 } 1522 return mi.MessageOf(x) 1523 } 1524 1525 // Deprecated: Use ScenarioResultSummary.ProtoReflect.Descriptor instead. 1526 func (*ScenarioResultSummary) Descriptor() ([]byte, []int) { 1527 return file_grpc_testing_control_proto_rawDescGZIP(), []int{17} 1528 } 1529 1530 func (x *ScenarioResultSummary) GetQps() float64 { 1531 if x != nil { 1532 return x.Qps 1533 } 1534 return 0 1535 } 1536 1537 func (x *ScenarioResultSummary) GetQpsPerServerCore() float64 { 1538 if x != nil { 1539 return x.QpsPerServerCore 1540 } 1541 return 0 1542 } 1543 1544 func (x *ScenarioResultSummary) GetServerSystemTime() float64 { 1545 if x != nil { 1546 return x.ServerSystemTime 1547 } 1548 return 0 1549 } 1550 1551 func (x *ScenarioResultSummary) GetServerUserTime() float64 { 1552 if x != nil { 1553 return x.ServerUserTime 1554 } 1555 return 0 1556 } 1557 1558 func (x *ScenarioResultSummary) GetClientSystemTime() float64 { 1559 if x != nil { 1560 return x.ClientSystemTime 1561 } 1562 return 0 1563 } 1564 1565 func (x *ScenarioResultSummary) GetClientUserTime() float64 { 1566 if x != nil { 1567 return x.ClientUserTime 1568 } 1569 return 0 1570 } 1571 1572 func (x *ScenarioResultSummary) GetLatency_50() float64 { 1573 if x != nil { 1574 return x.Latency_50 1575 } 1576 return 0 1577 } 1578 1579 func (x *ScenarioResultSummary) GetLatency_90() float64 { 1580 if x != nil { 1581 return x.Latency_90 1582 } 1583 return 0 1584 } 1585 1586 func (x *ScenarioResultSummary) GetLatency_95() float64 { 1587 if x != nil { 1588 return x.Latency_95 1589 } 1590 return 0 1591 } 1592 1593 func (x *ScenarioResultSummary) GetLatency_99() float64 { 1594 if x != nil { 1595 return x.Latency_99 1596 } 1597 return 0 1598 } 1599 1600 func (x *ScenarioResultSummary) GetLatency_999() float64 { 1601 if x != nil { 1602 return x.Latency_999 1603 } 1604 return 0 1605 } 1606 1607 func (x *ScenarioResultSummary) GetServerCpuUsage() float64 { 1608 if x != nil { 1609 return x.ServerCpuUsage 1610 } 1611 return 0 1612 } 1613 1614 func (x *ScenarioResultSummary) GetSuccessfulRequestsPerSecond() float64 { 1615 if x != nil { 1616 return x.SuccessfulRequestsPerSecond 1617 } 1618 return 0 1619 } 1620 1621 func (x *ScenarioResultSummary) GetFailedRequestsPerSecond() float64 { 1622 if x != nil { 1623 return x.FailedRequestsPerSecond 1624 } 1625 return 0 1626 } 1627 1628 func (x *ScenarioResultSummary) GetClientPollsPerRequest() float64 { 1629 if x != nil { 1630 return x.ClientPollsPerRequest 1631 } 1632 return 0 1633 } 1634 1635 func (x *ScenarioResultSummary) GetServerPollsPerRequest() float64 { 1636 if x != nil { 1637 return x.ServerPollsPerRequest 1638 } 1639 return 0 1640 } 1641 1642 func (x *ScenarioResultSummary) GetServerQueriesPerCpuSec() float64 { 1643 if x != nil { 1644 return x.ServerQueriesPerCpuSec 1645 } 1646 return 0 1647 } 1648 1649 func (x *ScenarioResultSummary) GetClientQueriesPerCpuSec() float64 { 1650 if x != nil { 1651 return x.ClientQueriesPerCpuSec 1652 } 1653 return 0 1654 } 1655 1656 func (x *ScenarioResultSummary) GetStartTime() *timestamppb.Timestamp { 1657 if x != nil { 1658 return x.StartTime 1659 } 1660 return nil 1661 } 1662 1663 func (x *ScenarioResultSummary) GetEndTime() *timestamppb.Timestamp { 1664 if x != nil { 1665 return x.EndTime 1666 } 1667 return nil 1668 } 1669 1670 // Results of a single benchmark scenario. 1671 type ScenarioResult struct { 1672 state protoimpl.MessageState `protogen:"open.v1"` 1673 // Inputs used to run the scenario. 1674 Scenario *Scenario `protobuf:"bytes,1,opt,name=scenario,proto3" json:"scenario,omitempty"` 1675 // Histograms from all clients merged into one histogram. 1676 Latencies *HistogramData `protobuf:"bytes,2,opt,name=latencies,proto3" json:"latencies,omitempty"` 1677 // Client stats for each client 1678 ClientStats []*ClientStats `protobuf:"bytes,3,rep,name=client_stats,json=clientStats,proto3" json:"client_stats,omitempty"` 1679 // Server stats for each server 1680 ServerStats []*ServerStats `protobuf:"bytes,4,rep,name=server_stats,json=serverStats,proto3" json:"server_stats,omitempty"` 1681 // Number of cores available to each server 1682 ServerCores []int32 `protobuf:"varint,5,rep,packed,name=server_cores,json=serverCores,proto3" json:"server_cores,omitempty"` 1683 // An after-the-fact computed summary 1684 Summary *ScenarioResultSummary `protobuf:"bytes,6,opt,name=summary,proto3" json:"summary,omitempty"` 1685 // Information on success or failure of each worker 1686 ClientSuccess []bool `protobuf:"varint,7,rep,packed,name=client_success,json=clientSuccess,proto3" json:"client_success,omitempty"` 1687 ServerSuccess []bool `protobuf:"varint,8,rep,packed,name=server_success,json=serverSuccess,proto3" json:"server_success,omitempty"` 1688 // Number of failed requests (one row per status code seen) 1689 RequestResults []*RequestResultCount `protobuf:"bytes,9,rep,name=request_results,json=requestResults,proto3" json:"request_results,omitempty"` 1690 unknownFields protoimpl.UnknownFields 1691 sizeCache protoimpl.SizeCache 1692 } 1693 1694 func (x *ScenarioResult) Reset() { 1695 *x = ScenarioResult{} 1696 mi := &file_grpc_testing_control_proto_msgTypes[18] 1697 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1698 ms.StoreMessageInfo(mi) 1699 } 1700 1701 func (x *ScenarioResult) String() string { 1702 return protoimpl.X.MessageStringOf(x) 1703 } 1704 1705 func (*ScenarioResult) ProtoMessage() {} 1706 1707 func (x *ScenarioResult) ProtoReflect() protoreflect.Message { 1708 mi := &file_grpc_testing_control_proto_msgTypes[18] 1709 if x != nil { 1710 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1711 if ms.LoadMessageInfo() == nil { 1712 ms.StoreMessageInfo(mi) 1713 } 1714 return ms 1715 } 1716 return mi.MessageOf(x) 1717 } 1718 1719 // Deprecated: Use ScenarioResult.ProtoReflect.Descriptor instead. 1720 func (*ScenarioResult) Descriptor() ([]byte, []int) { 1721 return file_grpc_testing_control_proto_rawDescGZIP(), []int{18} 1722 } 1723 1724 func (x *ScenarioResult) GetScenario() *Scenario { 1725 if x != nil { 1726 return x.Scenario 1727 } 1728 return nil 1729 } 1730 1731 func (x *ScenarioResult) GetLatencies() *HistogramData { 1732 if x != nil { 1733 return x.Latencies 1734 } 1735 return nil 1736 } 1737 1738 func (x *ScenarioResult) GetClientStats() []*ClientStats { 1739 if x != nil { 1740 return x.ClientStats 1741 } 1742 return nil 1743 } 1744 1745 func (x *ScenarioResult) GetServerStats() []*ServerStats { 1746 if x != nil { 1747 return x.ServerStats 1748 } 1749 return nil 1750 } 1751 1752 func (x *ScenarioResult) GetServerCores() []int32 { 1753 if x != nil { 1754 return x.ServerCores 1755 } 1756 return nil 1757 } 1758 1759 func (x *ScenarioResult) GetSummary() *ScenarioResultSummary { 1760 if x != nil { 1761 return x.Summary 1762 } 1763 return nil 1764 } 1765 1766 func (x *ScenarioResult) GetClientSuccess() []bool { 1767 if x != nil { 1768 return x.ClientSuccess 1769 } 1770 return nil 1771 } 1772 1773 func (x *ScenarioResult) GetServerSuccess() []bool { 1774 if x != nil { 1775 return x.ServerSuccess 1776 } 1777 return nil 1778 } 1779 1780 func (x *ScenarioResult) GetRequestResults() []*RequestResultCount { 1781 if x != nil { 1782 return x.RequestResults 1783 } 1784 return nil 1785 } 1786 1787 var File_grpc_testing_control_proto protoreflect.FileDescriptor 1788 1789 const file_grpc_testing_control_proto_rawDesc = "" + 1790 "\n" + 1791 "\x1agrpc/testing/control.proto\x12\fgrpc.testing\x1a\x1bgrpc/testing/payloads.proto\x1a\x18grpc/testing/stats.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"2\n" + 1792 "\rPoissonParams\x12!\n" + 1793 "\foffered_load\x18\x01 \x01(\x01R\vofferedLoad\"\x12\n" + 1794 "\x10ClosedLoopParams\"\x90\x01\n" + 1795 "\n" + 1796 "LoadParams\x12A\n" + 1797 "\vclosed_loop\x18\x01 \x01(\v2\x1e.grpc.testing.ClosedLoopParamsH\x00R\n" + 1798 "closedLoop\x127\n" + 1799 "\apoisson\x18\x02 \x01(\v2\x1b.grpc.testing.PoissonParamsH\x00R\apoissonB\x06\n" + 1800 "\x04load\"\x7f\n" + 1801 "\x0eSecurityParams\x12\x1e\n" + 1802 "\vuse_test_ca\x18\x01 \x01(\bR\tuseTestCa\x120\n" + 1803 "\x14server_host_override\x18\x02 \x01(\tR\x12serverHostOverride\x12\x1b\n" + 1804 "\tcred_type\x18\x03 \x01(\tR\bcredType\"g\n" + 1805 "\n" + 1806 "ChannelArg\x12\x12\n" + 1807 "\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n" + 1808 "\tstr_value\x18\x02 \x01(\tH\x00R\bstrValue\x12\x1d\n" + 1809 "\tint_value\x18\x03 \x01(\x05H\x00R\bintValueB\a\n" + 1810 "\x05value\"\xf6\a\n" + 1811 "\fClientConfig\x12%\n" + 1812 "\x0eserver_targets\x18\x01 \x03(\tR\rserverTargets\x129\n" + 1813 "\vclient_type\x18\x02 \x01(\x0e2\x18.grpc.testing.ClientTypeR\n" + 1814 "clientType\x12E\n" + 1815 "\x0fsecurity_params\x18\x03 \x01(\v2\x1c.grpc.testing.SecurityParamsR\x0esecurityParams\x12?\n" + 1816 "\x1coutstanding_rpcs_per_channel\x18\x04 \x01(\x05R\x19outstandingRpcsPerChannel\x12'\n" + 1817 "\x0fclient_channels\x18\x05 \x01(\x05R\x0eclientChannels\x120\n" + 1818 "\x14async_client_threads\x18\a \x01(\x05R\x12asyncClientThreads\x120\n" + 1819 "\brpc_type\x18\b \x01(\x0e2\x15.grpc.testing.RpcTypeR\arpcType\x129\n" + 1820 "\vload_params\x18\n" + 1821 " \x01(\v2\x18.grpc.testing.LoadParamsR\n" + 1822 "loadParams\x12B\n" + 1823 "\x0epayload_config\x18\v \x01(\v2\x1b.grpc.testing.PayloadConfigR\rpayloadConfig\x12H\n" + 1824 "\x10histogram_params\x18\f \x01(\v2\x1d.grpc.testing.HistogramParamsR\x0fhistogramParams\x12\x1b\n" + 1825 "\tcore_list\x18\r \x03(\x05R\bcoreList\x12\x1d\n" + 1826 "\n" + 1827 "core_limit\x18\x0e \x01(\x05R\tcoreLimit\x12(\n" + 1828 "\x10other_client_api\x18\x0f \x01(\tR\x0eotherClientApi\x12;\n" + 1829 "\fchannel_args\x18\x10 \x03(\v2\x18.grpc.testing.ChannelArgR\vchannelArgs\x12$\n" + 1830 "\x0ethreads_per_cq\x18\x11 \x01(\x05R\fthreadsPerCq\x12.\n" + 1831 "\x13messages_per_stream\x18\x12 \x01(\x05R\x11messagesPerStream\x12(\n" + 1832 "\x10use_coalesce_api\x18\x13 \x01(\bR\x0euseCoalesceApi\x12X\n" + 1833 ")median_latency_collection_interval_millis\x18\x14 \x01(\x05R%medianLatencyCollectionIntervalMillis\x12)\n" + 1834 "\x10client_processes\x18\x15 \x01(\x05R\x0fclientProcesses\"?\n" + 1835 "\fClientStatus\x12/\n" + 1836 "\x05stats\x18\x01 \x01(\v2\x19.grpc.testing.ClientStatsR\x05stats\"\x1c\n" + 1837 "\x04Mark\x12\x14\n" + 1838 "\x05reset\x18\x01 \x01(\bR\x05reset\"u\n" + 1839 "\n" + 1840 "ClientArgs\x122\n" + 1841 "\x05setup\x18\x01 \x01(\v2\x1a.grpc.testing.ClientConfigH\x00R\x05setup\x12(\n" + 1842 "\x04mark\x18\x02 \x01(\v2\x12.grpc.testing.MarkH\x00R\x04markB\t\n" + 1843 "\aargtype\"\xc0\x04\n" + 1844 "\fServerConfig\x129\n" + 1845 "\vserver_type\x18\x01 \x01(\x0e2\x18.grpc.testing.ServerTypeR\n" + 1846 "serverType\x12E\n" + 1847 "\x0fsecurity_params\x18\x02 \x01(\v2\x1c.grpc.testing.SecurityParamsR\x0esecurityParams\x12\x12\n" + 1848 "\x04port\x18\x04 \x01(\x05R\x04port\x120\n" + 1849 "\x14async_server_threads\x18\a \x01(\x05R\x12asyncServerThreads\x12\x1d\n" + 1850 "\n" + 1851 "core_limit\x18\b \x01(\x05R\tcoreLimit\x12B\n" + 1852 "\x0epayload_config\x18\t \x01(\v2\x1b.grpc.testing.PayloadConfigR\rpayloadConfig\x12\x1b\n" + 1853 "\tcore_list\x18\n" + 1854 " \x03(\x05R\bcoreList\x12(\n" + 1855 "\x10other_server_api\x18\v \x01(\tR\x0eotherServerApi\x12$\n" + 1856 "\x0ethreads_per_cq\x18\f \x01(\x05R\fthreadsPerCq\x12/\n" + 1857 "\x13resource_quota_size\x18\xe9\a \x01(\x05R\x11resourceQuotaSize\x12<\n" + 1858 "\fchannel_args\x18\xea\a \x03(\v2\x18.grpc.testing.ChannelArgR\vchannelArgs\x12)\n" + 1859 "\x10server_processes\x18\x15 \x01(\x05R\x0fserverProcesses\"u\n" + 1860 "\n" + 1861 "ServerArgs\x122\n" + 1862 "\x05setup\x18\x01 \x01(\v2\x1a.grpc.testing.ServerConfigH\x00R\x05setup\x12(\n" + 1863 "\x04mark\x18\x02 \x01(\v2\x12.grpc.testing.MarkH\x00R\x04markB\t\n" + 1864 "\aargtype\"i\n" + 1865 "\fServerStatus\x12/\n" + 1866 "\x05stats\x18\x01 \x01(\v2\x19.grpc.testing.ServerStatsR\x05stats\x12\x12\n" + 1867 "\x04port\x18\x02 \x01(\x05R\x04port\x12\x14\n" + 1868 "\x05cores\x18\x03 \x01(\x05R\x05cores\"\r\n" + 1869 "\vCoreRequest\"$\n" + 1870 "\fCoreResponse\x12\x14\n" + 1871 "\x05cores\x18\x01 \x01(\x05R\x05cores\"\x06\n" + 1872 "\x04Void\"\xef\x02\n" + 1873 "\bScenario\x12\x12\n" + 1874 "\x04name\x18\x01 \x01(\tR\x04name\x12?\n" + 1875 "\rclient_config\x18\x02 \x01(\v2\x1a.grpc.testing.ClientConfigR\fclientConfig\x12\x1f\n" + 1876 "\vnum_clients\x18\x03 \x01(\x05R\n" + 1877 "numClients\x12?\n" + 1878 "\rserver_config\x18\x04 \x01(\v2\x1a.grpc.testing.ServerConfigR\fserverConfig\x12\x1f\n" + 1879 "\vnum_servers\x18\x05 \x01(\x05R\n" + 1880 "numServers\x12%\n" + 1881 "\x0ewarmup_seconds\x18\x06 \x01(\x05R\rwarmupSeconds\x12+\n" + 1882 "\x11benchmark_seconds\x18\a \x01(\x05R\x10benchmarkSeconds\x127\n" + 1883 "\x18spawn_local_worker_count\x18\b \x01(\x05R\x15spawnLocalWorkerCount\"A\n" + 1884 "\tScenarios\x124\n" + 1885 "\tscenarios\x18\x01 \x03(\v2\x16.grpc.testing.ScenarioR\tscenarios\"\xad\a\n" + 1886 "\x15ScenarioResultSummary\x12\x10\n" + 1887 "\x03qps\x18\x01 \x01(\x01R\x03qps\x12-\n" + 1888 "\x13qps_per_server_core\x18\x02 \x01(\x01R\x10qpsPerServerCore\x12,\n" + 1889 "\x12server_system_time\x18\x03 \x01(\x01R\x10serverSystemTime\x12(\n" + 1890 "\x10server_user_time\x18\x04 \x01(\x01R\x0eserverUserTime\x12,\n" + 1891 "\x12client_system_time\x18\x05 \x01(\x01R\x10clientSystemTime\x12(\n" + 1892 "\x10client_user_time\x18\x06 \x01(\x01R\x0eclientUserTime\x12\x1d\n" + 1893 "\n" + 1894 "latency_50\x18\a \x01(\x01R\tlatency50\x12\x1d\n" + 1895 "\n" + 1896 "latency_90\x18\b \x01(\x01R\tlatency90\x12\x1d\n" + 1897 "\n" + 1898 "latency_95\x18\t \x01(\x01R\tlatency95\x12\x1d\n" + 1899 "\n" + 1900 "latency_99\x18\n" + 1901 " \x01(\x01R\tlatency99\x12\x1f\n" + 1902 "\vlatency_999\x18\v \x01(\x01R\n" + 1903 "latency999\x12(\n" + 1904 "\x10server_cpu_usage\x18\f \x01(\x01R\x0eserverCpuUsage\x12C\n" + 1905 "\x1esuccessful_requests_per_second\x18\r \x01(\x01R\x1bsuccessfulRequestsPerSecond\x12;\n" + 1906 "\x1afailed_requests_per_second\x18\x0e \x01(\x01R\x17failedRequestsPerSecond\x127\n" + 1907 "\x18client_polls_per_request\x18\x0f \x01(\x01R\x15clientPollsPerRequest\x127\n" + 1908 "\x18server_polls_per_request\x18\x10 \x01(\x01R\x15serverPollsPerRequest\x12:\n" + 1909 "\x1aserver_queries_per_cpu_sec\x18\x11 \x01(\x01R\x16serverQueriesPerCpuSec\x12:\n" + 1910 "\x1aclient_queries_per_cpu_sec\x18\x12 \x01(\x01R\x16clientQueriesPerCpuSec\x129\n" + 1911 "\n" + 1912 "start_time\x18\x13 \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x125\n" + 1913 "\bend_time\x18\x14 \x01(\v2\x1a.google.protobuf.TimestampR\aendTime\"\xf6\x03\n" + 1914 "\x0eScenarioResult\x122\n" + 1915 "\bscenario\x18\x01 \x01(\v2\x16.grpc.testing.ScenarioR\bscenario\x129\n" + 1916 "\tlatencies\x18\x02 \x01(\v2\x1b.grpc.testing.HistogramDataR\tlatencies\x12<\n" + 1917 "\fclient_stats\x18\x03 \x03(\v2\x19.grpc.testing.ClientStatsR\vclientStats\x12<\n" + 1918 "\fserver_stats\x18\x04 \x03(\v2\x19.grpc.testing.ServerStatsR\vserverStats\x12!\n" + 1919 "\fserver_cores\x18\x05 \x03(\x05R\vserverCores\x12=\n" + 1920 "\asummary\x18\x06 \x01(\v2#.grpc.testing.ScenarioResultSummaryR\asummary\x12%\n" + 1921 "\x0eclient_success\x18\a \x03(\bR\rclientSuccess\x12%\n" + 1922 "\x0eserver_success\x18\b \x03(\bR\rserverSuccess\x12I\n" + 1923 "\x0frequest_results\x18\t \x03(\v2 .grpc.testing.RequestResultCountR\x0erequestResults*V\n" + 1924 "\n" + 1925 "ClientType\x12\x0f\n" + 1926 "\vSYNC_CLIENT\x10\x00\x12\x10\n" + 1927 "\fASYNC_CLIENT\x10\x01\x12\x10\n" + 1928 "\fOTHER_CLIENT\x10\x02\x12\x13\n" + 1929 "\x0fCALLBACK_CLIENT\x10\x03*p\n" + 1930 "\n" + 1931 "ServerType\x12\x0f\n" + 1932 "\vSYNC_SERVER\x10\x00\x12\x10\n" + 1933 "\fASYNC_SERVER\x10\x01\x12\x18\n" + 1934 "\x14ASYNC_GENERIC_SERVER\x10\x02\x12\x10\n" + 1935 "\fOTHER_SERVER\x10\x03\x12\x13\n" + 1936 "\x0fCALLBACK_SERVER\x10\x04*r\n" + 1937 "\aRpcType\x12\t\n" + 1938 "\x05UNARY\x10\x00\x12\r\n" + 1939 "\tSTREAMING\x10\x01\x12\x19\n" + 1940 "\x15STREAMING_FROM_CLIENT\x10\x02\x12\x19\n" + 1941 "\x15STREAMING_FROM_SERVER\x10\x03\x12\x17\n" + 1942 "\x13STREAMING_BOTH_WAYS\x10\x04B!\n" + 1943 "\x0fio.grpc.testingB\fControlProtoP\x01b\x06proto3" 1944 1945 var ( 1946 file_grpc_testing_control_proto_rawDescOnce sync.Once 1947 file_grpc_testing_control_proto_rawDescData []byte 1948 ) 1949 1950 func file_grpc_testing_control_proto_rawDescGZIP() []byte { 1951 file_grpc_testing_control_proto_rawDescOnce.Do(func() { 1952 file_grpc_testing_control_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_grpc_testing_control_proto_rawDesc), len(file_grpc_testing_control_proto_rawDesc))) 1953 }) 1954 return file_grpc_testing_control_proto_rawDescData 1955 } 1956 1957 var file_grpc_testing_control_proto_enumTypes = make([]protoimpl.EnumInfo, 3) 1958 var file_grpc_testing_control_proto_msgTypes = make([]protoimpl.MessageInfo, 19) 1959 var file_grpc_testing_control_proto_goTypes = []any{ 1960 (ClientType)(0), // 0: grpc.testing.ClientType 1961 (ServerType)(0), // 1: grpc.testing.ServerType 1962 (RpcType)(0), // 2: grpc.testing.RpcType 1963 (*PoissonParams)(nil), // 3: grpc.testing.PoissonParams 1964 (*ClosedLoopParams)(nil), // 4: grpc.testing.ClosedLoopParams 1965 (*LoadParams)(nil), // 5: grpc.testing.LoadParams 1966 (*SecurityParams)(nil), // 6: grpc.testing.SecurityParams 1967 (*ChannelArg)(nil), // 7: grpc.testing.ChannelArg 1968 (*ClientConfig)(nil), // 8: grpc.testing.ClientConfig 1969 (*ClientStatus)(nil), // 9: grpc.testing.ClientStatus 1970 (*Mark)(nil), // 10: grpc.testing.Mark 1971 (*ClientArgs)(nil), // 11: grpc.testing.ClientArgs 1972 (*ServerConfig)(nil), // 12: grpc.testing.ServerConfig 1973 (*ServerArgs)(nil), // 13: grpc.testing.ServerArgs 1974 (*ServerStatus)(nil), // 14: grpc.testing.ServerStatus 1975 (*CoreRequest)(nil), // 15: grpc.testing.CoreRequest 1976 (*CoreResponse)(nil), // 16: grpc.testing.CoreResponse 1977 (*Void)(nil), // 17: grpc.testing.Void 1978 (*Scenario)(nil), // 18: grpc.testing.Scenario 1979 (*Scenarios)(nil), // 19: grpc.testing.Scenarios 1980 (*ScenarioResultSummary)(nil), // 20: grpc.testing.ScenarioResultSummary 1981 (*ScenarioResult)(nil), // 21: grpc.testing.ScenarioResult 1982 (*PayloadConfig)(nil), // 22: grpc.testing.PayloadConfig 1983 (*HistogramParams)(nil), // 23: grpc.testing.HistogramParams 1984 (*ClientStats)(nil), // 24: grpc.testing.ClientStats 1985 (*ServerStats)(nil), // 25: grpc.testing.ServerStats 1986 (*timestamppb.Timestamp)(nil), // 26: google.protobuf.Timestamp 1987 (*HistogramData)(nil), // 27: grpc.testing.HistogramData 1988 (*RequestResultCount)(nil), // 28: grpc.testing.RequestResultCount 1989 } 1990 var file_grpc_testing_control_proto_depIdxs = []int32{ 1991 4, // 0: grpc.testing.LoadParams.closed_loop:type_name -> grpc.testing.ClosedLoopParams 1992 3, // 1: grpc.testing.LoadParams.poisson:type_name -> grpc.testing.PoissonParams 1993 0, // 2: grpc.testing.ClientConfig.client_type:type_name -> grpc.testing.ClientType 1994 6, // 3: grpc.testing.ClientConfig.security_params:type_name -> grpc.testing.SecurityParams 1995 2, // 4: grpc.testing.ClientConfig.rpc_type:type_name -> grpc.testing.RpcType 1996 5, // 5: grpc.testing.ClientConfig.load_params:type_name -> grpc.testing.LoadParams 1997 22, // 6: grpc.testing.ClientConfig.payload_config:type_name -> grpc.testing.PayloadConfig 1998 23, // 7: grpc.testing.ClientConfig.histogram_params:type_name -> grpc.testing.HistogramParams 1999 7, // 8: grpc.testing.ClientConfig.channel_args:type_name -> grpc.testing.ChannelArg 2000 24, // 9: grpc.testing.ClientStatus.stats:type_name -> grpc.testing.ClientStats 2001 8, // 10: grpc.testing.ClientArgs.setup:type_name -> grpc.testing.ClientConfig 2002 10, // 11: grpc.testing.ClientArgs.mark:type_name -> grpc.testing.Mark 2003 1, // 12: grpc.testing.ServerConfig.server_type:type_name -> grpc.testing.ServerType 2004 6, // 13: grpc.testing.ServerConfig.security_params:type_name -> grpc.testing.SecurityParams 2005 22, // 14: grpc.testing.ServerConfig.payload_config:type_name -> grpc.testing.PayloadConfig 2006 7, // 15: grpc.testing.ServerConfig.channel_args:type_name -> grpc.testing.ChannelArg 2007 12, // 16: grpc.testing.ServerArgs.setup:type_name -> grpc.testing.ServerConfig 2008 10, // 17: grpc.testing.ServerArgs.mark:type_name -> grpc.testing.Mark 2009 25, // 18: grpc.testing.ServerStatus.stats:type_name -> grpc.testing.ServerStats 2010 8, // 19: grpc.testing.Scenario.client_config:type_name -> grpc.testing.ClientConfig 2011 12, // 20: grpc.testing.Scenario.server_config:type_name -> grpc.testing.ServerConfig 2012 18, // 21: grpc.testing.Scenarios.scenarios:type_name -> grpc.testing.Scenario 2013 26, // 22: grpc.testing.ScenarioResultSummary.start_time:type_name -> google.protobuf.Timestamp 2014 26, // 23: grpc.testing.ScenarioResultSummary.end_time:type_name -> google.protobuf.Timestamp 2015 18, // 24: grpc.testing.ScenarioResult.scenario:type_name -> grpc.testing.Scenario 2016 27, // 25: grpc.testing.ScenarioResult.latencies:type_name -> grpc.testing.HistogramData 2017 24, // 26: grpc.testing.ScenarioResult.client_stats:type_name -> grpc.testing.ClientStats 2018 25, // 27: grpc.testing.ScenarioResult.server_stats:type_name -> grpc.testing.ServerStats 2019 20, // 28: grpc.testing.ScenarioResult.summary:type_name -> grpc.testing.ScenarioResultSummary 2020 28, // 29: grpc.testing.ScenarioResult.request_results:type_name -> grpc.testing.RequestResultCount 2021 30, // [30:30] is the sub-list for method output_type 2022 30, // [30:30] is the sub-list for method input_type 2023 30, // [30:30] is the sub-list for extension type_name 2024 30, // [30:30] is the sub-list for extension extendee 2025 0, // [0:30] is the sub-list for field type_name 2026 } 2027 2028 func init() { file_grpc_testing_control_proto_init() } 2029 func file_grpc_testing_control_proto_init() { 2030 if File_grpc_testing_control_proto != nil { 2031 return 2032 } 2033 file_grpc_testing_payloads_proto_init() 2034 file_grpc_testing_stats_proto_init() 2035 file_grpc_testing_control_proto_msgTypes[2].OneofWrappers = []any{ 2036 (*LoadParams_ClosedLoop)(nil), 2037 (*LoadParams_Poisson)(nil), 2038 } 2039 file_grpc_testing_control_proto_msgTypes[4].OneofWrappers = []any{ 2040 (*ChannelArg_StrValue)(nil), 2041 (*ChannelArg_IntValue)(nil), 2042 } 2043 file_grpc_testing_control_proto_msgTypes[8].OneofWrappers = []any{ 2044 (*ClientArgs_Setup)(nil), 2045 (*ClientArgs_Mark)(nil), 2046 } 2047 file_grpc_testing_control_proto_msgTypes[10].OneofWrappers = []any{ 2048 (*ServerArgs_Setup)(nil), 2049 (*ServerArgs_Mark)(nil), 2050 } 2051 type x struct{} 2052 out := protoimpl.TypeBuilder{ 2053 File: protoimpl.DescBuilder{ 2054 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 2055 RawDescriptor: unsafe.Slice(unsafe.StringData(file_grpc_testing_control_proto_rawDesc), len(file_grpc_testing_control_proto_rawDesc)), 2056 NumEnums: 3, 2057 NumMessages: 19, 2058 NumExtensions: 0, 2059 NumServices: 0, 2060 }, 2061 GoTypes: file_grpc_testing_control_proto_goTypes, 2062 DependencyIndexes: file_grpc_testing_control_proto_depIdxs, 2063 EnumInfos: file_grpc_testing_control_proto_enumTypes, 2064 MessageInfos: file_grpc_testing_control_proto_msgTypes, 2065 }.Build() 2066 File_grpc_testing_control_proto = out.File 2067 file_grpc_testing_control_proto_goTypes = nil 2068 file_grpc_testing_control_proto_depIdxs = nil 2069 }