From 6d6f06b1593c496cb75a13a0de487e49b3ad9dd3 Mon Sep 17 00:00:00 2001 From: Manav Darji Date: Fri, 23 Sep 2022 17:17:48 +0530 Subject: [PATCH 1/9] remove setting maxpeers to 0 for nodiscover flag --- internal/cli/server/config.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/internal/cli/server/config.go b/internal/cli/server/config.go index ec44ade8d2..5f45fb7147 100644 --- a/internal/cli/server/config.go +++ b/internal/cli/server/config.go @@ -996,8 +996,7 @@ func (c *Config) buildNode() (*node.Config, error) { } if c.P2P.NoDiscover { - // Disable networking, for now, we will not even allow incomming connections - cfg.P2P.MaxPeers = 0 + // Disable peer discovery cfg.P2P.NoDiscovery = true } From 8f2368b681551412f005bd1ab376819c3d30259f Mon Sep 17 00:00:00 2001 From: Manav Darji Date: Fri, 23 Sep 2022 17:35:19 +0530 Subject: [PATCH 2/9] set default prometheus and open-collector endpoint --- internal/cli/server/config.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/cli/server/config.go b/internal/cli/server/config.go index 5f45fb7147..daaba15e55 100644 --- a/internal/cli/server/config.go +++ b/internal/cli/server/config.go @@ -479,8 +479,8 @@ func DefaultConfig() *Config { Telemetry: &TelemetryConfig{ Enabled: false, Expensive: false, - PrometheusAddr: "", - OpenCollectorEndpoint: "", + PrometheusAddr: "0.0.0.0:7071", + OpenCollectorEndpoint: "0.0.0.0:4317", InfluxDB: &InfluxDBConfig{ V1Enabled: false, Endpoint: "", From f06291945d7629a4ddbf08b89dcfbb4a71404a22 Mon Sep 17 00:00:00 2001 From: Manav Darji Date: Fri, 23 Sep 2022 17:36:11 +0530 Subject: [PATCH 3/9] skip building grpc address from pprof address and port --- scripts/getconfig.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/getconfig.go b/scripts/getconfig.go index 9b5e6bf2b3..676a772078 100644 --- a/scripts/getconfig.go +++ b/scripts/getconfig.go @@ -445,6 +445,7 @@ func updateArgsAdd(args []string) []string { return args } +// Unused for now, can be removed later func handleGRPC(args []string, updatedArgs []string) []string { var newUpdatedArgs []string @@ -658,7 +659,7 @@ func main() { outOfDateFlags := checkFlag(allFlags, flagsToCheck) updatedArgs := updateArgsClean(args, outOfDateFlags) updatedArgs = updateArgsAdd(updatedArgs) - updatedArgs = handleGRPC(args, updatedArgs) + // updatedArgs = handleGRPC(args, updatedArgs) if temp == notYet { updatedArgs = append(updatedArgs, ignoreForNow...) From a0766954073ff6ef0969c691039ff7a71c1fe58f Mon Sep 17 00:00:00 2001 From: Manav Darji Date: Fri, 23 Sep 2022 18:20:40 +0530 Subject: [PATCH 4/9] fix: linters --- scripts/getconfig.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/getconfig.go b/scripts/getconfig.go index 676a772078..0160de4039 100644 --- a/scripts/getconfig.go +++ b/scripts/getconfig.go @@ -445,7 +445,7 @@ func updateArgsAdd(args []string) []string { return args } -// Unused for now, can be removed later +//nolint:deadcode, unused func handleGRPC(args []string, updatedArgs []string) []string { var newUpdatedArgs []string From 0aa4258015126d360d84a549721bb49951168741 Mon Sep 17 00:00:00 2001 From: Manav Darji Date: Fri, 23 Sep 2022 20:17:20 +0530 Subject: [PATCH 5/9] fix and improve tests --- internal/cli/server/config_legacy_test.go | 151 +++------------------- internal/cli/server/testdata/test.toml | 6 +- 2 files changed, 20 insertions(+), 137 deletions(-) diff --git a/internal/cli/server/config_legacy_test.go b/internal/cli/server/config_legacy_test.go index e22639fa7e..29cefdd7bf 100644 --- a/internal/cli/server/config_legacy_test.go +++ b/internal/cli/server/config_legacy_test.go @@ -6,9 +6,6 @@ import ( "time" "github.com/stretchr/testify/assert" - - "github.com/ethereum/go-ethereum/eth/ethconfig" - "github.com/ethereum/go-ethereum/params" ) func TestConfigLegacy(t *testing.T) { @@ -17,139 +14,23 @@ func TestConfigLegacy(t *testing.T) { expectedConfig, err := readLegacyConfig(path) assert.NoError(t, err) - testConfig := &Config{ - Chain: "mainnet", - Identity: Hostname(), - RequiredBlocks: map[string]string{ - "a": "b", - }, - LogLevel: "INFO", - DataDir: "./data", - P2P: &P2PConfig{ - MaxPeers: 30, - MaxPendPeers: 50, - Bind: "0.0.0.0", - Port: 30303, - NoDiscover: false, - NAT: "any", - Discovery: &P2PDiscovery{ - V5Enabled: false, - Bootnodes: []string{}, - BootnodesV4: []string{}, - BootnodesV5: []string{}, - StaticNodes: []string{}, - TrustedNodes: []string{}, - DNS: []string{}, - }, - }, - Heimdall: &HeimdallConfig{ - URL: "http://localhost:1317", - Without: false, - }, - SyncMode: "full", - GcMode: "full", - Snapshot: true, - TxPool: &TxPoolConfig{ - Locals: []string{}, - NoLocals: false, - Journal: "transactions.rlp", - Rejournal: 1 * time.Hour, - PriceLimit: 1, - PriceBump: 10, - AccountSlots: 16, - GlobalSlots: 32768, - AccountQueue: 16, - GlobalQueue: 32768, - LifeTime: 1 * time.Second, - }, - Sealer: &SealerConfig{ - Enabled: false, - Etherbase: "", - GasCeil: 30000000, - GasPrice: big.NewInt(1 * params.GWei), - ExtraData: "", - }, - Gpo: &GpoConfig{ - Blocks: 20, - Percentile: 60, - MaxPrice: big.NewInt(5000 * params.GWei), - IgnorePrice: big.NewInt(4), - }, - JsonRPC: &JsonRPCConfig{ - IPCDisable: false, - IPCPath: "", - GasCap: ethconfig.Defaults.RPCGasCap, - TxFeeCap: ethconfig.Defaults.RPCTxFeeCap, - Http: &APIConfig{ - Enabled: false, - Port: 8545, - Prefix: "", - Host: "localhost", - API: []string{"eth", "net", "web3", "txpool", "bor"}, - Cors: []string{"localhost"}, - VHost: []string{"localhost"}, - }, - Ws: &APIConfig{ - Enabled: false, - Port: 8546, - Prefix: "", - Host: "localhost", - API: []string{"net", "web3"}, - Cors: []string{"localhost"}, - VHost: []string{"localhost"}, - }, - Graphql: &APIConfig{ - Enabled: false, - Cors: []string{"localhost"}, - VHost: []string{"localhost"}, - }, - }, - Ethstats: "", - Telemetry: &TelemetryConfig{ - Enabled: false, - Expensive: false, - PrometheusAddr: "", - OpenCollectorEndpoint: "", - InfluxDB: &InfluxDBConfig{ - V1Enabled: false, - Endpoint: "", - Database: "", - Username: "", - Password: "", - Tags: map[string]string{}, - V2Enabled: false, - Token: "", - Bucket: "", - Organization: "", - }, - }, - Cache: &CacheConfig{ - Cache: 1024, - PercDatabase: 50, - PercTrie: 15, - PercGc: 25, - PercSnapshot: 10, - Journal: "triecache", - Rejournal: 1 * time.Second, - NoPrefetch: false, - Preimages: false, - TxLookupLimit: 2350000, - }, - Accounts: &AccountsConfig{ - Unlock: []string{}, - PasswordFile: "", - AllowInsecureUnlock: false, - UseLightweightKDF: false, - DisableBorWallet: true, - }, - GRPC: &GRPCConfig{ - Addr: ":3131", - }, - Developer: &DeveloperConfig{ - Enabled: false, - Period: 0, - }, + testConfig := DefaultConfig() + + testConfig.DataDir = "./data" + testConfig.Snapshot = false + testConfig.RequiredBlocks = map[string]string{ + "31000000": "0x2087b9e2b353209c2c21e370c82daa12278efd0fe5f0febe6c29035352cf050e", + "32000000": "0x875500011e5eecc0c554f95d07b31cf59df4ca2505f4dbbfffa7d4e4da917c68", } + testConfig.P2P.MaxPeers = 30 + testConfig.TxPool.Locals = []string{} + testConfig.TxPool.LifeTime = time.Second + testConfig.Sealer.Enabled = true + testConfig.Sealer.GasCeil = 30000000 + testConfig.Sealer.GasPrice = big.NewInt(1000000000) + testConfig.Gpo.IgnorePrice = big.NewInt(4) + testConfig.Cache.Cache = 1024 + testConfig.Cache.Rejournal = time.Second assert.Equal(t, expectedConfig, testConfig) } diff --git a/internal/cli/server/testdata/test.toml b/internal/cli/server/testdata/test.toml index 6d07abdad7..4ccc644ee9 100644 --- a/internal/cli/server/testdata/test.toml +++ b/internal/cli/server/testdata/test.toml @@ -1,7 +1,9 @@ datadir = "./data" +snapshot = false ["eth.requiredblocks"] -a = "b" +"31000000" = "0x2087b9e2b353209c2c21e370c82daa12278efd0fe5f0febe6c29035352cf050e" +"32000000" = "0x875500011e5eecc0c554f95d07b31cf59df4ca2505f4dbbfffa7d4e4da917c68" [p2p] maxpeers = 30 @@ -11,7 +13,7 @@ locals = [] lifetime = "1s" [miner] -mine = false +mine = true gaslimit = 30000000 gasprice = "1000000000" From df549d4a90651ce0907142a93a975007ac5b8c7b Mon Sep 17 00:00:00 2001 From: Manav Darji Date: Fri, 23 Sep 2022 23:33:02 +0530 Subject: [PATCH 6/9] use loopback address for prometheus and open-collector endpoint --- internal/cli/server/config.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/cli/server/config.go b/internal/cli/server/config.go index daaba15e55..b25b620dd8 100644 --- a/internal/cli/server/config.go +++ b/internal/cli/server/config.go @@ -479,8 +479,8 @@ func DefaultConfig() *Config { Telemetry: &TelemetryConfig{ Enabled: false, Expensive: false, - PrometheusAddr: "0.0.0.0:7071", - OpenCollectorEndpoint: "0.0.0.0:4317", + PrometheusAddr: "127.0.0.1:7071", + OpenCollectorEndpoint: "127.0.0.1:4317", InfluxDB: &InfluxDBConfig{ V1Enabled: false, Endpoint: "", From 146ac34017417c4fbf1af13c7f4a75c83c113bdf Mon Sep 17 00:00:00 2001 From: Manav Darji Date: Fri, 23 Sep 2022 23:36:41 +0530 Subject: [PATCH 7/9] add logs for prometheus and open-collector setup --- internal/cli/server/server.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/cli/server/server.go b/internal/cli/server/server.go index 736b0d3bb7..905de36e09 100644 --- a/internal/cli/server/server.go +++ b/internal/cli/server/server.go @@ -305,6 +305,8 @@ func (s *Server) setupMetrics(config *TelemetryConfig, serviceName string) error } }() + log.Info("Enabling metrics export to prometheus", "path", fmt.Sprintf("http://%s/debug/metrics/prometheus", config.PrometheusAddr)) + } if config.OpenCollectorEndpoint != "" { @@ -346,6 +348,8 @@ func (s *Server) setupMetrics(config *TelemetryConfig, serviceName string) error // set the tracer s.tracer = tracerProvider + + log.Info("Open collector tracing started", "address", config.OpenCollectorEndpoint) } return nil From 6d670bbf55a1d9ccf409d980ca0e61d3a41a5ea6 Mon Sep 17 00:00:00 2001 From: Pratik Patil Date: Mon, 26 Sep 2022 11:48:58 +0530 Subject: [PATCH 8/9] updated the script to handle prometheus-addr --- scripts/getconfig.go | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/scripts/getconfig.go b/scripts/getconfig.go index 0160de4039..689ed68fbf 100644 --- a/scripts/getconfig.go +++ b/scripts/getconfig.go @@ -445,28 +445,42 @@ func updateArgsAdd(args []string) []string { return args } -//nolint:deadcode, unused -func handleGRPC(args []string, updatedArgs []string) []string { +func handlePrometheus(args []string, updatedArgs []string) []string { var newUpdatedArgs []string - var addr string + mAddr := "" + mPort := "" - var port string + pAddr := "" + pPort := "" newUpdatedArgs = append(newUpdatedArgs, updatedArgs...) for i, val := range args { - if strings.Contains(val, "pprof.addr") && strings.Contains(val, "-") { - addr = args[i+1] + if strings.Contains(val, "metrics.addr") && strings.HasPrefix(val, "-") { + mAddr = args[i+1] } - if strings.Contains(val, "pprof.port") && strings.Contains(val, "-") { - port = args[i+1] + if strings.Contains(val, "metrics.port") && strings.HasPrefix(val, "-") { + mPort = args[i+1] + } + + if strings.Contains(val, "pprof.addr") && strings.HasPrefix(val, "-") { + pAddr = args[i+1] + } + + if strings.Contains(val, "pprof.port") && strings.HasPrefix(val, "-") { + pPort = args[i+1] } } - newUpdatedArgs = append(newUpdatedArgs, "--grpc.addr") - newUpdatedArgs = append(newUpdatedArgs, addr+":"+port) + if mAddr != "" && mPort != "" { + newUpdatedArgs = append(newUpdatedArgs, "--metrics.prometheus-addr") + newUpdatedArgs = append(newUpdatedArgs, mAddr+":"+mPort) + } else if pAddr != "" && pPort != "" { + newUpdatedArgs = append(newUpdatedArgs, "--metrics.prometheus-addr") + newUpdatedArgs = append(newUpdatedArgs, pAddr+":"+pPort) + } return newUpdatedArgs } @@ -659,7 +673,7 @@ func main() { outOfDateFlags := checkFlag(allFlags, flagsToCheck) updatedArgs := updateArgsClean(args, outOfDateFlags) updatedArgs = updateArgsAdd(updatedArgs) - // updatedArgs = handleGRPC(args, updatedArgs) + updatedArgs = handlePrometheus(args, updatedArgs) if temp == notYet { updatedArgs = append(updatedArgs, ignoreForNow...) From 6831a1c23a3a822cef91d8992ea1065e6ecb1c70 Mon Sep 17 00:00:00 2001 From: Pratik Patil Date: Tue, 27 Sep 2022 11:24:03 +0530 Subject: [PATCH 9/9] updated builder/files/config.toml --- builder/files/config.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/builder/files/config.toml b/builder/files/config.toml index 84c3327bbf..ce9fd782d0 100644 --- a/builder/files/config.toml +++ b/builder/files/config.toml @@ -96,8 +96,8 @@ syncmode = "full" [telemetry] metrics = true # expensive = false - prometheus-addr = "127.0.0.1:7071" - # opencollector-endpoint = "" + # prometheus-addr = "127.0.0.1:7071" + # opencollector-endpoint = "127.0.0.1:4317" # [telemetry.influx] # influxdb = false # endpoint = ""