Get desktop application:
View/edit binary Protocol Buffers messages
Channelz is a service exposed by gRPC servers that provides detailed debug information.
Returns a single Channel, or else a NOT_FOUND code.
channel_id is the identifier of the specific channel to get.
The Channel that corresponds to the requested channel_id. This field should be set.
Returns a single Server, or else a NOT_FOUND code.
server_id is the identifier of the specific server to get.
The Server that corresponds to the requested server_id. This field should be set.
Gets all server sockets that exist in the process.
start_socket_id indicates that only sockets at or above this id should be included in the results. To request the first page, this must be set to 0. To request subsequent pages, the client generates this value by adding 1 to the highest seen result ID.
If non-zero, the server will return a page of results containing at most this many items. If zero, the server will choose a reasonable page size. Must never be negative.
list of socket refs that the connection detail service knows about. Sorted in ascending socket_id order. Must contain at least 1 result, otherwise 'end' must be true.
If set, indicates that the list of sockets is the final list. Requesting more sockets will only return more if they are created after this RPC completes.
Gets all servers that exist in the process.
start_server_id indicates that only servers at or above this id should be included in the results. To request the first page, this must be set to 0. To request subsequent pages, the client generates this value by adding 1 to the highest seen result ID.
If non-zero, the server will return a page of results containing at most this many items. If zero, the server will choose a reasonable page size. Must never be negative.
list of servers that the connection detail service knows about. Sorted in ascending server_id order. Must contain at least 1 result, otherwise 'end' must be true.
If set, indicates that the list of servers is the final list. Requesting more servers will only return more if they are created after this RPC completes.
Returns a single Socket or else a NOT_FOUND code.
socket_id is the identifier of the specific socket to get.
If true, the response will contain only high level information that is inexpensive to obtain. Fields that may be omitted are documented.
The Socket that corresponds to the requested socket_id. This field should be set.
Returns a single Subchannel, or else a NOT_FOUND code.
subchannel_id is the identifier of the specific subchannel to get.
The Subchannel that corresponds to the requested subchannel_id. This field should be set.
Gets all root channels (i.e. channels the application has directly created). This does not include subchannels nor non-top level channels.
start_channel_id indicates that only channels at or above this id should be included in the results. To request the first page, this should be set to 0. To request subsequent pages, the client generates this value by adding 1 to the highest seen result ID.
If non-zero, the server will return a page of results containing at most this many items. If zero, the server will choose a reasonable page size. Must never be negative.
list of channels that the connection detail service knows about. Sorted in ascending channel_id order. Must contain at least 1 result, otherwise 'end' must be true.
If set, indicates that the list of channels is the final list. Requesting more channels can only return more if they are created after this RPC completes.
Address represents the address used to create the socket.
Used in:
An address type not included above.
Used in:
The human readable version of the value. This value should be set.
The actual address message.
Used in:
Either the IPv4 or IPv6 address in bytes. Will be either 4 bytes or 16 bytes in length.
0-64k, or -1 if not appropriate.
A Unix Domain Socket address.
Used in:
Channel is a logical grouping of channels, subchannels, and sockets.
Used in: ,
The identifier for this channel. This should be set.
Data specific to this channel.
At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
There are no ordering guarantees on the order of channel refs. There may not be cycles in the ref graph. A channel ref may be present in more than one channel or subchannel.
At most one of 'channel_ref+subchannel_ref' and 'socket' is set. There are no ordering guarantees on the order of subchannel refs. There may not be cycles in the ref graph. A sub channel ref may be present in more than one channel or subchannel.
There are no ordering guarantees on the order of sockets.
These come from the specified states in this document: https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md
Used in:
Used in:
Channel data is data related to a specific Channel or Subchannel.
Used in: ,
The connectivity state of the channel or subchannel. Implementations should always set this.
The target this channel originally tried to connect to. May be absent
A trace of recent events on the channel. May be absent.
The number of calls started on the channel
The number of calls that have completed with an OK status
The number of calls that have completed with a non-OK status
The last time a call was started on the channel.
Populated for subchannels only.
ChannelRef is a reference to a Channel.
Used in: , ,
The globally unique id for this channel. Must be a positive number.
An optional name associated with the channel.
ChannelTrace represents the recent events that have occurred on the channel.
Used in: ,
Number of events ever logged in this tracing object. This can differ from events.size() because events can be overwritten or garbage collected by implementations.
Time that this channel was created.
List of events that have occurred on this channel.
A trace event is an interesting thing that happened to a channel or subchannel, such as creation, address resolution, subchannel creation, etc.
Used in:
High level description of the event.
the severity of the trace event
When this event occurred.
ref of referenced channel or subchannel. Optional, only present if this event refers to a child object. For example, this field would be filled if this trace event was for a subchannel being created.
The supported severity levels of trace events.
Used in:
Security represents details about how secure the socket is.
Used in:
Used in:
The human readable version of the value.
The actual security details message.
Used in:
The cipher suite name in the RFC 4346 format: https://tools.ietf.org/html/rfc4346#appendix-C
Some other way to describe the cipher suite if the RFC 4346 name is not available.
the certificate used by this endpoint.
the certificate used by the remote endpoint.
Server represents a single server. There may be multiple servers in a single program.
Used in: ,
The identifier for a Server. This should be set.
The associated data of the Server.
The sockets that the server is listening on. There are no ordering guarantees. This may be absent.
ServerData is data for a specific Server.
Used in:
A trace of recent events on the server. May be absent.
The number of incoming calls started on the server
The number of incoming calls that have completed with an OK status
The number of incoming calls that have a completed with a non-OK status
The last time a call was started on the server.
ServerRef is a reference to a Server.
Used in:
A globally unique identifier for this server. Must be a positive number.
An optional name associated with the server.
Information about an actual connection. Pronounced "sock-ay".
Used in:
The identifier for the Socket.
Data specific to this Socket.
The locally bound address.
The remote bound address. May be absent.
Security details for this socket. May be absent if not available, or there is no security on the socket.
Optional, represents the name of the remote endpoint, if different than the original target name.
SocketData is data associated for a specific Socket. The fields present are specific to the implementation, so there may be minor differences in the semantics. (e.g. flow control windows)
Used in:
The number of streams that have been started.
The number of streams that have ended successfully: On client side, received frame with eos bit set; On server side, sent frame with eos bit set.
The number of streams that have ended unsuccessfully: On client side, ended without receiving frame with eos bit set; On server side, ended without sending frame with eos bit set.
The number of grpc messages successfully sent on this socket.
The number of grpc messages received on this socket.
The number of keep alives sent. This is typically implemented with HTTP/2 ping messages.
The last time a stream was created by this endpoint. Usually unset for servers.
The last time a stream was created by the remote endpoint. Usually unset for clients.
The last time a message was sent by this endpoint.
The last time a message was received by this endpoint.
The amount of window, granted to the local endpoint by the remote endpoint. This may be slightly out of date due to network latency. This does NOT include stream level or TCP level flow control info.
The amount of window, granted to the remote endpoint by the local endpoint. This may be slightly out of date due to network latency. This does NOT include stream level or TCP level flow control info.
Socket options set on this socket. May be absent if 'summary' is set on GetSocketRequest.
Populated if a GOAWAY has been received. The value will be the HTTP/2 error code from the GOAWAY.
The value of MAX_CONCURRENT_STREAMS set by the peer. Populated on client side only.
SocketOption represents socket options for a socket. Specifically, these are the options returned by getsockopt().
Used in:
The full name of the socket option. Typically this will be the upper case name, such as "SO_REUSEPORT".
The human readable value of this socket option. At least one of value or additional will be set.
Additional data associated with the socket option. At least one of value or additional will be set.
For use with SocketOption's additional field. This is primarily used for SO_LINGER.
active maps to `struct linger.l_onoff`
duration maps to `struct linger.l_linger`
For use with SocketOption's additional field. Tcp info for SOL_TCP and TCP_INFO.
For use with SocketOption's additional field. This is primarily used for SO_RCVTIMEO and SO_SNDTIMEO
SocketRef is a reference to a Socket.
Used in: , , , ,
The globally unique id for this socket. Must be a positive number.
An optional name associated with the socket.
Subchannel is a logical grouping of channels, subchannels, and sockets. A subchannel is load balanced over by its ancestor
Used in:
The identifier for this channel.
Data specific to this channel.
At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
There are no ordering guarantees on the order of channel refs. There may not be cycles in the ref graph. A channel ref may be present in more than one channel or subchannel.
At most one of 'channel_ref+subchannel_ref' and 'socket' is set. There are no ordering guarantees on the order of subchannel refs. There may not be cycles in the ref graph. A sub channel ref may be present in more than one channel or subchannel.
There are no ordering guarantees on the order of sockets.
SubchannelRef is a reference to a Subchannel.
Used in: , ,
The globally unique id for this subchannel. Must be a positive number.
An optional name associated with the subchannel.