zhengyangyong commented on a change in pull request #574: [SCB-372] support 
user set metrics prometheus exporter address not only port
URL: 
https://github.com/apache/incubator-servicecomb-java-chassis/pull/574#discussion_r172825692
 
 

 ##########
 File path: 
metrics/metrics-integration/metrics-prometheus/src/main/java/org/apache/servicecomb/metrics/prometheus/MetricsHttpPublisher.java
 ##########
 @@ -37,20 +36,34 @@
 public class MetricsHttpPublisher implements 
ApplicationListener<ApplicationEvent> {
   private static final Logger LOGGER = 
LoggerFactory.getLogger(MetricsHttpPublisher.class);
 
-  private static final String METRICS_PROMETHEUS_PORT = 
"servicecomb.metrics.prometheus.port";
+  private static final String METRICS_PROMETHEUS_ADDRESS = 
"servicecomb.metrics.prometheus.address";
 
   private HTTPServer httpServer;
 
   public MetricsHttpPublisher() {
     //prometheus default port allocation is here : 
https://github.com/prometheus/prometheus/wiki/Default-port-allocations
-    int publishPort = 
DynamicPropertyFactory.getInstance().getIntProperty(METRICS_PROMETHEUS_PORT, 
9696).get();
-    MetricsCollector metricsCollector = new MetricsCollector();
-    metricsCollector.register();
-    try {
-      this.httpServer = new HTTPServer(new InetSocketAddress(publishPort), 
CollectorRegistry.defaultRegistry, true);
-      LOGGER.info("Prometheus httpServer listened {}.", publishPort);
-    } catch (IOException e) {
-      throw new ServiceCombException("create http publish server failed", e);
+    this.init(
+        
DynamicPropertyFactory.getInstance().getStringProperty(METRICS_PROMETHEUS_ADDRESS,
 "localhost:9696").get());
+  }
+
+  public MetricsHttpPublisher(String address) {
+    this.init(address);
+  }
+
+  private void init(String address) {
+    String[] hostAndPort = address.split(":");
+    if (hostAndPort.length == 2) {
 
 Review comment:
   Done

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to