EdColeman commented on code in PR #3288:
URL: https://github.com/apache/accumulo/pull/3288#discussion_r1169988835


##########
server/base/src/main/java/org/apache/accumulo/server/AbstractServer.java:
##########
@@ -87,6 +94,16 @@ public void runServer() throws Exception {
     }
   }
 
+  @Override
+  public void registerMetrics(MeterRegistry registry) {
+    processMetrics.registerMetrics(registry);
+  }
+
+  public void initServerMetrics(MetricsProducer... producers) {

Review Comment:
   @dlmarion What do you think is easier to understand?  Classes that extended 
abstract server must call `super.registerMetrics` or call a method 
'initServerMetrics' ?  Either way requires something that may not be obvious.  
   
   Because of the tagging, the registration / initialization needs to occur in 
the run method - and after certain things have been initialized (host and port) 
   
   I'm not thrilled with either approach, but went with a specific 
`initServerMetrics` method - if relying on calling `super.registerMetrics' and 
the needing to call the static `MetricsUtil.initializeProducers` which results 
in an indirect call to `registerMetrics`?
   
   I was thinking about moving the static `initializeMetrics` out of 
MetricsUtil and put the functionality into AbstractServer - I think that 
functionality only applies to services extending AbstractServer.  
   
   The `initializeProducers` functionality needs to exist to register metrics 
producers for things that are created outside of the AbstarctServer context 
(thrift metrics, cache,....) - but those are created / exist within a service 
context that has already been expected to initialize the registry.
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to