From 0d7ae4c5a4fc3d8cbc1db5fc0dcd22a0373a5fdd Mon Sep 17 00:00:00 2001 From: jiangyuanshu <317787106@qq.com> Date: Fri, 17 Apr 2026 22:53:33 +0800 Subject: [PATCH 1/5] delete influxdb storage for metrics --- .../common/parameter/CommonParameter.java | 15 ----------- .../tron/core/config/args/MetricsConfig.java | 13 +--------- common/src/main/resources/reference.conf | 9 ------- framework/build.gradle | 1 - .../common/application/ApplicationImpl.java | 2 -- .../java/org/tron/core/config/args/Args.java | 6 ----- .../org/tron/core/metrics/MetricsUtil.java | 26 ------------------- framework/src/main/resources/config.conf | 8 ------ 8 files changed, 1 insertion(+), 79 deletions(-) diff --git a/common/src/main/java/org/tron/common/parameter/CommonParameter.java b/common/src/main/java/org/tron/common/parameter/CommonParameter.java index a73158a718a..3b9caeeb6ee 100644 --- a/common/src/main/java/org/tron/common/parameter/CommonParameter.java +++ b/common/src/main/java/org/tron/common/parameter/CommonParameter.java @@ -471,21 +471,6 @@ public class CommonParameter { public boolean nodeMetricsEnable = false; @Getter @Setter - public boolean metricsStorageEnable = false; - @Getter - @Setter - public String influxDbIp; - @Getter - @Setter - public int influxDbPort; - @Getter - @Setter - public String influxDbDatabase; - @Getter - @Setter - public int metricsReportInterval = 10; - @Getter - @Setter public boolean metricsPrometheusEnable = false; @Getter @Setter diff --git a/common/src/main/java/org/tron/core/config/args/MetricsConfig.java b/common/src/main/java/org/tron/core/config/args/MetricsConfig.java index 5b504acdd1c..5547dfa6d3a 100644 --- a/common/src/main/java/org/tron/core/config/args/MetricsConfig.java +++ b/common/src/main/java/org/tron/core/config/args/MetricsConfig.java @@ -8,16 +8,14 @@ /** * Metrics configuration bean. Field names match config.conf keys under "node.metrics". - * Contains nested sub-beans for prometheus and influxdb sections. + * Contains nested sub-bean for the prometheus section. */ @Slf4j @Getter @Setter public class MetricsConfig { - private boolean storageEnable = false; private PrometheusConfig prometheus = new PrometheusConfig(); - private InfluxDbConfig influxdb = new InfluxDbConfig(); @Getter @Setter @@ -26,15 +24,6 @@ public static class PrometheusConfig { private int port = 9527; } - @Getter - @Setter - public static class InfluxDbConfig { - private String ip = ""; - private int port = 8086; - private String database = "metrics"; - private int metricsReportInterval = 10; - } - // Defaults come from reference.conf (loaded globally via Configuration.java) /** diff --git a/common/src/main/resources/reference.conf b/common/src/main/resources/reference.conf index 11970a0a673..c45b49b1388 100644 --- a/common/src/main/resources/reference.conf +++ b/common/src/main/resources/reference.conf @@ -176,15 +176,6 @@ node.metrics = { enable = false port = 9527 } - - storageEnable = false - - influxdb { - ip = "" - port = 8086 - database = "metrics" - metricsReportInterval = 10 - } } node { diff --git a/framework/build.gradle b/framework/build.gradle index d884b6a7c49..d4dce4904ee 100644 --- a/framework/build.gradle +++ b/framework/build.gradle @@ -40,7 +40,6 @@ dependencies { // end local libraries implementation group: 'com.beust', name: 'jcommander', version: '1.78' implementation group: 'io.dropwizard.metrics', name: 'metrics-core', version: '3.1.2' - implementation group: 'com.github.davidb', name: 'metrics-influxdb', version: '0.8.2' // http implementation 'org.eclipse.jetty:jetty-server:9.4.57.v20241219' implementation 'org.eclipse.jetty:jetty-servlet:9.4.57.v20241219' diff --git a/framework/src/main/java/org/tron/common/application/ApplicationImpl.java b/framework/src/main/java/org/tron/common/application/ApplicationImpl.java index 2c41bedffb7..4f31b2815ad 100644 --- a/framework/src/main/java/org/tron/common/application/ApplicationImpl.java +++ b/framework/src/main/java/org/tron/common/application/ApplicationImpl.java @@ -8,7 +8,6 @@ import org.tron.core.config.args.Args; import org.tron.core.consensus.ConsensusService; import org.tron.core.db.Manager; -import org.tron.core.metrics.MetricsUtil; import org.tron.core.net.TronNetService; import org.tron.core.services.event.EventService; @@ -46,7 +45,6 @@ public void startup() { if ((!Args.getInstance().isSolidityNode()) && (!Args.getInstance().isP2pDisable())) { tronNetService.start(); } - MetricsUtil.init(); } @Override diff --git a/framework/src/main/java/org/tron/core/config/args/Args.java b/framework/src/main/java/org/tron/core/config/args/Args.java index f91c6a437ac..3691baff116 100644 --- a/framework/src/main/java/org/tron/core/config/args/Args.java +++ b/framework/src/main/java/org/tron/core/config/args/Args.java @@ -459,12 +459,6 @@ private static void applyEventConfig(EventConfig ec) { * Note: node.metricsEnable is handled in applyNodeConfig (it's a node-level field). */ private static void applyMetricsConfig(MetricsConfig mc) { - PARAMETER.metricsStorageEnable = mc.isStorageEnable(); - PARAMETER.influxDbIp = mc.getInfluxdb().getIp().isEmpty() - ? Constant.LOCAL_HOST : mc.getInfluxdb().getIp(); - PARAMETER.influxDbPort = mc.getInfluxdb().getPort(); - PARAMETER.influxDbDatabase = mc.getInfluxdb().getDatabase(); - PARAMETER.metricsReportInterval = mc.getInfluxdb().getMetricsReportInterval(); PARAMETER.metricsPrometheusEnable = mc.getPrometheus().isEnable(); PARAMETER.metricsPrometheusPort = mc.getPrometheus().getPort(); } diff --git a/framework/src/main/java/org/tron/core/metrics/MetricsUtil.java b/framework/src/main/java/org/tron/core/metrics/MetricsUtil.java index 51a0182eed8..6878f5a6b1e 100644 --- a/framework/src/main/java/org/tron/core/metrics/MetricsUtil.java +++ b/framework/src/main/java/org/tron/core/metrics/MetricsUtil.java @@ -3,18 +3,12 @@ import com.codahale.metrics.Counter; import com.codahale.metrics.Histogram; import com.codahale.metrics.Meter; -import com.codahale.metrics.MetricFilter; import com.codahale.metrics.MetricRegistry; -import com.codahale.metrics.ScheduledReporter; import java.util.SortedMap; -import java.util.concurrent.TimeUnit; import lombok.extern.slf4j.Slf4j; -import metrics_influxdb.InfluxdbReporter; -import metrics_influxdb.api.protocols.InfluxdbProtocols; import org.tron.common.parameter.CommonParameter; -import org.tron.core.Constant; import org.tron.core.metrics.net.RateInfo; @Slf4j(topic = "metrics") @@ -22,26 +16,6 @@ public class MetricsUtil { private static MetricRegistry metricRegistry = new MetricRegistry(); - public static void init() { - if (CommonParameter.getInstance().isNodeMetricsEnable() - && CommonParameter.getInstance().isMetricsStorageEnable()) { - String ip = CommonParameter.getInstance().getInfluxDbIp(); - int port = CommonParameter.getInstance().getInfluxDbPort(); - String dataBase = CommonParameter.getInstance().getInfluxDbDatabase(); - ScheduledReporter influxReport = InfluxdbReporter - .forRegistry(metricRegistry) - .protocol(InfluxdbProtocols.http(ip, port, dataBase)) - .convertRatesTo(TimeUnit.SECONDS) - .convertDurationsTo(TimeUnit.MILLISECONDS) - .filter(MetricFilter.ALL) - .skipIdleMetrics(false) - .build(); - int interval = CommonParameter.getInstance().getMetricsReportInterval() - * Constant.ONE_THOUSAND; - influxReport.start(interval, TimeUnit.MILLISECONDS); - } - } - public static Histogram getHistogram(String key) { return metricRegistry.histogram(key); } diff --git a/framework/src/main/resources/config.conf b/framework/src/main/resources/config.conf index 369924074bc..7045aa7671b 100644 --- a/framework/src/main/resources/config.conf +++ b/framework/src/main/resources/config.conf @@ -138,14 +138,6 @@ node.metrics = { port = 9527 } - # influxdb metrics - storageEnable = false # Whether write metrics data into InfluxDb. Default: false. - influxdb { - ip = "" - port = 8086 - database = "" - metricsReportInterval = 10 - } } node { From 20c0de872f73eb733060441eae3389d63274d517 Mon Sep 17 00:00:00 2001 From: jiangyuanshu <317787106@qq.com> Date: Mon, 20 Apr 2026 16:54:48 +0800 Subject: [PATCH 2/5] fix the bug of ParameterTest --- .../src/test/java/org/tron/common/ParameterTest.java | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/framework/src/test/java/org/tron/common/ParameterTest.java b/framework/src/test/java/org/tron/common/ParameterTest.java index d5dbced87fe..ca80e2317b4 100644 --- a/framework/src/test/java/org/tron/common/ParameterTest.java +++ b/framework/src/test/java/org/tron/common/ParameterTest.java @@ -241,16 +241,6 @@ public void testCommonParameter() { assertEquals(500, parameter.getPendingTransactionTimeout()); parameter.setNodeMetricsEnable(false); assertFalse(parameter.isNodeMetricsEnable()); - parameter.setMetricsStorageEnable(false); - assertFalse(parameter.isMetricsStorageEnable()); - parameter.setInfluxDbIp("127.0.0.1"); - assertEquals("127.0.0.1", parameter.getInfluxDbIp()); - parameter.setInfluxDbPort(90); - assertEquals(90, parameter.getInfluxDbPort()); - parameter.setInfluxDbDatabase("InfluxDb"); - assertEquals("InfluxDb", parameter.getInfluxDbDatabase()); - parameter.setMetricsReportInterval(100); - assertEquals(100, parameter.getMetricsReportInterval()); parameter.setMetricsPrometheusPort(3000); assertEquals(3000, parameter.getMetricsPrometheusPort()); parameter.setAgreeNodeCount(10); From db2929029716a6caa05e1e54bd0349f9363a67db Mon Sep 17 00:00:00 2001 From: jiangyuanshu <317787106@qq.com> Date: Tue, 28 Apr 2026 15:48:53 +0800 Subject: [PATCH 3/5] delete MetricsConfigTest --- .../core/config/args/MetricsConfigTest.java | 48 ------------------- 1 file changed, 48 deletions(-) delete mode 100644 common/src/test/java/org/tron/core/config/args/MetricsConfigTest.java diff --git a/common/src/test/java/org/tron/core/config/args/MetricsConfigTest.java b/common/src/test/java/org/tron/core/config/args/MetricsConfigTest.java deleted file mode 100644 index b641e4d1924..00000000000 --- a/common/src/test/java/org/tron/core/config/args/MetricsConfigTest.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.tron.core.config.args; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -import com.typesafe.config.Config; -import com.typesafe.config.ConfigFactory; -import org.junit.Test; - -public class MetricsConfigTest { - - private static Config withRef(String hocon) { - return ConfigFactory.parseString(hocon).withFallback(ConfigFactory.defaultReference()); - } - - private static Config withRef() { - return ConfigFactory.defaultReference(); - } - - @Test - public void testDefaults() { - Config empty = withRef(); - MetricsConfig mc = MetricsConfig.fromConfig(empty); - assertFalse(mc.isStorageEnable()); - assertFalse(mc.getPrometheus().isEnable()); - assertEquals(9527, mc.getPrometheus().getPort()); - assertEquals(8086, mc.getInfluxdb().getPort()); - } - - @Test - public void testFromConfig() { - Config config = withRef( - "node.metrics {" - + " storageEnable = true," - + " prometheus { enable = true, port = 9999 }," - + " influxdb { ip = \"10.0.0.1\", port = 9086, database = mydb," - + " metricsReportInterval = 30 } }"); - MetricsConfig mc = MetricsConfig.fromConfig(config); - assertTrue(mc.isStorageEnable()); - assertTrue(mc.getPrometheus().isEnable()); - assertEquals(9999, mc.getPrometheus().getPort()); - assertEquals("10.0.0.1", mc.getInfluxdb().getIp()); - assertEquals(9086, mc.getInfluxdb().getPort()); - assertEquals("mydb", mc.getInfluxdb().getDatabase()); - assertEquals(30, mc.getInfluxdb().getMetricsReportInterval()); - } -} From e054559a884977b865c52cadc17cee4d1904a5f8 Mon Sep 17 00:00:00 2001 From: jiangyuanshu <317787106@qq.com> Date: Tue, 28 Apr 2026 17:06:15 +0800 Subject: [PATCH 4/5] remove metricsEnable in reference.conf --- common/src/main/resources/reference.conf | 1 - 1 file changed, 1 deletion(-) diff --git a/common/src/main/resources/reference.conf b/common/src/main/resources/reference.conf index c45b49b1388..d409b1d2a2b 100644 --- a/common/src/main/resources/reference.conf +++ b/common/src/main/resources/reference.conf @@ -230,7 +230,6 @@ node { # (see NodeConfig alias-fallback) but is intentionally NOT defaulted here — # shipping it in reference.conf would always mask the modern `maxConnectionsWithSameIp`. channel.read.timeout = 0 - metricsEnable = false p2p { version = 11111 # Mainnet:11111; Nile:201910292; Shasta:1 From 77c03052e01570f7b54f74f36d453b8de4e89c3a Mon Sep 17 00:00:00 2001 From: jiangyuanshu <317787106@qq.com> Date: Tue, 28 Apr 2026 17:36:44 +0800 Subject: [PATCH 5/5] restore metricsEnable --- common/src/main/resources/reference.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/common/src/main/resources/reference.conf b/common/src/main/resources/reference.conf index d409b1d2a2b..c45b49b1388 100644 --- a/common/src/main/resources/reference.conf +++ b/common/src/main/resources/reference.conf @@ -230,6 +230,7 @@ node { # (see NodeConfig alias-fallback) but is intentionally NOT defaulted here — # shipping it in reference.conf would always mask the modern `maxConnectionsWithSameIp`. channel.read.timeout = 0 + metricsEnable = false p2p { version = 11111 # Mainnet:11111; Nile:201910292; Shasta:1