5050import org .hyperledger .besu .cli .options .stable .GraphQlOptions ;
5151import org .hyperledger .besu .cli .options .stable .JsonRpcHttpOptions ;
5252import org .hyperledger .besu .cli .options .stable .LoggingLevelOption ;
53- import org .hyperledger .besu .cli .options .stable .MetricsOptionGroup ;
53+ import org .hyperledger .besu .cli .options .stable .MetricsOptions ;
5454import org .hyperledger .besu .cli .options .stable .NodePrivateKeyFileOption ;
5555import org .hyperledger .besu .cli .options .stable .P2PDiscoveryOptions ;
5656import org .hyperledger .besu .cli .options .stable .PermissionsOptions ;
6262import org .hyperledger .besu .cli .options .unstable .EvmOptions ;
6363import org .hyperledger .besu .cli .options .unstable .InProcessRpcOptions ;
6464import org .hyperledger .besu .cli .options .unstable .IpcOptions ;
65- import org .hyperledger .besu .cli .options .unstable .MetricsCLIOptions ;
6665import org .hyperledger .besu .cli .options .unstable .NatOptions ;
6766import org .hyperledger .besu .cli .options .unstable .NativeLibraryOptions ;
6867import org .hyperledger .besu .cli .options .unstable .NetworkingOptions ;
8988import org .hyperledger .besu .config .CheckpointConfigOptions ;
9089import org .hyperledger .besu .config .GenesisConfigFile ;
9190import org .hyperledger .besu .config .GenesisConfigOptions ;
92- import org .hyperledger .besu .config .MergeConfigOptions ;
91+ import org .hyperledger .besu .config .MergeConfiguration ;
9392import org .hyperledger .besu .controller .BesuController ;
9493import org .hyperledger .besu .controller .BesuControllerBuilder ;
9594import org .hyperledger .besu .crypto .Blake2bfMessageDigest ;
246245import io .vertx .core .Vertx ;
247246import io .vertx .core .VertxOptions ;
248247import io .vertx .core .json .DecodeException ;
249- import io .vertx .core .metrics .MetricsOptions ;
250248import org .apache .tuweni .bytes .Bytes ;
251249import org .apache .tuweni .units .bigints .UInt256 ;
252250import org .slf4j .Logger ;
@@ -295,7 +293,6 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
295293 final NetworkingOptions unstableNetworkingOptions = NetworkingOptions .create ();
296294 final SynchronizerOptions unstableSynchronizerOptions = SynchronizerOptions .create ();
297295 final EthProtocolOptions unstableEthProtocolOptions = EthProtocolOptions .create ();
298- final MetricsCLIOptions unstableMetricsCLIOptions = MetricsCLIOptions .create ();
299296 private final DnsOptions unstableDnsOptions = DnsOptions .create ();
300297 private final NatOptions unstableNatOptions = NatOptions .create ();
301298 private final NativeLibraryOptions unstableNativeLibraryOptions = NativeLibraryOptions .create ();
@@ -584,7 +581,7 @@ static class PrivacyOptionGroup {
584581
585582 // Metrics Option Group
586583 @ CommandLine .ArgGroup (validate = false , heading = "@|bold Metrics Options|@%n" )
587- MetricsOptionGroup metricsOptionGroup = new MetricsOptionGroup ();
584+ MetricsOptions metricsOptions = MetricsOptions . create ();
588585
589586 @ Option (
590587 names = {"--host-allowlist" },
@@ -1153,7 +1150,6 @@ private void handleUnstableOptions() {
11531150 final ImmutableMap <String , Object > unstableOptions =
11541151 unstableOptionsBuild
11551152 .put ("Ethereum Wire Protocol" , unstableEthProtocolOptions )
1156- .put ("Metrics" , unstableMetricsCLIOptions )
11571153 .put ("P2P Network" , unstableNetworkingOptions )
11581154 .put ("RPC" , unstableRPCOptions )
11591155 .put ("DNS Configuration" , unstableDnsOptions )
@@ -1864,7 +1860,7 @@ private void checkPrivacyTlsOptionsDependencies() {
18641860 * @return instance of MetricsConfiguration.
18651861 */
18661862 public MetricsConfiguration metricsConfiguration () {
1867- if (metricsOptionGroup .getMetricsEnabled () && metricsOptionGroup .getMetricsPushEnabled ()) {
1863+ if (metricsOptions .getMetricsEnabled () && metricsOptions .getMetricsPushEnabled ()) {
18681864 throw new ParameterException (
18691865 this .commandLine ,
18701866 "--metrics-enabled option and --metrics-push-enabled option can't be used at the same "
@@ -1875,40 +1871,33 @@ public MetricsConfiguration metricsConfiguration() {
18751871 logger ,
18761872 commandLine ,
18771873 "--metrics-enabled" ,
1878- !metricsOptionGroup .getMetricsEnabled (),
1874+ !metricsOptions .getMetricsEnabled (),
18791875 asList ("--metrics-host" , "--metrics-port" ));
18801876
18811877 CommandLineUtils .checkOptionDependencies (
18821878 logger ,
18831879 commandLine ,
18841880 "--metrics-push-enabled" ,
1885- !metricsOptionGroup .getMetricsPushEnabled (),
1881+ !metricsOptions .getMetricsPushEnabled (),
18861882 asList (
18871883 "--metrics-push-host" ,
18881884 "--metrics-push-port" ,
18891885 "--metrics-push-interval" ,
18901886 "--metrics-push-prometheus-job" ));
18911887
1892- return unstableMetricsCLIOptions
1893- .toDomainObject ()
1894- . enabled ( metricsOptionGroup . getMetricsEnabled ())
1888+ final MetricsConfiguration . Builder metricsConfigurationBuilder =
1889+ metricsOptions .toDomainObject ();
1890+ metricsConfigurationBuilder
18951891 .host (
1896- Strings .isNullOrEmpty (metricsOptionGroup .getMetricsHost ())
1892+ Strings .isNullOrEmpty (metricsOptions .getMetricsHost ())
18971893 ? p2PDiscoveryOptions .p2pHost
1898- : metricsOptionGroup .getMetricsHost ())
1899- .port (metricsOptionGroup .getMetricsPort ())
1900- .protocol (metricsOptionGroup .getMetricsProtocol ())
1901- .metricCategories (metricsOptionGroup .getMetricCategories ())
1902- .pushEnabled (metricsOptionGroup .getMetricsPushEnabled ())
1894+ : metricsOptions .getMetricsHost ())
19031895 .pushHost (
1904- Strings .isNullOrEmpty (metricsOptionGroup .getMetricsPushHost ())
1896+ Strings .isNullOrEmpty (metricsOptions .getMetricsPushHost ())
19051897 ? p2PDiscoveryOptions .autoDiscoverDefaultIP ().getHostAddress ()
1906- : metricsOptionGroup .getMetricsPushHost ())
1907- .pushPort (metricsOptionGroup .getMetricsPushPort ())
1908- .pushInterval (metricsOptionGroup .getMetricsPushInterval ())
1909- .hostsAllowlist (hostsAllowlist )
1910- .prometheusJob (metricsOptionGroup .getMetricsPrometheusJob ())
1911- .build ();
1898+ : metricsOptions .getMetricsPushHost ())
1899+ .hostsAllowlist (hostsAllowlist );
1900+ return metricsConfigurationBuilder .build ();
19121901 }
19131902
19141903 private PrivacyParameters privacyParameters () {
@@ -2281,7 +2270,7 @@ private VertxOptions createVertxOptions(final MetricsSystem metricsSystem) {
22812270 return new VertxOptions ()
22822271 .setPreferNativeTransport (true )
22832272 .setMetricsOptions (
2284- new MetricsOptions ()
2273+ new io . vertx . core . metrics . MetricsOptions ()
22852274 .setEnabled (true )
22862275 .setFactory (new VertxMetricsAdapterFactory (metricsSystem )));
22872276 }
@@ -2537,9 +2526,7 @@ private List<Integer> getEffectivePorts() {
25372526 effectivePorts , rpcWebsocketOptions .getRpcWsPort (), rpcWebsocketOptions .isRpcWsEnabled ());
25382527 addPortIfEnabled (effectivePorts , engineRPCConfig .engineRpcPort (), isEngineApiEnabled ());
25392528 addPortIfEnabled (
2540- effectivePorts ,
2541- metricsOptionGroup .getMetricsPort (),
2542- metricsOptionGroup .getMetricsEnabled ());
2529+ effectivePorts , metricsOptions .getMetricsPort (), metricsOptions .getMetricsEnabled ());
25432530 addPortIfEnabled (
25442531 effectivePorts ,
25452532 miningParametersSupplier .get ().getStratumPort (),
@@ -2613,7 +2600,7 @@ protected GenesisConfigOptions getGenesisConfigOptions() {
26132600 }
26142601
26152602 private void setMergeConfigOptions () {
2616- MergeConfigOptions .setMergeEnabled (
2603+ MergeConfiguration .setMergeEnabled (
26172604 genesisConfigOptionsSupplier .get ().getTerminalTotalDifficulty ().isPresent ());
26182605 }
26192606
@@ -2658,7 +2645,7 @@ private void validatePostMergeCheckpointBlockRequirements() {
26582645 }
26592646
26602647 private boolean isMergeEnabled () {
2661- return MergeConfigOptions .isMergeEnabled ();
2648+ return MergeConfiguration .isMergeEnabled ();
26622649 }
26632650
26642651 private boolean isEngineApiEnabled () {
@@ -2752,11 +2739,20 @@ && getDataStorageConfiguration().getBonsaiLimitTrieLogsEnabled()) {
27522739 }
27532740
27542741 /**
2755- * Returns the plugin context.
2742+ * 2 Returns the plugin context.
27562743 *
27572744 * @return the plugin context.
27582745 */
27592746 public BesuPluginContextImpl getBesuPluginContext () {
27602747 return besuPluginContext ;
27612748 }
2749+
2750+ /**
2751+ * Returns the metrics options
2752+ *
2753+ * @return the metrics options
2754+ */
2755+ public MetricsOptions getMetricsOptions () {
2756+ return metricsOptions ;
2757+ }
27622758}
0 commit comments