diff --git a/command/server/config.go b/command/server/config.go index 45a19553d7..254dbda4be 100644 --- a/command/server/config.go +++ b/command/server/config.go @@ -38,6 +38,9 @@ type Config struct { // Chain is the chain to sync with Chain string `hcl:"chain,optional"` + // Name, or identity of the node + Name string `hcl:"name,optional"` + // Whitelist is a list of required (block number, hash) pairs to accept Whitelist map[string]string `hcl:"whitelist,optional"` @@ -365,6 +368,7 @@ type AccountsConfig struct { func DefaultConfig() *Config { return &Config{ Chain: "mainnet", + Name: Hostname(), Whitelist: map[string]string{}, LogLevel: "INFO", DataDir: defaultDataDir(), @@ -885,3 +889,11 @@ func defaultDataDir() string { return filepath.Join(home, ".bor") } } + +func Hostname() string { + hostname, err := os.Hostname() + if err != nil { + return "bor" + } + return hostname +} diff --git a/command/server/flags.go b/command/server/flags.go index 8e995c9bfa..76828ef6fc 100644 --- a/command/server/flags.go +++ b/command/server/flags.go @@ -14,6 +14,11 @@ func (c *Command) Flags() *flagset.Flagset { Usage: "Name of the chain to sync", Value: &c.cliConfig.Chain, }) + f.StringFlag(&flagset.StringFlag{ + Name: "name", + Usage: "Name/Identity of the node", + Value: &c.cliConfig.Name, + }) f.StringFlag(&flagset.StringFlag{ Name: "log-level", Usage: "Set log level for the server", diff --git a/command/server/server.go b/command/server/server.go index 8629ef312e..bab4673214 100644 --- a/command/server/server.go +++ b/command/server/server.go @@ -111,7 +111,7 @@ func NewServer(config *Config) (*Server, error) { } } - if err := srv.setupMetrics(config.Telemetry); err != nil { + if err := srv.setupMetrics(config.Telemetry, config.Name); err != nil { return nil, err } @@ -133,7 +133,7 @@ func (s *Server) Stop() { } } -func (s *Server) setupMetrics(config *TelemetryConfig) error { +func (s *Server) setupMetrics(config *TelemetryConfig, serviceName string) error { metrics.Enabled = config.Enabled metrics.EnabledExpensive = config.Expensive @@ -195,7 +195,7 @@ func (s *Server) setupMetrics(config *TelemetryConfig) error { res, err := resource.New(ctx, resource.WithAttributes( // the service name used to display traces in backends - semconv.ServiceNameKey.String("bor"), // TODO: use the service name from the config + semconv.ServiceNameKey.String(serviceName), ), ) if err != nil {