-
Notifications
You must be signed in to change notification settings - Fork 4.8k
/
config.proto
65 lines (54 loc) · 2.82 KB
/
config.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
syntax = "proto3";
package envoy.config.filter.http.grpc_stats.v2alpha;
import "envoy/api/v2/core/grpc_method_list.proto";
import "google/protobuf/wrappers.proto";
import "udpa/annotations/migrate.proto";
import "udpa/annotations/status.proto";
import "validate/validate.proto";
option java_package = "io.envoyproxy.envoy.config.filter.http.grpc_stats.v2alpha";
option java_outer_classname = "ConfigProto";
option java_multiple_files = true;
option (udpa.annotations.file_migrate).move_to_package =
"envoy.extensions.filters.http.grpc_stats.v3";
option (udpa.annotations.file_status).package_version_status = FROZEN;
// [#protodoc-title: gRPC statistics] gRPC statistics filter
// :ref:`configuration overview <config_http_filters_grpc_stats>`.
// [#extension: envoy.filters.http.grpc_stats]
// gRPC statistics filter configuration
message FilterConfig {
// If true, the filter maintains a filter state object with the request and response message
// counts.
bool emit_filter_state = 1;
oneof per_method_stat_specifier {
// 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.*`.
api.v2.core.GrpcMethodList individual_method_stats_allowlist = 2;
// 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=true`. This default value is deprecated,
// and in a future release, if neither field is set, it will default to
// `stats_for_all_methods=false` in order to be safe by default. This behavior can be
// controlled with runtime override
// `envoy.deprecated_features.grpc_stats_filter_enable_stats_for_all_methods_by_default`.
google.protobuf.BoolValue stats_for_all_methods = 3;
}
}
// gRPC statistics filter state object in protobuf form.
message FilterObject {
// Count of request messages in the request stream.
uint64 request_message_count = 1;
// Count of response messages in the response stream.
uint64 response_message_count = 2;
}