From d6d298327117385a51a51a3a4d65f96961006964 Mon Sep 17 00:00:00 2001
From: Hai Huang
Date: Mon, 3 Jun 2019 14:30:40 -0400
Subject: [PATCH] Tunable batch report behavior (#14301)
* added helm values to tune batch reporting behavior of telemetry data
* fix space formatting issue
* update dependencies from istio/api
* fix extra line
* move comment inside of {{- if }}
* move parameters back to top level values.yaml
* fix name of helm parameters
* fix comments
* fix comment
---
go.mod | 2 +-
go.sum | 7 +-
.../helm/istio/charts/mixer/values.yaml | 10 +
.../helm/istio/templates/configmap.yaml | 10 +
install/kubernetes/helm/istio/values.yaml | 2 +-
pilot/pkg/networking/plugin/mixer/mixer.go | 8 +-
.../istio.io/api/mesh/v1alpha1/config.pb.go | 351 +++++++++++++-----
.../istio.io/api/mesh/v1alpha1/config.proto | 17 +-
.../mesh/v1alpha1/istio.mesh.v1alpha1.pb.html | 38 +-
.../istio.io/api/mesh/v1alpha1/network.pb.go | 4 +
.../istio.io/api/mesh/v1alpha1/network.proto | 4 +
.../v1alpha3/destination_rule.pb.go | 3 +-
.../v1alpha3/destination_rule.pb.html | 3 +-
.../v1alpha3/destination_rule.proto | 3 +-
vendor/modules.txt | 2 +-
15 files changed, 347 insertions(+), 117 deletions(-)
diff --git a/go.mod b/go.mod
index 7a5430f5a7cf..7aca1f9c9501 100644
--- a/go.mod
+++ b/go.mod
@@ -182,7 +182,7 @@ require (
gopkg.in/stack.v1 v1.7.0 // indirect
gopkg.in/yaml.v2 v2.2.2
gotest.tools v2.2.0+incompatible // indirect
- istio.io/api v0.0.0-20190522004026-1dffc8d3d26d
+ istio.io/api v0.0.0-20190529184517-9f689ccd2715
istio.io/pkg v0.0.0-20190516214103-40b7bf4c7321
k8s.io/api v0.0.0-20190222213804-5cb15d344471
k8s.io/apiextensions-apiserver v0.0.0-20190221221350-bfb440be4b87
diff --git a/go.sum b/go.sum
index 90c72420eee2..fb425b37c87d 100644
--- a/go.sum
+++ b/go.sum
@@ -601,11 +601,8 @@ honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
istio.io/api v0.0.0-20190515205759-982e5c3888c6/go.mod h1:hhLFQmpHia8zgaM37vb2ml9iS5NfNfqZGRt1pS9aVEo=
-istio.io/api v0.0.0-20190517041403-820986f2947c h1:b1WAnmPxFV6oU5LH6jiHBjDFa7rQgVJUdCCT6bmpawA=
-istio.io/api v0.0.0-20190517041403-820986f2947c/go.mod h1:hhLFQmpHia8zgaM37vb2ml9iS5NfNfqZGRt1pS9aVEo=
-istio.io/api v0.0.0-20190522004026-1dffc8d3d26d h1:ktu78abdVWQ9aIhocmEsm2pDeCwXL4ict6T0GGKLFuw=
-istio.io/api v0.0.0-20190522004026-1dffc8d3d26d/go.mod h1:hhLFQmpHia8zgaM37vb2ml9iS5NfNfqZGRt1pS9aVEo=
-istio.io/api v0.0.0-20190522135727-e29f1a9ce041 h1:Ho6DiXJ1lVOKsqeIv+eG6ZPHjvjFxo6WzKgDWf0BwOE=
+istio.io/api v0.0.0-20190529184517-9f689ccd2715 h1:SpIoxvzS72LrCPSIKBLIwVlxBkhXiZBbaSrgP/mgtS8=
+istio.io/api v0.0.0-20190529184517-9f689ccd2715/go.mod h1:hhLFQmpHia8zgaM37vb2ml9iS5NfNfqZGRt1pS9aVEo=
istio.io/gogo-genproto v0.0.0-20190124151557-6d926a6e6feb/go.mod h1:eIDJ6jNk/IeJz6ODSksHl5Aiczy5JUq6vFhJWI5OtiI=
istio.io/pkg v0.0.0-20190516214103-40b7bf4c7321 h1:zXJi3xLeMGtvewwN7LzzqGhpiAOw/pFrM+CPGd5Fowc=
istio.io/pkg v0.0.0-20190516214103-40b7bf4c7321/go.mod h1:QuX5yn89LMkQdwuz0OyikOs3DBN45poAUNBAlOmFIvQ=
diff --git a/install/kubernetes/helm/istio/charts/mixer/values.yaml b/install/kubernetes/helm/istio/charts/mixer/values.yaml
index 35c33d76ba82..7eae596206ef 100644
--- a/install/kubernetes/helm/istio/charts/mixer/values.yaml
+++ b/install/kubernetes/helm/istio/charts/mixer/values.yaml
@@ -45,6 +45,16 @@ telemetry:
cpu: 4800m
memory: 4G
+ # Set reportBatchMaxEntries to 0 to use the default batching behavior (i.e., every 100 requests).
+ # A positive value indicates the number of requests that are batched before telemetry data
+ # is sent to the mixer server
+ reportBatchMaxEntries: 100
+
+ # Set reportBatchMaxTime to 0 to use the default batching behavior (i.e., every 1 second).
+ # A positive time value indicates the maximum wait time since the last request will telemetry data
+ # be batched before being sent to the mixer server
+ reportBatchMaxTime: 1s
+
podAnnotations: {}
nodeSelector: {}
tolerations: []
diff --git a/install/kubernetes/helm/istio/templates/configmap.yaml b/install/kubernetes/helm/istio/templates/configmap.yaml
index 02591ec805ab..1315e5e0ced3 100644
--- a/install/kubernetes/helm/istio/templates/configmap.yaml
+++ b/install/kubernetes/helm/istio/templates/configmap.yaml
@@ -19,6 +19,16 @@ data:
disablePolicyChecks: true
{{- end }}
+ {{- if .Values.mixer.telemetry.reportBatchMaxEntries }}
+ # reportBatchMaxEntries is the number of requests that are batched before telemetry data is sent to the mixer server
+ reportBatchMaxEntries: {{ .Values.mixer.telemetry.reportBatchMaxEntries }}
+ {{- end }}
+
+ {{- if .Values.mixer.telemetry.reportBatchMaxTime }}
+ # reportBatchMaxTime is the max waiting time before the telemetry data of a request is sent to the mixer server
+ reportBatchMaxTime: {{ .Values.mixer.telemetry.reportBatchMaxTime }}
+ {{- end }}
+
# Set enableTracing to false to disable request tracing.
enableTracing: {{ .Values.global.enableTracing }}
diff --git a/install/kubernetes/helm/istio/values.yaml b/install/kubernetes/helm/istio/values.yaml
index 0bc82d991abc..7323932a88a3 100644
--- a/install/kubernetes/helm/istio/values.yaml
+++ b/install/kubernetes/helm/istio/values.yaml
@@ -489,4 +489,4 @@ global:
# Specifies whether helm test is enabled or not.
# This field is set to false by default, so 'helm template ...'
# will ignore the helm test yaml files when generating the template
- enableHelmTest: false
\ No newline at end of file
+ enableHelmTest: false
diff --git a/pilot/pkg/networking/plugin/mixer/mixer.go b/pilot/pkg/networking/plugin/mixer/mixer.go
index 8c0a5714498f..9a5fe51b11e4 100644
--- a/pilot/pkg/networking/plugin/mixer/mixer.go
+++ b/pilot/pkg/networking/plugin/mixer/mixer.go
@@ -318,9 +318,11 @@ func buildTransport(mesh *meshconfig.MeshConfig, node *model.Proxy) *mccpb.Trans
}
res := &mccpb.TransportConfig{
- CheckCluster: buildUpstreamName(mesh.MixerCheckServer),
- ReportCluster: buildUpstreamName(mesh.MixerReportServer),
- NetworkFailPolicy: networkFailPolicy,
+ CheckCluster: buildUpstreamName(mesh.MixerCheckServer),
+ ReportCluster: buildUpstreamName(mesh.MixerReportServer),
+ NetworkFailPolicy: networkFailPolicy,
+ ReportBatchMaxEntries: mesh.ReportBatchMaxEntries,
+ ReportBatchMaxTime: mesh.ReportBatchMaxTime,
}
return res
diff --git a/vendor/istio.io/api/mesh/v1alpha1/config.pb.go b/vendor/istio.io/api/mesh/v1alpha1/config.pb.go
index c8fd17aff883..e7b439696d37 100644
--- a/vendor/istio.io/api/mesh/v1alpha1/config.pb.go
+++ b/vendor/istio.io/api/mesh/v1alpha1/config.pb.go
@@ -315,7 +315,19 @@ type MeshConfig struct {
// Locality based load balancing distribution or failover settings.
LocalityLbSetting *LocalityLoadBalancerSetting `protobuf:"bytes,35,opt,name=locality_lb_setting,json=localityLbSetting,proto3" json:"locality_lb_setting,omitempty"`
// Configures DNS refresh rate for Envoy clusters of type STRICT_DNS
- DnsRefreshRate *types.Duration `protobuf:"bytes,36,opt,name=dns_refresh_rate,json=dnsRefreshRate,proto3" json:"dns_refresh_rate,omitempty"`
+ DnsRefreshRate *types.Duration `protobuf:"bytes,36,opt,name=dns_refresh_rate,json=dnsRefreshRate,proto3" json:"dns_refresh_rate,omitempty"`
+ // The flag to disable report batch.
+ DisableReportBatch bool `protobuf:"varint,37,opt,name=disable_report_batch,json=disableReportBatch,proto3" json:"disable_report_batch,omitempty"`
+ // When disable_report_batch is false, this value specifies the maximum number
+ // of requests that are batched in report. If left unspecified, the default value
+ // of report_batch_max_entries == 0 will use the hardcoded defaults of
+ // istio::mixerclient::ReportOptions.
+ ReportBatchMaxEntries uint32 `protobuf:"varint,38,opt,name=report_batch_max_entries,json=reportBatchMaxEntries,proto3" json:"report_batch_max_entries,omitempty"`
+ // When disable_report_batch is false, this value specifies the maximum elapsed
+ // time a batched report will be sent after a user request is processed. If left
+ // unspecified, the default report_batch_max_time == 0 will use the hardcoded
+ // defaults of istio::mixerclient::ReportOptions.
+ ReportBatchMaxTime *types.Duration `protobuf:"bytes,39,opt,name=report_batch_max_time,json=reportBatchMaxTime,proto3" json:"report_batch_max_time,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -596,6 +608,27 @@ func (m *MeshConfig) GetDnsRefreshRate() *types.Duration {
return nil
}
+func (m *MeshConfig) GetDisableReportBatch() bool {
+ if m != nil {
+ return m.DisableReportBatch
+ }
+ return false
+}
+
+func (m *MeshConfig) GetReportBatchMaxEntries() uint32 {
+ if m != nil {
+ return m.ReportBatchMaxEntries
+ }
+ return 0
+}
+
+func (m *MeshConfig) GetReportBatchMaxTime() *types.Duration {
+ if m != nil {
+ return m.ReportBatchMaxTime
+ }
+ return nil
+}
+
type MeshConfig_OutboundTrafficPolicy struct {
Mode MeshConfig_OutboundTrafficPolicy_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode" json:"mode,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -967,100 +1000,104 @@ func init() {
func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptor_b5c7ece76d5d5022) }
var fileDescriptor_b5c7ece76d5d5022 = []byte{
- // 1482 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x57, 0xdd, 0x72, 0xdb, 0xb8,
- 0x15, 0x0e, 0x65, 0x25, 0x96, 0x8f, 0x7e, 0x4c, 0x41, 0x71, 0x96, 0x56, 0xba, 0x5e, 0x59, 0xdb,
- 0x24, 0x1a, 0x4f, 0x87, 0x6e, 0xec, 0xd9, 0x99, 0x64, 0x7b, 0x65, 0x4b, 0xf2, 0xc6, 0x5e, 0xd9,
- 0xf2, 0x50, 0x74, 0xda, 0xb4, 0x17, 0x28, 0x4c, 0x42, 0x12, 0x6a, 0x8a, 0xe0, 0x10, 0xa0, 0x13,
- 0xbd, 0x53, 0xdb, 0xe9, 0x63, 0xf4, 0xb2, 0x8f, 0xd0, 0xc9, 0x93, 0x74, 0x08, 0x90, 0x96, 0xe2,
- 0xd5, 0xac, 0xbb, 0xed, 0x9d, 0xf0, 0x9d, 0xef, 0x7c, 0x20, 0xce, 0xf9, 0x70, 0x48, 0x41, 0x73,
- 0x46, 0xc5, 0x74, 0xff, 0xf6, 0x35, 0x09, 0xa2, 0x29, 0x79, 0xbd, 0xef, 0xf1, 0x70, 0xcc, 0x26,
- 0x76, 0x14, 0x73, 0xc9, 0x51, 0x83, 0x09, 0xc9, 0xb8, 0x9d, 0x32, 0xec, 0x9c, 0xd1, 0xdc, 0x99,
- 0x70, 0x3e, 0x09, 0xe8, 0xbe, 0xa2, 0x5c, 0x27, 0xe3, 0x7d, 0x3f, 0x89, 0x89, 0x64, 0x3c, 0xd4,
- 0x49, 0xcd, 0xed, 0x2f, 0x05, 0xa3, 0x98, 0x7f, 0x9a, 0x67, 0xa1, 0xbd, 0x90, 0xca, 0x8f, 0x3c,
- 0xbe, 0x61, 0xe1, 0x24, 0x27, 0x1c, 0xee, 0xfb, 0x54, 0x48, 0x16, 0x2a, 0x05, 0x1c, 0x27, 0x01,
- 0xd5, 0xdc, 0xf6, 0xdf, 0x1b, 0x00, 0xe7, 0x54, 0x4c, 0xbb, 0xea, 0x81, 0xd0, 0x6f, 0x00, 0xcd,
- 0xd8, 0x27, 0x1a, 0x63, 0x6f, 0x4a, 0xbd, 0x1b, 0x2c, 0x68, 0x7c, 0x4b, 0x63, 0xcb, 0x68, 0x19,
- 0x9d, 0x0d, 0xc7, 0x54, 0x91, 0x6e, 0x1a, 0x18, 0x29, 0x1c, 0xd9, 0xd0, 0xd0, 0xec, 0x98, 0x46,
- 0x3c, 0x96, 0x39, 0xbd, 0xa0, 0xe8, 0x75, 0x15, 0x72, 0x54, 0x24, 0xe3, 0x1f, 0xc0, 0x96, 0xcf,
- 0x04, 0xb9, 0x0e, 0x28, 0x8e, 0x78, 0xc0, 0xbc, 0xb9, 0xde, 0x46, 0x58, 0x6b, 0x2d, 0xa3, 0x53,
- 0x72, 0x1a, 0x59, 0xf0, 0x52, 0xc5, 0xd4, 0x46, 0x02, 0x1d, 0xc2, 0xb3, 0x65, 0x2e, 0x1e, 0x13,
- 0x16, 0x60, 0x1e, 0xd1, 0xd0, 0xda, 0xd6, 0x49, 0xd1, 0x82, 0x7d, 0x42, 0x58, 0x30, 0x8c, 0x68,
- 0x88, 0x2e, 0xe1, 0x85, 0x60, 0x3e, 0xf5, 0x48, 0x8c, 0x25, 0xc7, 0x92, 0x06, 0x74, 0x46, 0x65,
- 0x3c, 0xc7, 0x82, 0x0a, 0x91, 0x16, 0x80, 0x8c, 0xc7, 0x2c, 0x64, 0x72, 0x6e, 0xed, 0x28, 0x8d,
- 0xdd, 0x8c, 0xec, 0x72, 0x37, 0xa7, 0x8e, 0x34, 0xf3, 0x28, 0x23, 0xa2, 0x3d, 0xa8, 0xab, 0x12,
- 0xe3, 0x80, 0x09, 0x49, 0x43, 0x9c, 0x9e, 0xca, 0x2a, 0xb6, 0x8c, 0xce, 0x63, 0x67, 0x53, 0x05,
- 0x06, 0x0a, 0xbf, 0xe4, 0xb1, 0x44, 0x2f, 0x41, 0x43, 0x78, 0x2a, 0x65, 0xa4, 0x99, 0x8f, 0x15,
- 0xb3, 0xaa, 0xe0, 0x77, 0x52, 0x46, 0x8a, 0x77, 0x0c, 0x9b, 0x1e, 0x0f, 0x43, 0xea, 0x49, 0x2c,
- 0xd9, 0x8c, 0xf2, 0x44, 0x5a, 0x4f, 0x5a, 0x46, 0xa7, 0x7c, 0xb0, 0x6d, 0xeb, 0xe6, 0xdb, 0x79,
- 0xf3, 0xed, 0x5e, 0xd6, 0x7c, 0xa7, 0x96, 0x65, 0xb8, 0x3a, 0x01, 0x71, 0xa8, 0x4a, 0x2f, 0xc2,
- 0x37, 0x94, 0x46, 0x24, 0x60, 0xb7, 0xd4, 0xfa, 0x95, 0x52, 0x38, 0xb3, 0xb5, 0xa7, 0x16, 0x4e,
- 0xc8, 0x9d, 0x75, 0x68, 0x77, 0xb5, 0x02, 0xe3, 0xe1, 0x25, 0xe7, 0xc1, 0x88, 0x4a, 0xc9, 0xc2,
- 0x89, 0xb0, 0xdd, 0xee, 0xe5, 0xe2, 0xb7, 0x17, 0xfd, 0x98, 0x2b, 0x3a, 0x15, 0xb9, 0xb4, 0x42,
- 0xdf, 0x42, 0x95, 0x85, 0x93, 0x98, 0x0a, 0x81, 0xbd, 0x80, 0x08, 0x61, 0xad, 0xab, 0x6e, 0x57,
- 0x32, 0xb0, 0x9b, 0x62, 0xe8, 0x15, 0x6c, 0xe6, 0xa4, 0xd4, 0x13, 0xcc, 0xa3, 0x56, 0x49, 0xd1,
- 0x6a, 0x19, 0x3c, 0xd2, 0x28, 0x9a, 0xc1, 0x57, 0x77, 0x6a, 0x3c, 0x94, 0x31, 0x0f, 0x02, 0x1a,
- 0xe3, 0x19, 0xf7, 0xa9, 0xb5, 0xd1, 0x32, 0x3a, 0xb5, 0x83, 0xef, 0xec, 0x15, 0x97, 0xc3, 0x5e,
- 0x38, 0xd6, 0x3e, 0xcd, 0xf6, 0xbd, 0xcb, 0x3e, 0xe7, 0x3e, 0x75, 0xb6, 0xd8, 0x2a, 0x18, 0x0d,
- 0xa1, 0x4c, 0x12, 0x39, 0xcd, 0xdc, 0x67, 0x81, 0xda, 0x62, 0xef, 0xa1, 0x2d, 0x8e, 0x12, 0x39,
- 0xd5, 0x9e, 0x3c, 0x2e, 0x58, 0x86, 0x03, 0xe4, 0x6e, 0x8d, 0x4e, 0xa1, 0x1e, 0xfb, 0x02, 0xc7,
- 0x74, 0x1c, 0x53, 0x31, 0xc5, 0x3e, 0x0d, 0xc8, 0xdc, 0x2a, 0x3f, 0xd0, 0x44, 0xa5, 0xb2, 0x19,
- 0xfb, 0xc2, 0xd1, 0x69, 0xbd, 0x34, 0x0b, 0xbd, 0x80, 0x1a, 0x0d, 0xd5, 0xdd, 0x90, 0x31, 0xf1,
- 0x58, 0x38, 0xb1, 0x2a, 0xca, 0x9c, 0x55, 0x8d, 0xba, 0x1a, 0x4c, 0xcd, 0x45, 0x3c, 0x2f, 0x2d,
- 0x58, 0xc0, 0x27, 0x78, 0xcc, 0x02, 0x6a, 0x55, 0x55, 0x69, 0xab, 0x1a, 0x1e, 0xf0, 0xc9, 0x09,
- 0x0b, 0x68, 0x6a, 0xd8, 0x65, 0x1e, 0x8f, 0x67, 0x44, 0x5a, 0x96, 0x62, 0x6e, 0x2e, 0x98, 0x0a,
- 0x46, 0x04, 0x1a, 0x4b, 0x5c, 0x1a, 0x7a, 0xdc, 0x4f, 0xf7, 0x7f, 0xae, 0xca, 0xf3, 0xfa, 0xc1,
- 0xf2, 0xe4, 0x6a, 0xfd, 0x2c, 0xd1, 0xa9, 0x93, 0xfb, 0x10, 0xfa, 0x01, 0x6a, 0x3e, 0x1d, 0x93,
- 0x24, 0x90, 0x58, 0xcf, 0x3e, 0xab, 0xa6, 0xaa, 0xd4, 0x5a, 0xa9, 0x7e, 0x99, 0xde, 0x13, 0x2d,
- 0xef, 0x54, 0xb3, 0xbc, 0x6c, 0x42, 0xbd, 0x82, 0xaa, 0x9e, 0x39, 0xc4, 0xf7, 0xd3, 0x0e, 0x5b,
- 0x66, 0x7a, 0x26, 0x55, 0xd2, 0x8a, 0x0a, 0x1c, 0x69, 0x3c, 0xb5, 0x16, 0x4f, 0xe4, 0x35, 0x4f,
- 0x42, 0x3f, 0xad, 0xe8, 0x78, 0xcc, 0xbc, 0xbc, 0xef, 0x75, 0xb5, 0xf5, 0x83, 0xd6, 0x1a, 0x66,
- 0xe9, 0xae, 0xce, 0xd6, 0x2d, 0x77, 0xb6, 0xf8, 0x2a, 0x18, 0xf5, 0xe0, 0x9b, 0xac, 0x7d, 0x5e,
- 0xc0, 0x68, 0x28, 0x71, 0x3a, 0x53, 0xbe, 0x18, 0x73, 0x56, 0x43, 0xf5, 0xf3, 0xb9, 0xa6, 0x75,
- 0x15, 0x6b, 0xc4, 0xfc, 0xe5, 0x71, 0x87, 0x5a, 0x50, 0x11, 0xbe, 0xc0, 0x89, 0x2f, 0x70, 0x44,
- 0xe4, 0xd4, 0x7a, 0xaa, 0x1a, 0x06, 0xc2, 0x17, 0x57, 0xbe, 0xb8, 0x24, 0x72, 0x9a, 0x3a, 0x4e,
- 0xfc, 0xc4, 0x71, 0x5b, 0xff, 0x95, 0xe3, 0xc4, 0x3d, 0xc7, 0xbd, 0x83, 0x9a, 0xee, 0x05, 0x16,
- 0x3c, 0x89, 0x3d, 0x2a, 0xac, 0x67, 0xad, 0xb5, 0x4e, 0xf9, 0x60, 0x77, 0x65, 0x61, 0x74, 0x51,
- 0x46, 0x8a, 0xe9, 0x54, 0xbd, 0xa5, 0x95, 0x1a, 0xd2, 0xd9, 0xe1, 0xd3, 0x67, 0x93, 0xfc, 0x86,
- 0x86, 0x78, 0xc6, 0x93, 0x50, 0x5a, 0x5f, 0xe9, 0x21, 0xad, 0xa3, 0x23, 0x5f, 0xb8, 0x69, 0xec,
- 0x3c, 0x0d, 0xa1, 0x3d, 0x40, 0xea, 0xac, 0x82, 0xe2, 0x9b, 0x37, 0x02, 0x0b, 0x82, 0xff, 0xf2,
- 0x51, 0x5a, 0x5f, 0xab, 0x84, 0x5a, 0x7a, 0x62, 0x41, 0x7f, 0x7c, 0x23, 0x46, 0xe4, 0xec, 0xa3,
- 0x44, 0xbb, 0x50, 0x91, 0x71, 0x22, 0x24, 0xf6, 0xf9, 0x8c, 0xb0, 0xd0, 0x6a, 0xaa, 0xba, 0x94,
- 0x15, 0xd6, 0x53, 0x10, 0x7a, 0x0b, 0xdb, 0xb9, 0xc3, 0xb2, 0x99, 0x83, 0xe9, 0x27, 0xf5, 0x5a,
- 0x92, 0xdc, 0xfa, 0xa6, 0xb5, 0xd6, 0xd9, 0x70, 0x9e, 0x65, 0x84, 0x6c, 0xfa, 0xf4, 0x55, 0xd8,
- 0xe5, 0xe8, 0x1d, 0xec, 0xe6, 0xa9, 0xb7, 0x2c, 0x96, 0x09, 0x09, 0x56, 0x48, 0xb4, 0x94, 0xc4,
- 0xd7, 0x19, 0xf1, 0xbd, 0xe6, 0xdd, 0x57, 0x3a, 0x83, 0x76, 0xae, 0x74, 0xff, 0x85, 0xbb, 0x24,
- 0xb5, 0xab, 0xa4, 0x76, 0x32, 0x66, 0x6f, 0x41, 0x74, 0x92, 0x60, 0xa1, 0xf5, 0x02, 0x6a, 0x31,
- 0xe7, 0x12, 0x87, 0x64, 0x46, 0x45, 0x44, 0x3c, 0x6a, 0xb5, 0xf5, 0x45, 0x4f, 0xd1, 0x8b, 0x1c,
- 0x44, 0x7f, 0x86, 0x46, 0xc0, 0x3d, 0x12, 0x30, 0x39, 0xc7, 0xc1, 0x35, 0x16, 0x7a, 0x86, 0x5b,
- 0xdf, 0x2a, 0x4b, 0xfc, 0x76, 0x65, 0x2b, 0x07, 0x19, 0x7f, 0xc0, 0x89, 0x7f, 0x4c, 0x02, 0x12,
- 0x7a, 0x34, 0xce, 0x66, 0xbf, 0x53, 0xcf, 0xc5, 0x06, 0xd7, 0x19, 0x84, 0xba, 0x60, 0xfa, 0xe1,
- 0xc2, 0x72, 0x31, 0x91, 0xd4, 0xfa, 0xf5, 0x83, 0x2f, 0x2a, 0x3f, 0xcc, 0xdd, 0xe6, 0x10, 0x49,
- 0x9b, 0x7f, 0x33, 0x60, 0x6b, 0xe5, 0x85, 0x42, 0x17, 0x50, 0x54, 0x03, 0xdf, 0x50, 0xe3, 0xe6,
- 0xfb, 0xff, 0xe9, 0x56, 0xda, 0x6a, 0xea, 0x2b, 0x9d, 0x76, 0x0f, 0x8a, 0x6a, 0xd8, 0xd7, 0xa1,
- 0xea, 0xf4, 0x7f, 0x38, 0x1d, 0xb9, 0xce, 0x07, 0x3c, 0xbc, 0x18, 0x7c, 0x30, 0x1f, 0xa1, 0x2a,
- 0x6c, 0x1c, 0x0d, 0x06, 0xc3, 0xdf, 0xe3, 0xa3, 0x8b, 0x0f, 0xa6, 0xd1, 0x2e, 0x96, 0x0a, 0x66,
- 0x61, 0xef, 0xe9, 0xfb, 0x53, 0xc7, 0xbd, 0x3a, 0x1a, 0xe0, 0x51, 0xdf, 0x79, 0x7f, 0xda, 0xed,
- 0x2b, 0x72, 0xfb, 0x2d, 0x6c, 0xad, 0x7c, 0xb5, 0xa0, 0x75, 0x58, 0x1b, 0x9e, 0x9c, 0x98, 0x8f,
- 0x50, 0x19, 0xd6, 0x7b, 0xfd, 0x93, 0xa3, 0xab, 0x81, 0x6b, 0x1a, 0x08, 0xe0, 0xc9, 0xc8, 0x75,
- 0x4e, 0xbb, 0xae, 0x59, 0x68, 0xbf, 0x04, 0x58, 0xbc, 0x32, 0x50, 0x09, 0x8a, 0x17, 0xc3, 0x8b,
- 0xbe, 0xf9, 0x08, 0xd5, 0x00, 0xce, 0xaf, 0xd4, 0x4e, 0xee, 0x60, 0x64, 0x1a, 0xed, 0x57, 0x50,
- 0xff, 0xc9, 0xec, 0x4c, 0xe9, 0x6e, 0xff, 0x0f, 0xae, 0xf9, 0x28, 0xfd, 0x75, 0x36, 0x1a, 0x5e,
- 0x98, 0xc6, 0x59, 0xb1, 0xb4, 0x69, 0x9a, 0x67, 0xc5, 0x12, 0x32, 0x1b, 0x6d, 0x01, 0x95, 0xe5,
- 0x9b, 0x88, 0x2c, 0x58, 0xcf, 0x27, 0xa1, 0xfe, 0x4c, 0xcb, 0x97, 0xe8, 0x14, 0x2a, 0x32, 0x10,
- 0xb9, 0x21, 0x84, 0xfa, 0x2c, 0x2b, 0x1f, 0xbc, 0xfc, 0x99, 0x2f, 0x03, 0x77, 0x30, 0xca, 0x3f,
- 0x01, 0x9c, 0xb2, 0x0c, 0x44, 0xbe, 0x68, 0xff, 0x63, 0x0d, 0x9e, 0xff, 0x8c, 0x69, 0xd0, 0x9f,
- 0x00, 0x7c, 0x26, 0x64, 0xcc, 0xae, 0x13, 0x99, 0x36, 0x32, 0x9d, 0x22, 0xbf, 0xfb, 0xa5, 0xd6,
- 0xb3, 0x7b, 0x77, 0x12, 0xce, 0x92, 0x1c, 0xba, 0x82, 0x52, 0xfa, 0xd1, 0xc7, 0xf5, 0xa7, 0x65,
- 0x2a, 0xfd, 0xf6, 0x17, 0x4b, 0x9f, 0x64, 0x02, 0xce, 0x9d, 0x54, 0xf3, 0xaf, 0x06, 0xc0, 0x62,
- 0x47, 0x84, 0xa0, 0x38, 0x8e, 0xf9, 0x2c, 0x2b, 0xa2, 0xfa, 0x8d, 0x46, 0x50, 0x90, 0x3c, 0xdb,
- 0xb3, 0xfb, 0x7f, 0x1c, 0xc7, 0x76, 0x79, 0x3f, 0x94, 0xf1, 0xdc, 0x29, 0x48, 0xde, 0xfc, 0x0e,
- 0xd6, 0xb3, 0x25, 0x32, 0x61, 0xed, 0x86, 0xce, 0xb3, 0x2d, 0xd3, 0x9f, 0xe8, 0x29, 0x3c, 0xbe,
- 0x25, 0x41, 0x42, 0x55, 0xb3, 0xaa, 0x8e, 0x5e, 0x7c, 0x5f, 0x78, 0x63, 0x34, 0x6d, 0x28, 0xe5,
- 0x87, 0x58, 0xf9, 0xac, 0xb5, 0xec, 0x59, 0x53, 0xa4, 0x20, 0xf9, 0x71, 0xe7, 0x9f, 0x9f, 0x77,
- 0x8c, 0x7f, 0x7d, 0xde, 0x31, 0xfe, 0xfd, 0x79, 0xc7, 0xf8, 0x63, 0x53, 0x3f, 0x3c, 0xe3, 0xfb,
- 0x24, 0x62, 0xfb, 0x5f, 0xfc, 0x75, 0xb8, 0x7e, 0xa2, 0x2e, 0xef, 0xe1, 0x7f, 0x02, 0x00, 0x00,
- 0xff, 0xff, 0x33, 0x88, 0x4e, 0x58, 0xa3, 0x0c, 0x00, 0x00,
+ // 1552 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x57, 0xdd, 0x52, 0x1b, 0xc9,
+ 0x15, 0xf6, 0x08, 0x6c, 0xe3, 0x03, 0x12, 0x43, 0x03, 0xde, 0xb6, 0x9c, 0x65, 0x85, 0x36, 0xb6,
+ 0x55, 0x54, 0x6a, 0x58, 0xe3, 0xda, 0x8a, 0xbd, 0xb9, 0x02, 0x21, 0xd6, 0xb0, 0xe2, 0xa7, 0x46,
+ 0x83, 0x13, 0x27, 0x17, 0x9d, 0x66, 0xa6, 0x25, 0x75, 0x18, 0x4d, 0xab, 0xa6, 0x7b, 0x30, 0xbc,
+ 0x53, 0x52, 0x95, 0xc7, 0xc8, 0x65, 0x1e, 0x21, 0xe5, 0x9b, 0xbc, 0x46, 0xaa, 0x7f, 0x06, 0xc9,
+ 0xb6, 0x6a, 0xc9, 0x26, 0x77, 0xea, 0x73, 0xbe, 0xf3, 0xf5, 0xf4, 0x39, 0x5f, 0x9f, 0xd3, 0x82,
+ 0xfa, 0x88, 0xc9, 0xe1, 0xf6, 0xd5, 0x4b, 0x9a, 0x8e, 0x87, 0xf4, 0xe5, 0x76, 0x2c, 0xb2, 0x3e,
+ 0x1f, 0x04, 0xe3, 0x5c, 0x28, 0x81, 0x56, 0xb9, 0x54, 0x5c, 0x04, 0x1a, 0x11, 0x94, 0x88, 0xfa,
+ 0xc6, 0x40, 0x88, 0x41, 0xca, 0xb6, 0x0d, 0xe4, 0xa2, 0xe8, 0x6f, 0x27, 0x45, 0x4e, 0x15, 0x17,
+ 0x99, 0x0d, 0xaa, 0x3f, 0xf9, 0x94, 0x70, 0x9c, 0x8b, 0xeb, 0x1b, 0xe7, 0xda, 0xca, 0x98, 0xfa,
+ 0x20, 0xf2, 0x4b, 0x9e, 0x0d, 0x4a, 0xc0, 0xab, 0xed, 0x84, 0x49, 0xc5, 0x33, 0xc3, 0x40, 0xf2,
+ 0x22, 0x65, 0x16, 0xdb, 0xfc, 0xf7, 0x1a, 0xc0, 0x31, 0x93, 0xc3, 0xb6, 0xf9, 0x20, 0xf4, 0x1b,
+ 0x40, 0x23, 0x7e, 0xcd, 0x72, 0x12, 0x0f, 0x59, 0x7c, 0x49, 0x24, 0xcb, 0xaf, 0x58, 0x8e, 0xbd,
+ 0x86, 0xd7, 0x7a, 0x14, 0xfa, 0xc6, 0xd3, 0xd6, 0x8e, 0x9e, 0xb1, 0xa3, 0x00, 0x56, 0x2d, 0x3a,
+ 0x67, 0x63, 0x91, 0xab, 0x12, 0x5e, 0x31, 0xf0, 0x15, 0xe3, 0x0a, 0x8d, 0xc7, 0xe1, 0x77, 0x60,
+ 0x3d, 0xe1, 0x92, 0x5e, 0xa4, 0x8c, 0x8c, 0x45, 0xca, 0xe3, 0x1b, 0xbb, 0x8d, 0xc4, 0x73, 0x0d,
+ 0xaf, 0xb5, 0x10, 0xae, 0x3a, 0xe7, 0x99, 0xf1, 0x99, 0x8d, 0x24, 0x7a, 0x05, 0x8f, 0xa7, 0xb1,
+ 0xa4, 0x4f, 0x79, 0x4a, 0xc4, 0x98, 0x65, 0xf8, 0x89, 0x0d, 0x1a, 0x4f, 0xd0, 0x07, 0x94, 0xa7,
+ 0xa7, 0x63, 0x96, 0xa1, 0x33, 0x78, 0x26, 0x79, 0xc2, 0x62, 0x9a, 0x13, 0x25, 0x88, 0x62, 0x29,
+ 0x1b, 0x31, 0x95, 0xdf, 0x10, 0xc9, 0xa4, 0xd4, 0x09, 0xa0, 0xfd, 0x3e, 0xcf, 0xb8, 0xba, 0xc1,
+ 0x1b, 0x86, 0x63, 0xd3, 0x81, 0x23, 0x11, 0x95, 0xd0, 0x9e, 0x45, 0xee, 0x3a, 0x20, 0xda, 0x82,
+ 0x15, 0x93, 0x62, 0x92, 0x72, 0xa9, 0x58, 0x46, 0xf4, 0xa9, 0xf0, 0x7c, 0xc3, 0x6b, 0xdd, 0x0f,
+ 0x97, 0x8d, 0xa3, 0x6b, 0xec, 0x67, 0x22, 0x57, 0xe8, 0x39, 0x58, 0x13, 0x19, 0x2a, 0x35, 0xb6,
+ 0xc8, 0xfb, 0x06, 0x59, 0x35, 0xe6, 0xb7, 0x4a, 0x8d, 0x0d, 0x6e, 0x0f, 0x96, 0x63, 0x91, 0x65,
+ 0x2c, 0x56, 0x44, 0xf1, 0x11, 0x13, 0x85, 0xc2, 0x0f, 0x1a, 0x5e, 0x6b, 0x71, 0xe7, 0x49, 0x60,
+ 0x8b, 0x1f, 0x94, 0xc5, 0x0f, 0xf6, 0x5d, 0xf1, 0xc3, 0x9a, 0x8b, 0x88, 0x6c, 0x00, 0x12, 0x50,
+ 0x55, 0xf1, 0x98, 0x5c, 0x32, 0x36, 0xa6, 0x29, 0xbf, 0x62, 0xf8, 0x57, 0x86, 0xe1, 0x28, 0xb0,
+ 0x9a, 0x9a, 0x28, 0xa1, 0x54, 0xd6, 0xab, 0xa0, 0x6d, 0x19, 0xb8, 0xc8, 0xce, 0x84, 0x48, 0x7b,
+ 0x4c, 0x29, 0x9e, 0x0d, 0x64, 0x10, 0xb5, 0xcf, 0x26, 0xbf, 0xe3, 0xf1, 0x4f, 0x25, 0x63, 0xb8,
+ 0xa4, 0xa6, 0x56, 0xe8, 0x5b, 0xa8, 0xf2, 0x6c, 0x90, 0x33, 0x29, 0x49, 0x9c, 0x52, 0x29, 0xf1,
+ 0x43, 0x53, 0xed, 0x25, 0x67, 0x6c, 0x6b, 0x1b, 0x7a, 0x01, 0xcb, 0x25, 0x48, 0x6b, 0x82, 0xc7,
+ 0x0c, 0x2f, 0x18, 0x58, 0xcd, 0x99, 0x7b, 0xd6, 0x8a, 0x46, 0xf0, 0xd5, 0x2d, 0x9b, 0xc8, 0x54,
+ 0x2e, 0xd2, 0x94, 0xe5, 0x64, 0x24, 0x12, 0x86, 0x1f, 0x35, 0xbc, 0x56, 0x6d, 0xe7, 0xfb, 0x60,
+ 0xc6, 0xe5, 0x08, 0x26, 0x8a, 0x0d, 0x0e, 0xdd, 0xbe, 0xb7, 0xd1, 0xc7, 0x22, 0x61, 0xe1, 0x3a,
+ 0x9f, 0x65, 0x46, 0xa7, 0xb0, 0x48, 0x0b, 0x35, 0x74, 0xea, 0xc3, 0x60, 0xb6, 0xd8, 0xba, 0x6b,
+ 0x8b, 0xdd, 0x42, 0x0d, 0xad, 0x26, 0xf7, 0x2a, 0xd8, 0x0b, 0x81, 0xde, 0xae, 0xd1, 0x21, 0xac,
+ 0xe4, 0x89, 0x24, 0x39, 0xeb, 0xe7, 0x4c, 0x0e, 0x49, 0xc2, 0x52, 0x7a, 0x83, 0x17, 0xef, 0x28,
+ 0xa2, 0x61, 0x59, 0xce, 0x13, 0x19, 0xda, 0xb0, 0x7d, 0x1d, 0x85, 0x9e, 0x41, 0x8d, 0x65, 0xe6,
+ 0x6e, 0xa8, 0x9c, 0xc6, 0x3c, 0x1b, 0xe0, 0x25, 0x23, 0xce, 0xaa, 0xb5, 0x46, 0xd6, 0xa8, 0xc5,
+ 0x45, 0xe3, 0x58, 0x27, 0x2c, 0x15, 0x03, 0xd2, 0xe7, 0x29, 0xc3, 0x55, 0x93, 0xda, 0xaa, 0x35,
+ 0x77, 0xc5, 0xe0, 0x80, 0xa7, 0x4c, 0x0b, 0x76, 0x1a, 0x27, 0xf2, 0x11, 0x55, 0x18, 0x1b, 0xe4,
+ 0xf2, 0x04, 0x69, 0xcc, 0x88, 0xc2, 0xea, 0x14, 0x96, 0x65, 0xb1, 0x48, 0xf4, 0xfe, 0x4f, 0x4d,
+ 0x7a, 0x5e, 0xde, 0x99, 0x9e, 0x92, 0xad, 0xe3, 0x02, 0xc3, 0x15, 0xfa, 0xb9, 0x09, 0xfd, 0x08,
+ 0xb5, 0x84, 0xf5, 0x69, 0x91, 0x2a, 0x62, 0x7b, 0x1f, 0xae, 0x99, 0x2c, 0x35, 0x66, 0xb2, 0x9f,
+ 0xe9, 0x7b, 0x62, 0xe9, 0xc3, 0xaa, 0x8b, 0x73, 0x1d, 0xea, 0x05, 0x54, 0x6d, 0xcf, 0xa1, 0x49,
+ 0xa2, 0x2b, 0x8c, 0x7d, 0x7d, 0x26, 0x93, 0xd2, 0x25, 0xe3, 0xd8, 0xb5, 0x76, 0x2d, 0x2d, 0x51,
+ 0xa8, 0x0b, 0x51, 0x64, 0x89, 0xce, 0x68, 0xbf, 0xcf, 0xe3, 0xb2, 0xee, 0x2b, 0x66, 0xeb, 0x3b,
+ 0xa5, 0x75, 0xea, 0xc2, 0x23, 0x1b, 0x6d, 0x4b, 0x1e, 0xae, 0x8b, 0x59, 0x66, 0xb4, 0x0f, 0xdf,
+ 0xb8, 0xf2, 0xc5, 0x29, 0x67, 0x99, 0x22, 0xba, 0xa7, 0x7c, 0xd2, 0xe6, 0xf0, 0xaa, 0xa9, 0xe7,
+ 0x53, 0x0b, 0x6b, 0x1b, 0x54, 0x8f, 0x27, 0xd3, 0xed, 0x0e, 0x35, 0x60, 0x49, 0x26, 0x92, 0x14,
+ 0x89, 0x24, 0x63, 0xaa, 0x86, 0x78, 0xcd, 0x14, 0x0c, 0x64, 0x22, 0xcf, 0x13, 0x79, 0x46, 0xd5,
+ 0x50, 0x2b, 0x4e, 0x7e, 0xa1, 0xb8, 0xf5, 0xff, 0x4a, 0x71, 0xf2, 0x33, 0xc5, 0xbd, 0x85, 0x9a,
+ 0xad, 0x05, 0x91, 0xa2, 0xc8, 0x63, 0x26, 0xf1, 0xe3, 0xc6, 0x5c, 0x6b, 0x71, 0x67, 0x73, 0x66,
+ 0x62, 0x6c, 0x52, 0x7a, 0x06, 0x19, 0x56, 0xe3, 0xa9, 0x95, 0x69, 0xd2, 0xee, 0xf0, 0xfa, 0xdb,
+ 0x94, 0xb8, 0x64, 0x19, 0x19, 0x89, 0x22, 0x53, 0xf8, 0x2b, 0xdb, 0xa4, 0xad, 0xb7, 0x97, 0xc8,
+ 0x48, 0xfb, 0x8e, 0xb5, 0x0b, 0x6d, 0x01, 0x32, 0x67, 0x95, 0x8c, 0x5c, 0xbe, 0x96, 0x44, 0x52,
+ 0xf2, 0x97, 0x0f, 0x0a, 0x7f, 0x6d, 0x02, 0x6a, 0xfa, 0xc4, 0x92, 0xfd, 0xf4, 0x5a, 0xf6, 0xe8,
+ 0xd1, 0x07, 0x85, 0x36, 0x61, 0x49, 0xe5, 0x85, 0x54, 0x24, 0x11, 0x23, 0xca, 0x33, 0x5c, 0x37,
+ 0x79, 0x59, 0x34, 0xb6, 0x7d, 0x63, 0x42, 0x6f, 0xe0, 0x49, 0xa9, 0x30, 0xd7, 0x73, 0x08, 0xbb,
+ 0x36, 0x63, 0x49, 0x09, 0xfc, 0x4d, 0x63, 0xae, 0xf5, 0x28, 0x7c, 0xec, 0x00, 0xae, 0xfb, 0x74,
+ 0x8c, 0x3b, 0x12, 0xe8, 0x2d, 0x6c, 0x96, 0xa1, 0x57, 0x3c, 0x57, 0x05, 0x4d, 0x67, 0x50, 0x34,
+ 0x0c, 0xc5, 0xd7, 0x0e, 0xf8, 0xce, 0xe2, 0x3e, 0x67, 0x3a, 0x82, 0x66, 0xc9, 0xf4, 0xf9, 0xc0,
+ 0x9d, 0xa2, 0xda, 0x34, 0x54, 0x1b, 0x0e, 0xb9, 0x3f, 0x01, 0x86, 0x45, 0x3a, 0xe1, 0x7a, 0x06,
+ 0xb5, 0x5c, 0x08, 0x45, 0x32, 0x3a, 0x62, 0x72, 0x4c, 0x63, 0x86, 0x9b, 0xf6, 0xa2, 0x6b, 0xeb,
+ 0x49, 0x69, 0x44, 0x7f, 0x86, 0xd5, 0x54, 0xc4, 0x34, 0xe5, 0xea, 0x86, 0xa4, 0x17, 0x44, 0xda,
+ 0x1e, 0x8e, 0xbf, 0x35, 0x92, 0xf8, 0x6e, 0x66, 0x29, 0xbb, 0x0e, 0xdf, 0x15, 0x34, 0xd9, 0xa3,
+ 0x29, 0xcd, 0x62, 0x96, 0xbb, 0xde, 0x1f, 0xae, 0x94, 0x64, 0xdd, 0x0b, 0x67, 0x42, 0x6d, 0xf0,
+ 0x93, 0x6c, 0x22, 0xb9, 0x9c, 0x2a, 0x86, 0x7f, 0x7d, 0xe7, 0xa0, 0x4a, 0xb2, 0x52, 0x6d, 0x21,
+ 0x55, 0x0c, 0x7d, 0x07, 0x6b, 0xe5, 0xec, 0x77, 0xaf, 0x85, 0x0b, 0xaa, 0xe2, 0x21, 0x7e, 0x66,
+ 0xea, 0x8d, 0x9c, 0xcf, 0x3e, 0x17, 0xf6, 0xb4, 0x07, 0xfd, 0x16, 0xf0, 0x34, 0x92, 0x8c, 0xe8,
+ 0x35, 0x61, 0x99, 0xca, 0x39, 0x93, 0xf8, 0x79, 0xc3, 0x6b, 0x55, 0xc3, 0xf5, 0x7c, 0x02, 0x3f,
+ 0xa6, 0xd7, 0x1d, 0xeb, 0x44, 0x5d, 0x58, 0xff, 0x22, 0x50, 0x0f, 0x58, 0xfc, 0xe2, 0xae, 0x8f,
+ 0x46, 0x9f, 0x12, 0xea, 0x21, 0x5b, 0xff, 0x9b, 0x07, 0xeb, 0x33, 0x3b, 0x01, 0x3a, 0x81, 0x79,
+ 0x33, 0xa9, 0x3c, 0xd3, 0x27, 0x7f, 0xf8, 0x9f, 0xda, 0x49, 0x60, 0xc6, 0x95, 0xe1, 0x69, 0xee,
+ 0xc3, 0xbc, 0x99, 0x52, 0x2b, 0x50, 0x0d, 0x3b, 0x3f, 0x1e, 0xf6, 0xa2, 0xf0, 0x3d, 0x39, 0x3d,
+ 0xe9, 0xbe, 0xf7, 0xef, 0xa1, 0x2a, 0x3c, 0xda, 0xed, 0x76, 0x4f, 0x7f, 0x4f, 0x76, 0x4f, 0xde,
+ 0xfb, 0x5e, 0x73, 0x7e, 0xa1, 0xe2, 0x57, 0xb6, 0xd6, 0xde, 0x1d, 0x86, 0xd1, 0xf9, 0x6e, 0x97,
+ 0xf4, 0x3a, 0xe1, 0xbb, 0xc3, 0x76, 0xc7, 0x80, 0x9b, 0x6f, 0x60, 0x7d, 0xe6, 0x4c, 0x44, 0x0f,
+ 0x61, 0xee, 0xf4, 0xe0, 0xc0, 0xbf, 0x87, 0x16, 0xe1, 0xe1, 0x7e, 0xe7, 0x60, 0xf7, 0xbc, 0x1b,
+ 0xf9, 0x1e, 0x02, 0x78, 0xd0, 0x8b, 0xc2, 0xc3, 0x76, 0xe4, 0x57, 0x9a, 0xcf, 0x01, 0x26, 0xb3,
+ 0x0e, 0x2d, 0xc0, 0xfc, 0xc9, 0xe9, 0x49, 0xc7, 0xbf, 0x87, 0x6a, 0x00, 0xc7, 0xe7, 0x66, 0xa7,
+ 0xa8, 0xdb, 0xf3, 0xbd, 0xe6, 0x0b, 0x58, 0xf9, 0xa2, 0xe9, 0x6b, 0x78, 0xd4, 0xf9, 0x43, 0xe4,
+ 0xdf, 0xd3, 0xbf, 0x8e, 0x7a, 0xa7, 0x27, 0xbe, 0x77, 0x34, 0xbf, 0xb0, 0xec, 0xfb, 0x47, 0xf3,
+ 0x0b, 0xc8, 0x5f, 0x6d, 0x4a, 0x58, 0x9a, 0x6e, 0x21, 0x08, 0xc3, 0xc3, 0xb2, 0x85, 0xdb, 0xf7,
+ 0x65, 0xb9, 0x44, 0x87, 0xb0, 0xa4, 0x52, 0x59, 0x2a, 0x59, 0x9a, 0xf7, 0xe4, 0xe2, 0xce, 0xf3,
+ 0x9f, 0x79, 0xd2, 0x44, 0xdd, 0x5e, 0xf9, 0x76, 0x09, 0x17, 0x55, 0x2a, 0xcb, 0x45, 0xf3, 0xef,
+ 0x73, 0xf0, 0xf4, 0x67, 0xd4, 0x8e, 0xfe, 0x04, 0x90, 0x70, 0xa9, 0x72, 0x7e, 0x51, 0x28, 0x5d,
+ 0x48, 0xdd, 0xfe, 0x7e, 0xf7, 0x4b, 0xef, 0x4c, 0xb0, 0x7f, 0x4b, 0x11, 0x4e, 0xd1, 0xa1, 0x73,
+ 0x58, 0xd0, 0xaf, 0x55, 0x61, 0xdf, 0xc4, 0x9a, 0xfa, 0xcd, 0x2f, 0xa6, 0x3e, 0x70, 0x04, 0xe1,
+ 0x2d, 0x55, 0xfd, 0xaf, 0x1e, 0xc0, 0x64, 0x47, 0x84, 0x60, 0xbe, 0x9f, 0x8b, 0x91, 0x4b, 0xa2,
+ 0xf9, 0x8d, 0x7a, 0x50, 0x51, 0xc2, 0xed, 0xd9, 0xfe, 0x3f, 0x8e, 0x13, 0x44, 0x42, 0x5f, 0xaa,
+ 0x9b, 0xb0, 0xa2, 0x44, 0xfd, 0x7b, 0x78, 0xe8, 0x96, 0xc8, 0x87, 0xb9, 0x4b, 0x76, 0xe3, 0xb6,
+ 0xd4, 0x3f, 0xd1, 0x1a, 0xdc, 0xbf, 0xa2, 0x69, 0xc1, 0x4c, 0xb1, 0xaa, 0xa1, 0x5d, 0xfc, 0x50,
+ 0x79, 0xed, 0xd5, 0x03, 0x58, 0x28, 0x0f, 0x31, 0xf3, 0x5b, 0x6b, 0xee, 0x5b, 0xb5, 0xa5, 0xa2,
+ 0xc4, 0x5e, 0xeb, 0x1f, 0x1f, 0x37, 0xbc, 0x7f, 0x7e, 0xdc, 0xf0, 0xfe, 0xf5, 0x71, 0xc3, 0xfb,
+ 0x63, 0xdd, 0x7e, 0x3c, 0x17, 0xdb, 0x74, 0xcc, 0xb7, 0x3f, 0xf9, 0xcf, 0x73, 0xf1, 0xc0, 0x5c,
+ 0xe0, 0x57, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0xac, 0x70, 0x02, 0xf7, 0x5c, 0x0d, 0x00, 0x00,
}
func (m *MeshConfig) Marshal() (dAtA []byte, err error) {
@@ -1410,6 +1447,37 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) {
}
i += n8
}
+ if m.DisableReportBatch {
+ dAtA[i] = 0xa8
+ i++
+ dAtA[i] = 0x2
+ i++
+ if m.DisableReportBatch {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i++
+ }
+ if m.ReportBatchMaxEntries != 0 {
+ dAtA[i] = 0xb0
+ i++
+ dAtA[i] = 0x2
+ i++
+ i = encodeVarintConfig(dAtA, i, uint64(m.ReportBatchMaxEntries))
+ }
+ if m.ReportBatchMaxTime != nil {
+ dAtA[i] = 0xba
+ i++
+ dAtA[i] = 0x2
+ i++
+ i = encodeVarintConfig(dAtA, i, uint64(m.ReportBatchMaxTime.Size()))
+ n9, err9 := m.ReportBatchMaxTime.MarshalTo(dAtA[i:])
+ if err9 != nil {
+ return 0, err9
+ }
+ i += n9
+ }
if m.XXX_unrecognized != nil {
i += copy(dAtA[i:], m.XXX_unrecognized)
}
@@ -1467,11 +1535,11 @@ func (m *ConfigSource) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintConfig(dAtA, i, uint64(m.TlsSettings.Size()))
- n9, err9 := m.TlsSettings.MarshalTo(dAtA[i:])
- if err9 != nil {
- return 0, err9
+ n10, err10 := m.TlsSettings.MarshalTo(dAtA[i:])
+ if err10 != nil {
+ return 0, err10
}
- i += n9
+ i += n10
}
if m.XXX_unrecognized != nil {
i += copy(dAtA[i:], m.XXX_unrecognized)
@@ -1747,6 +1815,16 @@ func (m *MeshConfig) Size() (n int) {
l = m.DnsRefreshRate.Size()
n += 2 + l + sovConfig(uint64(l))
}
+ if m.DisableReportBatch {
+ n += 3
+ }
+ if m.ReportBatchMaxEntries != 0 {
+ n += 2 + sovConfig(uint64(m.ReportBatchMaxEntries))
+ }
+ if m.ReportBatchMaxTime != nil {
+ l = m.ReportBatchMaxTime.Size()
+ n += 2 + l + sovConfig(uint64(l))
+ }
if m.XXX_unrecognized != nil {
n += len(m.XXX_unrecognized)
}
@@ -2871,6 +2949,81 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 37:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field DisableReportBatch", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowConfig
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.DisableReportBatch = bool(v != 0)
+ case 38:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ReportBatchMaxEntries", wireType)
+ }
+ m.ReportBatchMaxEntries = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowConfig
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.ReportBatchMaxEntries |= uint32(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ case 39:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ReportBatchMaxTime", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowConfig
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthConfig
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthConfig
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.ReportBatchMaxTime == nil {
+ m.ReportBatchMaxTime = &types.Duration{}
+ }
+ if err := m.ReportBatchMaxTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipConfig(dAtA[iNdEx:])
diff --git a/vendor/istio.io/api/mesh/v1alpha1/config.proto b/vendor/istio.io/api/mesh/v1alpha1/config.proto
index c35e2b243468..ee9cb7110b54 100644
--- a/vendor/istio.io/api/mesh/v1alpha1/config.proto
+++ b/vendor/istio.io/api/mesh/v1alpha1/config.proto
@@ -282,8 +282,23 @@ message MeshConfig {
// Configures DNS refresh rate for Envoy clusters of type STRICT_DNS
google.protobuf.Duration dns_refresh_rate = 36;
+ // The flag to disable report batch.
+ bool disable_report_batch = 37;
+
+ // When disable_report_batch is false, this value specifies the maximum number
+ // of requests that are batched in report. If left unspecified, the default value
+ // of report_batch_max_entries == 0 will use the hardcoded defaults of
+ // istio::mixerclient::ReportOptions.
+ uint32 report_batch_max_entries = 38;
+
+ // When disable_report_batch is false, this value specifies the maximum elapsed
+ // time a batched report will be sent after a user request is processed. If left
+ // unspecified, the default report_batch_max_time == 0 will use the hardcoded
+ // defaults of istio::mixerclient::ReportOptions.
+ google.protobuf.Duration report_batch_max_time = 39;
+
// $hide_from_docs
- // Next available field number: 37
+ // Next available field number: 40
}
// ConfigSource describes information about a configuration store inside a
diff --git a/vendor/istio.io/api/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/vendor/istio.io/api/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
index 97ea424c9d17..af3b9a5fab1d 100644
--- a/vendor/istio.io/api/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
+++ b/vendor/istio.io/api/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
@@ -494,6 +494,36 @@ MeshConfig
Configures DNS refresh rate for Envoy clusters of type STRICT_DNS
+ |
+
+
+disableReportBatch |
+bool |
+
+ The flag to disable report batch.
+
+ |
+
+
+reportBatchMaxEntries |
+uint32 |
+
+ When disablereportbatch is false, this value specifies the maximum number
+of requests that are batched in report. If left unspecified, the default value
+of reportbatchmax_entries == 0 will use the hardcoded defaults of
+istio::mixerclient::ReportOptions.
+
+ |
+
+
+reportBatchMaxTime |
+google.protobuf.Duration |
+
+ When disablereportbatch is false, this value specifies the maximum elapsed
+time a batched report will be sent after a user request is processed. If left
+unspecified, the default reportbatchmax_time == 0 will use the hardcoded
+defaults of istio::mixerclient::ReportOptions.
+
|
@@ -618,8 +648,9 @@ MeshNetworks
MeshNetworks (config map) provides information about the set of networks
inside a mesh and how to route to endpoints in each network. For example
-MeshNetworks(file/config map):
-networks:
+
MeshNetworks(file/config map):
+
+networks:
network1:
- endpoints:
- fromRegistry: registry1 #must match secret name in Kubernetes
@@ -630,7 +661,8 @@ MeshNetworks
locality: us-east-1a
- address: 192.168.100.1
port: 15443
- locality: us-east-1a
+ locality: us-east-1a
+
diff --git a/vendor/istio.io/api/mesh/v1alpha1/network.pb.go b/vendor/istio.io/api/mesh/v1alpha1/network.pb.go
index 0689dc4b2320..ae772d18fbfe 100644
--- a/vendor/istio.io/api/mesh/v1alpha1/network.pb.go
+++ b/vendor/istio.io/api/mesh/v1alpha1/network.pb.go
@@ -422,6 +422,8 @@ func _Network_IstioNetworkGateway_OneofSizer(msg proto.Message) (n int) {
// inside a mesh and how to route to endpoints in each network. For example
//
// MeshNetworks(file/config map):
+//
+// ```yaml
// networks:
// network1:
// - endpoints:
@@ -434,6 +436,8 @@ func _Network_IstioNetworkGateway_OneofSizer(msg proto.Message) (n int) {
// - address: 192.168.100.1
// port: 15443
// locality: us-east-1a
+// ```
+//
type MeshNetworks struct {
// REQUIRED: The set of networks inside this mesh. Each network should
// have a unique name and information about how to infer the endpoints in
diff --git a/vendor/istio.io/api/mesh/v1alpha1/network.proto b/vendor/istio.io/api/mesh/v1alpha1/network.proto
index 126d1212e656..1ed902d532bc 100644
--- a/vendor/istio.io/api/mesh/v1alpha1/network.proto
+++ b/vendor/istio.io/api/mesh/v1alpha1/network.proto
@@ -96,6 +96,8 @@ message Network {
// inside a mesh and how to route to endpoints in each network. For example
//
// MeshNetworks(file/config map):
+//
+// ```yaml
// networks:
// network1:
// - endpoints:
@@ -108,6 +110,8 @@ message Network {
// - address: 192.168.100.1
// port: 15443
// locality: us-east-1a
+// ```
+//
message MeshNetworks {
// REQUIRED: The set of networks inside this mesh. Each network should
// have a unique name and information about how to infer the endpoints in
diff --git a/vendor/istio.io/api/networking/v1alpha3/destination_rule.pb.go b/vendor/istio.io/api/networking/v1alpha3/destination_rule.pb.go
index 3cbfe53fdd75..35553c187f2a 100644
--- a/vendor/istio.io/api/networking/v1alpha3/destination_rule.pb.go
+++ b/vendor/istio.io/api/networking/v1alpha3/destination_rule.pb.go
@@ -1278,7 +1278,8 @@ type ConnectionPoolSettings_HTTPSettings struct {
// Maximum number of requests to a backend. Default 1024.
Http2MaxRequests int32 `protobuf:"varint,2,opt,name=http2_max_requests,json=http2MaxRequests,proto3" json:"http2_max_requests,omitempty"`
// Maximum number of requests per connection to a backend. Setting this
- // parameter to 1 disables keep alive.
+ // parameter to 1 disables keep alive. Default 0, meaning "unlimited",
+ // up to 2^29.
MaxRequestsPerConnection int32 `protobuf:"varint,3,opt,name=max_requests_per_connection,json=maxRequestsPerConnection,proto3" json:"max_requests_per_connection,omitempty"`
// Maximum number of retries that can be outstanding to all hosts in a
// cluster at a given time. Defaults to 1024.
diff --git a/vendor/istio.io/api/networking/v1alpha3/destination_rule.pb.html b/vendor/istio.io/api/networking/v1alpha3/destination_rule.pb.html
index d51970bb7c47..0f13e01af886 100644
--- a/vendor/istio.io/api/networking/v1alpha3/destination_rule.pb.html
+++ b/vendor/istio.io/api/networking/v1alpha3/destination_rule.pb.html
@@ -163,7 +163,8 @@ ConnectionPoolSettings.HTTPSettings
int32 |
Maximum number of requests per connection to a backend. Setting this
-parameter to 1 disables keep alive.
+parameter to 1 disables keep alive. Default 0, meaning “unlimited”,
+up to 2^29.
|
diff --git a/vendor/istio.io/api/networking/v1alpha3/destination_rule.proto b/vendor/istio.io/api/networking/v1alpha3/destination_rule.proto
index 38159f57d9ac..98932e627425 100644
--- a/vendor/istio.io/api/networking/v1alpha3/destination_rule.proto
+++ b/vendor/istio.io/api/networking/v1alpha3/destination_rule.proto
@@ -419,7 +419,8 @@ message ConnectionPoolSettings {
int32 http2_max_requests = 2;
// Maximum number of requests per connection to a backend. Setting this
- // parameter to 1 disables keep alive.
+ // parameter to 1 disables keep alive. Default 0, meaning "unlimited",
+ // up to 2^29.
int32 max_requests_per_connection = 3;
// Maximum number of retries that can be outstanding to all hosts in a
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 226f97543a65..7207319533af 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -665,7 +665,7 @@ gopkg.in/square/go-jose.v2/json
gopkg.in/stack.v1
# gopkg.in/yaml.v2 v2.2.2
gopkg.in/yaml.v2
-# istio.io/api v0.0.0-20190522004026-1dffc8d3d26d
+# istio.io/api v0.0.0-20190529184517-9f689ccd2715
istio.io/api/mesh/v1alpha1
istio.io/api/authentication/v1alpha1
istio.io/api/mixer/v1/config/client