diff --git a/grpc/channelz/v1/channelz.proto b/grpc/channelz/v1/channelz.proto index e41b9e9a..9fae364c 100644 --- a/grpc/channelz/v1/channelz.proto +++ b/grpc/channelz/v1/channelz.proto @@ -115,6 +115,9 @@ message ChannelData { // The last time a call was started on the channel. google.protobuf.Timestamp last_call_started_timestamp = 7; + + // Populated for subchannels only. + uint32 max_connections_per_subchannel = 8; } // A trace event is an interesting thing that happened to a channel or @@ -292,6 +295,14 @@ message SocketData { // Socket options set on this socket. May be absent if 'summary' is set // on GetSocketRequest. repeated SocketOption option = 13; + + // Populated if a GOAWAY has been received. The value will be the + // HTTP/2 error code from the GOAWAY. + google.protobuf.UInt32Value received_goaway_error = 14; + + // The value of MAX_CONCURRENT_STREAMS set by the peer. Populated on + // client side only. + uint32 peer_max_concurrent_streams = 15; } // Address represents the address used to create the socket. diff --git a/grpc/service_config/service_config.proto b/grpc/service_config/service_config.proto index 05101932..b6b6c572 100644 --- a/grpc/service_config/service_config.proto +++ b/grpc/service_config/service_config.proto @@ -628,7 +628,24 @@ message ServiceConfig { } HealthCheckConfig health_check_config = 5; - // next available tag: 6 + // Settings to control dynamic connection scaling. + message ConnectionScaling { + // Maximum connections gRPC will maintain for each subchannel in + // this channel. When no streams are available for an RPC in a + // subchannel, gRPC will automatically create new connections up + // to this limit. If this value changes during the life of a + // channel, existing subchannels will be updated to reflect + // the change. No connections will be closed as a result of + // lowering this value; down-scaling will only happen as + // connections are lost naturally. + // + // Values higher than the client-enforced limit (by default, 10) + // will be clamped to that limit. + google.protobuf.UInt32Value max_connections_per_subchannel = 1; + } + ConnectionScaling connection_scaling = 6; + + // next available tag: 7 } //