package grpc_binarylog_v1

Import Path
	google.golang.org/grpc/binarylog/grpc_binarylog_v1 (on go.dev)

Dependency Relation
	imports 6 packages, and imported by one package

Involved Source Files binarylog.pb.go
Package-Level Type Names (total 16, in which 15 are exported)
/* sort exporteds by: | */
Address information Address string only for TYPE_IPV4 and TYPE_IPV6 Type Address_Type Deprecated: Use Address.ProtoReflect.Descriptor instead. (*Address) GetAddress() string (*Address) GetIpPort() uint32 (*Address) GetType() Address_Type (*Address) ProtoMessage() (*Address) ProtoReflect() protoreflect.Message (*Address) Reset() (*Address) String() string *Address : google.golang.org/protobuf/reflect/protoreflect.ProtoMessage *Address : google.golang.org/protobuf/runtime/protoiface.MessageV1 *Address : expvar.Var *Address : fmt.Stringer func (*GrpcLogEntry).GetPeer() *Address
( Address_Type) Descriptor() protoreflect.EnumDescriptor ( Address_Type) Enum() *Address_Type Deprecated: Use Address_Type.Descriptor instead. ( Address_Type) Number() protoreflect.EnumNumber ( Address_Type) String() string ( Address_Type) Type() protoreflect.EnumType Address_Type : google.golang.org/protobuf/reflect/protoreflect.Enum Address_Type : expvar.Var Address_Type : fmt.Stringer func (*Address).GetType() Address_Type func Address_Type.Enum() *Address_Type const Address_TYPE_IPV4 const Address_TYPE_IPV6 const Address_TYPE_UNIX const Address_TYPE_UNKNOWN
A single process may be used to run multiple virtual servers with different identities. The authority is the name of such a server identitiy. It is typically a portion of the URI in the form of <host> or <host>:<port> . This contains only the metadata from the application. The name of the RPC method, which looks something like: /<service>/<method> Note the leading "/" character. the RPC timeout Deprecated: Use ClientHeader.ProtoReflect.Descriptor instead. (*ClientHeader) GetAuthority() string (*ClientHeader) GetMetadata() *Metadata (*ClientHeader) GetMethodName() string (*ClientHeader) GetTimeout() *durationpb.Duration (*ClientHeader) ProtoMessage() (*ClientHeader) ProtoReflect() protoreflect.Message (*ClientHeader) Reset() (*ClientHeader) String() string *ClientHeader : google.golang.org/protobuf/reflect/protoreflect.ProtoMessage *ClientHeader : google.golang.org/protobuf/runtime/protoiface.MessageV1 *ClientHeader : expvar.Var *ClientHeader : fmt.Stringer func (*GrpcLogEntry).GetClientHeader() *ClientHeader
Log entry we store in binary logs Uniquely identifies a call. The value must not be 0 in order to disambiguate from an unset value. Each call may have several log entries, they will all have the same call_id. Nothing is guaranteed about their value other than they are unique across different RPCs in the same gRPC process. // One of the above Logger enum The logger uses one of the following fields to record the payload, according to the type of the log entry. Types that are assignable to Payload: *GrpcLogEntry_ClientHeader *GrpcLogEntry_ServerHeader *GrpcLogEntry_Message *GrpcLogEntry_Trailer true if payload does not represent the full message or metadata. Peer address information, will only be recorded on the first incoming event. On client side, peer is logged on EVENT_TYPE_SERVER_HEADER normally or EVENT_TYPE_SERVER_TRAILER in the case of trailers-only. On server side, peer is always logged on EVENT_TYPE_CLIENT_HEADER. The entry sequence id for this call. The first GrpcLogEntry has a value of 1, to disambiguate from an unset value. The purpose of this field is to detect missing entries in environments where durability or ordering is not guaranteed. The timestamp of the binary log message Type GrpcLogEntry_EventType Deprecated: Use GrpcLogEntry.ProtoReflect.Descriptor instead. (*GrpcLogEntry) GetCallId() uint64 (*GrpcLogEntry) GetClientHeader() *ClientHeader (*GrpcLogEntry) GetLogger() GrpcLogEntry_Logger (*GrpcLogEntry) GetMessage() *Message (*GrpcLogEntry) GetPayload() isGrpcLogEntry_Payload (*GrpcLogEntry) GetPayloadTruncated() bool (*GrpcLogEntry) GetPeer() *Address (*GrpcLogEntry) GetSequenceIdWithinCall() uint64 (*GrpcLogEntry) GetServerHeader() *ServerHeader (*GrpcLogEntry) GetTimestamp() *timestamppb.Timestamp (*GrpcLogEntry) GetTrailer() *Trailer (*GrpcLogEntry) GetType() GrpcLogEntry_EventType (*GrpcLogEntry) ProtoMessage() (*GrpcLogEntry) ProtoReflect() protoreflect.Message (*GrpcLogEntry) Reset() (*GrpcLogEntry) String() string *GrpcLogEntry : google.golang.org/protobuf/reflect/protoreflect.ProtoMessage *GrpcLogEntry : google.golang.org/protobuf/runtime/protoiface.MessageV1 *GrpcLogEntry : expvar.Var *GrpcLogEntry : fmt.Stringer func google.golang.org/grpc/internal/binarylog.(*TruncatingMethodLogger).Build(c binarylog.LogEntryConfig) *GrpcLogEntry func google.golang.org/grpc/internal/binarylog.Sink.Write(*GrpcLogEntry) error
ClientHeader *ClientHeader
Enumerates the type of event Note the terminology is different from the RPC semantics definition, but the same meaning is expressed here. ( GrpcLogEntry_EventType) Descriptor() protoreflect.EnumDescriptor ( GrpcLogEntry_EventType) Enum() *GrpcLogEntry_EventType Deprecated: Use GrpcLogEntry_EventType.Descriptor instead. ( GrpcLogEntry_EventType) Number() protoreflect.EnumNumber ( GrpcLogEntry_EventType) String() string ( GrpcLogEntry_EventType) Type() protoreflect.EnumType GrpcLogEntry_EventType : google.golang.org/protobuf/reflect/protoreflect.Enum GrpcLogEntry_EventType : expvar.Var GrpcLogEntry_EventType : fmt.Stringer func (*GrpcLogEntry).GetType() GrpcLogEntry_EventType func GrpcLogEntry_EventType.Enum() *GrpcLogEntry_EventType const GrpcLogEntry_EVENT_TYPE_CANCEL const GrpcLogEntry_EVENT_TYPE_CLIENT_HALF_CLOSE const GrpcLogEntry_EVENT_TYPE_CLIENT_HEADER const GrpcLogEntry_EVENT_TYPE_CLIENT_MESSAGE const GrpcLogEntry_EVENT_TYPE_SERVER_HEADER const GrpcLogEntry_EVENT_TYPE_SERVER_MESSAGE const GrpcLogEntry_EVENT_TYPE_SERVER_TRAILER const GrpcLogEntry_EVENT_TYPE_UNKNOWN
Enumerates the entity that generates the log entry ( GrpcLogEntry_Logger) Descriptor() protoreflect.EnumDescriptor ( GrpcLogEntry_Logger) Enum() *GrpcLogEntry_Logger Deprecated: Use GrpcLogEntry_Logger.Descriptor instead. ( GrpcLogEntry_Logger) Number() protoreflect.EnumNumber ( GrpcLogEntry_Logger) String() string ( GrpcLogEntry_Logger) Type() protoreflect.EnumType GrpcLogEntry_Logger : google.golang.org/protobuf/reflect/protoreflect.Enum GrpcLogEntry_Logger : expvar.Var GrpcLogEntry_Logger : fmt.Stringer func (*GrpcLogEntry).GetLogger() GrpcLogEntry_Logger func GrpcLogEntry_Logger.Enum() *GrpcLogEntry_Logger const GrpcLogEntry_LOGGER_CLIENT const GrpcLogEntry_LOGGER_SERVER const GrpcLogEntry_LOGGER_UNKNOWN
Used by EVENT_TYPE_CLIENT_MESSAGE, EVENT_TYPE_SERVER_MESSAGE
ServerHeader *ServerHeader
Trailer *Trailer
Message payload, used by CLIENT_MESSAGE and SERVER_MESSAGE May be truncated or omitted. Length of the message. It may not be the same as the length of the data field, as the logging payload can be truncated or omitted. Deprecated: Use Message.ProtoReflect.Descriptor instead. (*Message) GetData() []byte (*Message) GetLength() uint32 (*Message) ProtoMessage() (*Message) ProtoReflect() protoreflect.Message (*Message) Reset() (*Message) String() string *Message : google.golang.org/protobuf/reflect/protoreflect.ProtoMessage *Message : google.golang.org/protobuf/runtime/protoiface.MessageV1 *Message : expvar.Var *Message : fmt.Stringer func (*GrpcLogEntry).GetMessage() *Message
A list of metadata pairs, used in the payload of client header, server header, and server trailer. Implementations may omit some entries to honor the header limits of GRPC_BINARY_LOG_CONFIG. Header keys added by gRPC are omitted. To be more specific, implementations will not log the following entries, and this is not to be treated as a truncation: - entries handled by grpc that are not user visible, such as those that begin with 'grpc-' (with exception of grpc-trace-bin) or keys like 'lb-token' - transport specific entries, including but not limited to: ':path', ':authority', 'content-encoding', 'user-agent', 'te', etc - entries added for call credentials Implementations must always log grpc-trace-bin if it is present. Practically speaking it will only be visible on server side because grpc-trace-bin is managed by low level client side mechanisms inaccessible from the application level. On server side, the header is just a normal metadata key. The pair will not count towards the size limit. Entry []*MetadataEntry Deprecated: Use Metadata.ProtoReflect.Descriptor instead. (*Metadata) GetEntry() []*MetadataEntry (*Metadata) ProtoMessage() (*Metadata) ProtoReflect() protoreflect.Message (*Metadata) Reset() (*Metadata) String() string *Metadata : google.golang.org/protobuf/reflect/protoreflect.ProtoMessage *Metadata : google.golang.org/protobuf/runtime/protoiface.MessageV1 *Metadata : expvar.Var *Metadata : fmt.Stringer func (*ClientHeader).GetMetadata() *Metadata func (*ServerHeader).GetMetadata() *Metadata func (*Trailer).GetMetadata() *Metadata
A metadata key value pair Key string Value []byte Deprecated: Use MetadataEntry.ProtoReflect.Descriptor instead. (*MetadataEntry) GetKey() string (*MetadataEntry) GetValue() []byte (*MetadataEntry) ProtoMessage() (*MetadataEntry) ProtoReflect() protoreflect.Message (*MetadataEntry) Reset() (*MetadataEntry) String() string *MetadataEntry : google.golang.org/protobuf/reflect/protoreflect.ProtoMessage *MetadataEntry : google.golang.org/protobuf/runtime/protoiface.MessageV1 *MetadataEntry : expvar.Var *MetadataEntry : fmt.Stringer func (*Metadata).GetEntry() []*MetadataEntry
This contains only the metadata from the application. Deprecated: Use ServerHeader.ProtoReflect.Descriptor instead. (*ServerHeader) GetMetadata() *Metadata (*ServerHeader) ProtoMessage() (*ServerHeader) ProtoReflect() protoreflect.Message (*ServerHeader) Reset() (*ServerHeader) String() string *ServerHeader : google.golang.org/protobuf/reflect/protoreflect.ProtoMessage *ServerHeader : google.golang.org/protobuf/runtime/protoiface.MessageV1 *ServerHeader : expvar.Var *ServerHeader : fmt.Stringer func (*GrpcLogEntry).GetServerHeader() *ServerHeader
This contains only the metadata from the application. The gRPC status code. The value of the 'grpc-status-details-bin' metadata key. If present, this is always an encoded 'google.rpc.Status' message. An original status message before any transport specific encoding. Deprecated: Use Trailer.ProtoReflect.Descriptor instead. (*Trailer) GetMetadata() *Metadata (*Trailer) GetStatusCode() uint32 (*Trailer) GetStatusDetails() []byte (*Trailer) GetStatusMessage() string (*Trailer) ProtoMessage() (*Trailer) ProtoReflect() protoreflect.Message (*Trailer) Reset() (*Trailer) String() string *Trailer : google.golang.org/protobuf/reflect/protoreflect.ProtoMessage *Trailer : google.golang.org/protobuf/runtime/protoiface.MessageV1 *Trailer : expvar.Var *Trailer : fmt.Stringer func (*GrpcLogEntry).GetTrailer() *Trailer
Package-Level Functions (total 3, none are exported)
Package-Level Constants (total 15, all are exported)
address is in 1.2.3.4 form
address is in IPv6 canonical form (RFC5952 section 4) The scope is NOT included in the address string.
address is UDS string
A signal that the RPC is cancelled. On client side, this indicates the client application requests a cancellation. On server side, this indicates that cancellation was detected. Note: This marks the end of the RPC. Events may arrive after this due to races. For example, on client side a trailer may arrive even though the application requested to cancel the RPC.
Trailer indicates the end of the RPC. On client side, this event means a trailer was either received from the network or the gRPC library locally generated a status to inform the application about a failure. On server side, this event means the server application requested to send a trailer. Note: EVENT_TYPE_CANCEL may still arrive after this due to races on server side.