diff --git a/etcd/embed.go b/etcd/embed.go index d74f413cd..312678d35 100644 --- a/etcd/embed.go +++ b/etcd/embed.go @@ -133,17 +133,20 @@ type Etcd struct { nodeStates map[string]disco.NodeState nodeStatesDirty bool // do we need to remake the nodeStates map to use it? + version string + // we want to inherit parent's logging functionality logger logger.Logger } -func NewEtcd(opt Options, logger logger.Logger, replicas int) *Etcd { +func NewEtcd(opt Options, logger logger.Logger, replicas int, version string) *Etcd { e := &Etcd{ options: opt, logger: logger, replicas: replicas, knownNodes: make(map[string]*nodeData), nodeStates: make(map[string]disco.NodeState), + version: version, } if e.options.HeartbeatTTL == 0 { @@ -284,7 +287,8 @@ func (e *Etcd) parseOptions() *embed.Config { // enterprise version. Sentry.io is enabled on single-node. if AllowCluster() == false { // %% end sonarcloud ignore %% - monitor.InitErrorMonitor() + + monitor.InitErrorMonitor(e.version) e.logger.Infof("Initializing Monitor: Capturing usage metrics") //check for multiple nodes in the cluster and error if present nodes := strings.Split(e.options.InitCluster, ",") diff --git a/monitor/monitor.go b/monitor/monitor.go index b5fee269e..baa08261b 100644 --- a/monitor/monitor.go +++ b/monitor/monitor.go @@ -22,13 +22,14 @@ const ( var isOn bool // Initialiazing Sentry with particular settings -func InitErrorMonitor() { +func InitErrorMonitor(version string) { isOn = true err := sentry.Init(sentry.ClientOptions{ Dsn: getDSN(), AttachStacktrace: true, Debug: false, TracesSampleRate: 1, + Release: version, }) sentry.ConfigureScope(func(scope *sentry.Scope) { scope.SetUser(sentry.User{IPAddress: "{{auto}}"}) diff --git a/server/server.go b/server/server.go index d16e683f3..e60ccedda 100644 --- a/server/server.go +++ b/server/server.go @@ -335,7 +335,8 @@ func (m *Command) SetupServer() error { return errors.Wrap(err, "setting up logger") } - m.logger.Infof("%s", pilosa.VersionInfo(m.Config.Future.Rename)) + version := pilosa.VersionInfo(m.Config.Future.Rename) + m.logger.Infof("%s", version) handleTrialDeadline(m.logger) @@ -457,7 +458,7 @@ func (m *Command) SetupServer() error { m.Config.Etcd.Dir = filepath.Join(path, pilosa.DiscoDir) } - e := petcd.NewEtcd(m.Config.Etcd, m.logger, m.Config.Cluster.ReplicaN) + e := petcd.NewEtcd(m.Config.Etcd, m.logger, m.Config.Cluster.ReplicaN, version) discoOpt := pilosa.OptServerDisCo(e, e, e, e, e, e, e) serverOptions := []pilosa.ServerOption{