@@ -218,8 +218,8 @@ pub struct SubxtClientConfig<C: ChainSpec + 'static> {
218218 pub chain_spec : C ,
219219 /// Role of the node.
220220 pub role : Role ,
221- /// Enable telemetry.
222- pub enable_telemetry : bool ,
221+ /// Enable telemetry on the given port .
222+ pub telemetry : Option < u16 > ,
223223}
224224
225225impl < C : ChainSpec + ' static > SubxtClientConfig < C > {
@@ -238,10 +238,12 @@ impl<C: ChainSpec + 'static> SubxtClientConfig<C> {
238238 wasm_external_transport : None ,
239239 use_yamux_flow_control : true ,
240240 } ;
241- let telemetry_endpoints = if self . enable_telemetry {
242- let endpoints =
243- TelemetryEndpoints :: new ( vec ! [ ( "/ip4/127.0.0.1/tcp/99000/ws" . into( ) , 0 ) ] )
244- . expect ( "valid config; qed" ) ;
241+ let telemetry_endpoints = if let Some ( port) = self . telemetry {
242+ let endpoints = TelemetryEndpoints :: new ( vec ! [ (
243+ format!( "/ip4/127.0.0.1/tcp/{}/ws" , port) ,
244+ 0 ,
245+ ) ] )
246+ . expect ( "valid config; qed" ) ;
245247 Some ( endpoints)
246248 } else {
247249 None
@@ -356,7 +358,7 @@ mod tests {
356358 keystore : KeystoreConfig :: InMemory ,
357359 chain_spec,
358360 role : Role :: Light ,
359- enable_telemetry : false ,
361+ telemetry : None ,
360362 } ;
361363 let client = ClientBuilder :: < NodeTemplateRuntime > :: new ( )
362364 . set_client (
@@ -389,7 +391,7 @@ mod tests {
389391 keystore : KeystoreConfig :: InMemory ,
390392 chain_spec : test_node:: chain_spec:: development_config ( ) . unwrap ( ) ,
391393 role : Role :: Authority ( AccountKeyring :: Alice ) ,
392- enable_telemetry : false ,
394+ telemetry : None ,
393395 } ;
394396 let client = ClientBuilder :: < NodeTemplateRuntime > :: new ( )
395397 . set_client (
0 commit comments