Skip to content
This repository has been archived by the owner on Aug 18, 2023. It is now read-only.

Commit

Permalink
Merge pull request #184 from signalfx/cluster
Browse files Browse the repository at this point in the history
Add ClusterName to default dimensions and config
  • Loading branch information
mdubbyap authored Jan 25, 2019
2 parents 6835157 + f567db2 commit 8421d05
Show file tree
Hide file tree
Showing 10 changed files with 65 additions and 48 deletions.
6 changes: 6 additions & 0 deletions config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ type ForwardTo struct {
DisableCompression *bool `json:",omitempty"`
Server etcdIntf.Server `json:"-"`
Client etcdIntf.Client `json:"-"`
ClusterName *string `json:"-"`
}

// ListenFrom configures how we listen for datapoints to forward
Expand Down Expand Up @@ -113,6 +114,7 @@ type GatewayConfig struct {
RemoveMemberTimeout *time.Duration `json:"-"`
AdditionalDimensions map[string]string `json:",omitempty"`
InternalMetricsListenerAddress *string `json:",omitempty"`
ClusterName *string `json:",omitempty"`
}

// DefaultGatewayConfig is default values for the gateway config
Expand All @@ -137,6 +139,7 @@ var DefaultGatewayConfig = &GatewayConfig{
ClusterOperation: pointer.String(""),
TargetClusterAddresses: []string{},
AdditionalDimensions: map[string]string{},
ClusterName: pointer.String("gateway"),
}

