Documentation
¶
Index ¶
- Constants
- Variables
- type FilterConfig
- func (x *FilterConfig) ClearIndividualMethodStatsAllowlist()
- func (x *FilterConfig) ClearPerMethodStatSpecifier()
- func (x *FilterConfig) ClearStatsForAllMethods()
- func (x *FilterConfig) GetEmitFilterState() bool
- func (x *FilterConfig) GetEnableUpstreamStats() bool
- func (x *FilterConfig) GetIndividualMethodStatsAllowlist() *v3.GrpcMethodList
- func (x *FilterConfig) GetPerMethodStatSpecifier() isFilterConfig_PerMethodStatSpecifier
- func (x *FilterConfig) GetReplaceDotsInGrpcServiceName() bool
- func (x *FilterConfig) GetStatsForAllMethods() *wrapperspb.BoolValue
- func (x *FilterConfig) HasIndividualMethodStatsAllowlist() bool
- func (x *FilterConfig) HasPerMethodStatSpecifier() bool
- func (x *FilterConfig) HasStatsForAllMethods() bool
- func (*FilterConfig) ProtoMessage()
- func (x *FilterConfig) ProtoReflect() protoreflect.Message
- func (x *FilterConfig) Reset()
- func (x *FilterConfig) SetEmitFilterState(v bool)
- func (x *FilterConfig) SetEnableUpstreamStats(v bool)
- func (x *FilterConfig) SetIndividualMethodStatsAllowlist(v *v3.GrpcMethodList)
- func (x *FilterConfig) SetReplaceDotsInGrpcServiceName(v bool)
- func (x *FilterConfig) SetStatsForAllMethods(v *wrapperspb.BoolValue)
- func (x *FilterConfig) String() string
- func (x *FilterConfig) WhichPerMethodStatSpecifier() case_FilterConfig_PerMethodStatSpecifier
- type FilterConfig_IndividualMethodStatsAllowlist
- type FilterConfig_StatsForAllMethods
- type FilterConfig_builder
- type FilterObject
- func (x *FilterObject) GetRequestMessageCount() uint64
- func (x *FilterObject) GetResponseMessageCount() uint64
- func (*FilterObject) ProtoMessage()
- func (x *FilterObject) ProtoReflect() protoreflect.Message
- func (x *FilterObject) Reset()
- func (x *FilterObject) SetRequestMessageCount(v uint64)
- func (x *FilterObject) SetResponseMessageCount(v uint64)
- func (x *FilterObject) String() string
- type FilterObject_builder
Constants ¶
View Source
const FilterConfig_IndividualMethodStatsAllowlist_case case_FilterConfig_PerMethodStatSpecifier = 2
View Source
const FilterConfig_PerMethodStatSpecifier_not_set_case case_FilterConfig_PerMethodStatSpecifier = 0
View Source
const FilterConfig_StatsForAllMethods_case case_FilterConfig_PerMethodStatSpecifier = 3
Variables ¶
View Source
var File_envoy_extensions_filters_http_grpc_stats_v3_config_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type FilterConfig ¶
type FilterConfig struct {
// If true, the filter maintains a filter state object with the request and response message
// counts.
EmitFilterState bool `protobuf:"varint,1,opt,name=emit_filter_state,json=emitFilterState,proto3" json:"emit_filter_state,omitempty"`
// Types that are valid to be assigned to PerMethodStatSpecifier:
//
// *FilterConfig_IndividualMethodStatsAllowlist
// *FilterConfig_StatsForAllMethods
PerMethodStatSpecifier isFilterConfig_PerMethodStatSpecifier `protobuf_oneof:"per_method_stat_specifier"`
// If true, the filter will gather a histogram for the request time of the upstream.
// It works with :ref:`stats_for_all_methods
// <envoy_v3_api_field_extensions.filters.http.grpc_stats.v3.FilterConfig.stats_for_all_methods>`
// and :ref:`individual_method_stats_allowlist
// <envoy_v3_api_field_extensions.filters.http.grpc_stats.v3.FilterConfig.individual_method_stats_allowlist>` the same way
// request_message_count and response_message_count works.
EnableUpstreamStats bool `protobuf:"varint,4,opt,name=enable_upstream_stats,json=enableUpstreamStats,proto3" json:"enable_upstream_stats,omitempty"`
// If true, the filter will replace dots in the grpc_service_name with underscores before emitting
// the metrics. Only works when :ref:`stats_for_all_methods
// <envoy_v3_api_field_extensions.filters.http.grpc_stats.v3.FilterConfig.stats_for_all_methods>`
// is set to true. It could cause metrics to be merged if the edited service name conflicts with
// an existing service. For example there are both service "foo.bar" & "foo_bar" running.
// This config can fix incorrect gRPC metrics with dots because the existing stats tag extractor
// assumes no dots in the gRPC service name. By default this is set as false.
ReplaceDotsInGrpcServiceName bool `` /* 154-byte string literal not displayed */
// contains filtered or unexported fields
}
gRPC statistics filter configuration [#next-free-field: 6]
func (*FilterConfig) ClearIndividualMethodStatsAllowlist ¶
func (x *FilterConfig) ClearIndividualMethodStatsAllowlist()
func (*FilterConfig) ClearPerMethodStatSpecifier ¶
func (x *FilterConfig) ClearPerMethodStatSpecifier()
func (*FilterConfig) ClearStatsForAllMethods ¶
func (x *FilterConfig) ClearStatsForAllMethods()
func (*FilterConfig) GetEmitFilterState ¶
func (x *FilterConfig) GetEmitFilterState() bool
func (*FilterConfig) GetEnableUpstreamStats ¶
func (x *FilterConfig) GetEnableUpstreamStats() bool
func (*FilterConfig) GetIndividualMethodStatsAllowlist ¶
func (x *FilterConfig) GetIndividualMethodStatsAllowlist() *v3.GrpcMethodList
func (*FilterConfig) GetPerMethodStatSpecifier ¶
func (x *FilterConfig) GetPerMethodStatSpecifier() isFilterConfig_PerMethodStatSpecifier
func (*FilterConfig) GetReplaceDotsInGrpcServiceName ¶
func (x *FilterConfig) GetReplaceDotsInGrpcServiceName() bool
func (*FilterConfig) GetStatsForAllMethods ¶
func (x *FilterConfig) GetStatsForAllMethods() *wrapperspb.BoolValue
func (*FilterConfig) HasIndividualMethodStatsAllowlist ¶
func (x *FilterConfig) HasIndividualMethodStatsAllowlist() bool
func (*FilterConfig) HasPerMethodStatSpecifier ¶
func (x *FilterConfig) HasPerMethodStatSpecifier() bool
func (*FilterConfig) HasStatsForAllMethods ¶
func (x *FilterConfig) HasStatsForAllMethods() bool
func (*FilterConfig) ProtoMessage ¶
func (*FilterConfig) ProtoMessage()
func (*FilterConfig) ProtoReflect ¶
func (x *FilterConfig) ProtoReflect() protoreflect.Message
func (*FilterConfig) Reset ¶
func (x *FilterConfig) Reset()
func (*FilterConfig) SetEmitFilterState ¶
func (x *FilterConfig) SetEmitFilterState(v bool)
func (*FilterConfig) SetEnableUpstreamStats ¶
func (x *FilterConfig) SetEnableUpstreamStats(v bool)
func (*FilterConfig) SetIndividualMethodStatsAllowlist ¶
func (x *FilterConfig) SetIndividualMethodStatsAllowlist(v *v3.GrpcMethodList)
func (*FilterConfig) SetReplaceDotsInGrpcServiceName ¶
func (x *FilterConfig) SetReplaceDotsInGrpcServiceName(v bool)
func (*FilterConfig) SetStatsForAllMethods ¶
func (x *FilterConfig) SetStatsForAllMethods(v *wrapperspb.BoolValue)
func (*FilterConfig) String ¶
func (x *FilterConfig) String() string
func (*FilterConfig) WhichPerMethodStatSpecifier ¶
func (x *FilterConfig) WhichPerMethodStatSpecifier() case_FilterConfig_PerMethodStatSpecifier
type FilterConfig_IndividualMethodStatsAllowlist ¶
type FilterConfig_IndividualMethodStatsAllowlist struct {
// If set, specifies an allowlist of service/methods that will have individual stats
// emitted for them. Any call that does not match the allowlist will be counted
// in a stat with no method specifier: “cluster.<name>.grpc.*“.
IndividualMethodStatsAllowlist *v3.GrpcMethodList `protobuf:"bytes,2,opt,name=individual_method_stats_allowlist,json=individualMethodStatsAllowlist,proto3,oneof"`
}
type FilterConfig_StatsForAllMethods ¶
type FilterConfig_StatsForAllMethods struct {
// If set to true, emit stats for all service/method names.
//
// If set to false, emit stats for all service/message types to the same stats without including
// the service/method in the name, with prefix “cluster.<name>.grpc“. This can be useful if
// service/method granularity is not needed, or if each cluster only receives a single method.
//
// .. attention::
//
// This option is only safe if all clients are trusted. If this option is enabled
// with untrusted clients, the clients could cause unbounded growth in the number of stats in
// Envoy, using unbounded memory and potentially slowing down stats pipelines.
//
// .. attention::
//
// If neither “individual_method_stats_allowlist“ nor “stats_for_all_methods“ is set, the
// behavior will default to “stats_for_all_methods=false“.
StatsForAllMethods *wrapperspb.BoolValue `protobuf:"bytes,3,opt,name=stats_for_all_methods,json=statsForAllMethods,proto3,oneof"`
}
type FilterConfig_builder ¶
type FilterConfig_builder struct {
// If true, the filter maintains a filter state object with the request and response message
// counts.
EmitFilterState bool
// Fields of oneof PerMethodStatSpecifier:
// If set, specifies an allowlist of service/methods that will have individual stats
// emitted for them. Any call that does not match the allowlist will be counted
// in a stat with no method specifier: “cluster.<name>.grpc.*“.
IndividualMethodStatsAllowlist *v3.GrpcMethodList
// If set to true, emit stats for all service/method names.
//
// If set to false, emit stats for all service/message types to the same stats without including
// the service/method in the name, with prefix “cluster.<name>.grpc“. This can be useful if
// service/method granularity is not needed, or if each cluster only receives a single method.
//
// .. attention::
//
// This option is only safe if all clients are trusted. If this option is enabled
// with untrusted clients, the clients could cause unbounded growth in the number of stats in
// Envoy, using unbounded memory and potentially slowing down stats pipelines.
//
// .. attention::
//
// If neither “individual_method_stats_allowlist“ nor “stats_for_all_methods“ is set, the
// behavior will default to “stats_for_all_methods=false“.
StatsForAllMethods *wrapperspb.BoolValue
// -- end of PerMethodStatSpecifier
// If true, the filter will gather a histogram for the request time of the upstream.
// It works with :ref:`stats_for_all_methods
// <envoy_v3_api_field_extensions.filters.http.grpc_stats.v3.FilterConfig.stats_for_all_methods>`
// and :ref:`individual_method_stats_allowlist
// <envoy_v3_api_field_extensions.filters.http.grpc_stats.v3.FilterConfig.individual_method_stats_allowlist>` the same way
// request_message_count and response_message_count works.
EnableUpstreamStats bool
// If true, the filter will replace dots in the grpc_service_name with underscores before emitting
// the metrics. Only works when :ref:`stats_for_all_methods
// <envoy_v3_api_field_extensions.filters.http.grpc_stats.v3.FilterConfig.stats_for_all_methods>`
// is set to true. It could cause metrics to be merged if the edited service name conflicts with
// an existing service. For example there are both service "foo.bar" & "foo_bar" running.
// This config can fix incorrect gRPC metrics with dots because the existing stats tag extractor
// assumes no dots in the gRPC service name. By default this is set as false.
ReplaceDotsInGrpcServiceName bool
// contains filtered or unexported fields
}
func (FilterConfig_builder) Build ¶
func (b0 FilterConfig_builder) Build() *FilterConfig
type FilterObject ¶
type FilterObject struct {
// Count of request messages in the request stream.
RequestMessageCount uint64 `protobuf:"varint,1,opt,name=request_message_count,json=requestMessageCount,proto3" json:"request_message_count,omitempty"`
// Count of response messages in the response stream.
ResponseMessageCount uint64 `protobuf:"varint,2,opt,name=response_message_count,json=responseMessageCount,proto3" json:"response_message_count,omitempty"`
// contains filtered or unexported fields
}
gRPC statistics filter state object in protobuf form.
func (*FilterObject) GetRequestMessageCount ¶
func (x *FilterObject) GetRequestMessageCount() uint64
func (*FilterObject) GetResponseMessageCount ¶
func (x *FilterObject) GetResponseMessageCount() uint64
func (*FilterObject) ProtoMessage ¶
func (*FilterObject) ProtoMessage()
func (*FilterObject) ProtoReflect ¶
func (x *FilterObject) ProtoReflect() protoreflect.Message
func (*FilterObject) Reset ¶
func (x *FilterObject) Reset()
func (*FilterObject) SetRequestMessageCount ¶
func (x *FilterObject) SetRequestMessageCount(v uint64)
func (*FilterObject) SetResponseMessageCount ¶
func (x *FilterObject) SetResponseMessageCount(v uint64)
func (*FilterObject) String ¶
func (x *FilterObject) String() string
type FilterObject_builder ¶
type FilterObject_builder struct {
// Count of request messages in the request stream.
RequestMessageCount uint64
// Count of response messages in the response stream.
ResponseMessageCount uint64
// contains filtered or unexported fields
}
func (FilterObject_builder) Build ¶
func (b0 FilterObject_builder) Build() *FilterObject
Source Files
¶
- config.pb.go
Click to show internal directories.
Click to hide internal directories.