func getDefaultName(osHostname func() (string, error)) string {
Expand Down Expand Up @@ -250,6 +253,9 @@ func Load(configFile string, logger log.Logger) (*GatewayConfig, error) {
if err == nil {
c := pointer.FillDefaultFrom(p, DefaultGatewayConfig).(*GatewayConfig)
if err = os.Setenv("gatewayServerName", *c.ServerName); err == nil {
if c.ClusterName == nil || *c.ClusterName == "" {
return nil, errors.New("gateway now requires configuring ClusterName at top level of config")
}
return c, nil
}
}
Expand Down
4 changes: 4 additions & 0 deletions config/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,10 @@ func TestLoad(t *testing.T) {
_, err = Load(filename, log.Discard)
assert.Nil(t, err)

err = ioutil.WriteFile(filename, []byte(`{"ClusterName":"", "ListenFrom":[{"Timeout":"3s"}]}`), os.FileMode(0644))
assert.Nil(t, err)
_, err = Load(filename, log.Discard)
assert.Error(t, err)
}

func TestDecodeConfig(t *testing.T) {
Expand Down
1 change: 1 addition & 0 deletions config/loader.go
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,7 @@ func (s *signalFxLoader) Forwarder(conf *ForwardTo) (protocol.Forwarder, error)
sfConf.TraceSample.EtcdServer = conf.Server
sfConf.TraceSample.EtcdClient = conf.Client
sfConf.TraceSample.AdditionalDimensions = datapoint.AddMaps(conf.AdditionalDimensions, conf.TraceSample.AdditionalDimensions)
sfConf.TraceSample.ClusterName = conf.ClusterName
}
return signalfx.NewForwarder(&sfConf)
}
Expand Down
8 changes: 6 additions & 2 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,7 @@ func setupForwarders(ctx context.Context, tk timekeeper.TimeKeeper, loader *conf
logCtx := log.NewContext(logger).With(logkey.Protocol, forwardConfig.Type, logkey.Direction, "forwarder")
forwardConfig.Server = manager.server
forwardConfig.Client = manager.client
forwardConfig.ClusterName = loadedConfig.ClusterName
forwardConfig.AdditionalDimensions = datapoint.AddMaps(loadedConfig.AdditionalDimensions, forwardConfig.AdditionalDimensions)
forwarder, err := loader.Forwarder(forwardConfig)
if err != nil {
Expand Down Expand Up @@ -355,6 +356,7 @@ func setupForwarders(ctx context.Context, tk timekeeper.TimeKeeper, loader *conf
"source": "gateway",
"host": *loadedConfig.ServerName,
"type": forwardConfig.Type,
"cluster": *loadedConfig.ClusterName,
}))
}
return allForwarders, nil
Expand Down Expand Up @@ -403,6 +405,7 @@ func setupListeners(tk timekeeper.TimeKeeper, hostname string, loadedConfig *con
"source": "gateway",
"host": hostname,
"type": listenConfig.Type,
"cluster": *loadedConfig.ClusterName,
}))
}
return listeners, nil
Expand Down Expand Up @@ -609,8 +612,9 @@ func (p *gateway) setupScheduler(loadedConfig *config.GatewayConfig) *sfxclient.
scheduler := sfxclient.NewScheduler()
scheduler.AddCallback(sfxclient.GoMetricsSource)
scheduler.DefaultDimensions(datapoint.AddMaps(loadedConfig.AdditionalDimensions, map[string]string{
"source": "gateway",
"host": *loadedConfig.ServerName,
"source": "gateway",
"host": *loadedConfig.ServerName,
"cluster": *loadedConfig.ClusterName,
}))
return scheduler
}
Expand Down
2 changes: 1 addition & 1 deletion main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -520,7 +520,7 @@ func startProxies(ctx context.Context, proxies []*gateway, logger *log.Hierarchy
case err := <-mainDoneChan:
if err != nil {
p.etcdMgr.shutdown(false)
time.Sleep(time.Second * 2)
time.Sleep(time.Second * 5)
goto retry
}
}
Expand Down
5 changes: 2 additions & 3 deletions protocol/signalfx/tagreplace/tagreplace.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (
"fmt"
"github.com/signalfx/golib/datapoint"
"github.com/signalfx/golib/datapoint/dpsink"
"github.com/signalfx/golib/errors"
"github.com/signalfx/golib/event"
"github.com/signalfx/golib/pointer"
"github.com/signalfx/golib/trace"
Expand Down Expand Up @@ -79,12 +78,12 @@ func New(ruleStrings []string, next sink) (*TagReplace, error) {
return nil, err
}
if len(rp.SubexpNames()) < 2 {
return nil, errors.New(fmt.Sprintf("regex contains no named parenthesized subexpressions '%s'", r))
return nil, fmt.Errorf("regex contains no named parenthesized subexpressions '%s'", r)
}
for i := 1; i < len(rp.SubexpNames()); i++ {
v := rp.SubexpNames()[i]
if len(v) < 1 {
return nil, errors.New(fmt.Sprintf("regex contains a non named parenthesized subexpression '%s'", r))
return nil, fmt.Errorf("regex contains a non named parenthesized subexpression '%s'", r)
}
}
rules = append(rules, rp)
Expand Down
1 change: 1 addition & 0 deletions sampling/stub.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ type SmartSampleConfig struct {
EtcdServer etcdIntf.Server `json:"-"`
EtcdClient etcdIntf.Client `json:"-"`
AdditionalDimensions map[string]string `json:",omitempty"`
ClusterName *string `json:"-"`
}

// SmartSampler is not here
Expand Down
1 change: 1 addition & 0 deletions scripts/circle.sh
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ function do_test() {
)
done
install_go_version "$GO_COMPILER_PATH" "$GOLANG_VERSION"
env
(
cd "$SRC_PATH"
go clean -x ./...
Expand Down
3 changes: 2 additions & 1 deletion vendor/github.com/signalfx/golib/sfxclient/httpsink.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

82 changes: 41 additions & 41 deletions vendor/vendor.json
Original file line number Diff line number Diff line change
Expand Up @@ -966,122 +966,122 @@
{
"checksumSHA1": "mCET1srTLXKFPE5jYIEy6CIsgBs=",
"path": "github.com/signalfx/golib/datapoint",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "1sh7MS72ZCgPTrK+CjMHTtuCIWI=",
"path": "github.com/signalfx/golib/datapoint/dpsink",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "e95O2kFV1Tjw2oByCd7h903zFUo=",
"path": "github.com/signalfx/golib/datapoint/dptest",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "GuSggAzlI13Uu1yZ9rM8puMTEi8=",
"path": "github.com/signalfx/golib/errors",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "wDOXoGg2ALYhvV4GVZEeMqXP7SE=",
"path": "github.com/signalfx/golib/event",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "TVb+/MOLmMBr4ZJ2qLQUbsyL5is=",
"path": "github.com/signalfx/golib/eventcounter",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "OFrPOY5sCUCxCJwS9EDWACTNksQ=",
"path": "github.com/signalfx/golib/explorable",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "DvU/T1x0ZHIfKOdK/T6uzauh/+Y=",
"path": "github.com/signalfx/golib/expvar2",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "9u1IVJSTnAac1Ugd/9Hcu3nONiE=",
"path": "github.com/signalfx/golib/httpdebug",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "Ahp44RHUXnEsLee72Mg/Xqqstlc=",
"path": "github.com/signalfx/golib/log",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "Jww4G7329IP9YYR4AW7RBurVTdw=",
"path": "github.com/signalfx/golib/logkey",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "Rp9SRtpmfC8hbM2DH4Hu/bEYwAM=",
"path": "github.com/signalfx/golib/nettest",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "e437Xftv3lq51VGANp9KcH7cD8U=",
"path": "github.com/signalfx/golib/pointer",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "N+OiKDJ+L5TSeYLgbIOfeKDaTo4=",
"path": "github.com/signalfx/golib/reportsha",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "E0rmriDqBb4Ew0FV5BRwfpaWRsw=",
"checksumSHA1": "DtAKR5nV1zJiKLGa115teOvge7Y=",
"path": "github.com/signalfx/golib/sfxclient",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "S66r/9t8lohMFtLcHxGifO/09pY=",
"path": "github.com/signalfx/golib/sfxclient/spanfilter",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "kLiclgZJImywtHf9fXdY7D0PsvY=",
"path": "github.com/signalfx/golib/timekeeper",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "a1T5EKY9A55Ajj9B/rtMwKO5CRA=",
"path": "github.com/signalfx/golib/trace",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "9H+7QI8NpjP1UlKwp3arTaTll8E=",
"path": "github.com/signalfx/golib/trace/format",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "GLnZRaIECOpsjLGByW1k9dnDwA0=",
"path": "github.com/signalfx/golib/web",
"revision": "a3e95acfd75f5a6f2799f5706ad659eaf11da5a1",
"revisionTime": "2019-01-04T23:11:37Z"
"revision": "e53fd214e538886e014703f65330ca197e142d0d",
"revisionTime": "2019-01-25T16:22:16Z"
},
{
"checksumSHA1": "PDUk2HgJuJd60hGgGeIyyLhzstQ=",
Expand Down

0 comments on commit 8421d05

Please sign in to comment.