You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/01/09 06:27:20 UTC

[incubator-servicecomb-java-chassis] 09/13: SCB-85 fix pr comment

This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git

commit 3f7249bafed42984cf528fad0e2d1ef10a7a69a8
Author: zhengyangyong <ya...@huawei.com>
AuthorDate: Fri Jan 5 14:29:29 2018 +0800

    SCB-85 fix pr comment
    
    Signed-off-by: zhengyangyong <ya...@huawei.com>
---
 .../foundation/metrics/MetricsServoRegistry.java   |  4 +-
 .../metrics-write-file-config-log4j/pom.xml        |  2 +-
 .../writefile/config/Log4JMetricsFileWriter.java   |  2 +-
 .../metrics-write-file-config-log4j2/pom.xml       |  2 +-
 .../writefile/config/Log4J2MetricsFileWriter.java  |  4 +-
 .../metrics-write-file-config/pom.xml              |  1 -
 .../writefile/SimpleFileContentConvertor.java      |  5 +-
 .../writefile/SimpleFileContentFormatter.java      | 31 ++-----
 .../extension/writefile/WriteFileInitializer.java  | 61 ++++++++------
 .../src/test/java/TestWriteFile.java               | 98 ++++++++++++++++++++--
 .../metrics-write-file-log4j-springboot/pom.xml    | 13 +--
 .../metrics-write-file-log4j/pom.xml               | 10 +--
 .../metrics-write-file-log4j2-springboot/pom.xml   | 10 +--
 .../metrics-write-file-log4j2/pom.xml              | 10 +--
 14 files changed, 148 insertions(+), 105 deletions(-)

diff --git a/foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/MetricsServoRegistry.java b/foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/MetricsServoRegistry.java
index 2e53265..4d90bbd 100644
--- a/foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/MetricsServoRegistry.java
+++ b/foundations/foundation-metrics/src/main/java/io/servicecomb/foundation/metrics/MetricsServoRegistry.java
@@ -75,7 +75,7 @@ public class MetricsServoRegistry implements InitializingBean {
 
   /*
    * Added getter for unit test of local metrics.
-   * 
+   *
    * @return Local metric reference
    */
   public MetricsDataMonitor getLocalMetrics() {
@@ -563,7 +563,7 @@ public class MetricsServoRegistry implements InitializingBean {
   }
 
   private double round(double value, int places) {
-    if (!Double.isNaN(value) && !Double.isInfinite(value)) {
+    if (!Double.isNaN(value)) {
       BigDecimal decimal = new BigDecimal(value);
       return decimal.setScale(places, RoundingMode.HALF_UP).doubleValue();
     } else {
diff --git a/metrics/metrics-extension/metrics-write-file-config-log4j/pom.xml b/metrics/metrics-extension/metrics-write-file-config-log4j/pom.xml
index 36c9091..7d19c96 100644
--- a/metrics/metrics-extension/metrics-write-file-config-log4j/pom.xml
+++ b/metrics/metrics-extension/metrics-write-file-config-log4j/pom.xml
@@ -31,7 +31,7 @@
   <dependencies>
     <dependency>
       <groupId>io.servicecomb</groupId>
-      <artifactId>metrics-write-file-config</artifactId>
+      <artifactId>metrics-write-file</artifactId>
     </dependency>
 
     <dependency>
diff --git a/metrics/metrics-extension/metrics-write-file-config-log4j/src/main/java/io/servicecomb/metrics/extension/writefile/config/Log4JMetricsFileWriter.java b/metrics/metrics-extension/metrics-write-file-config-log4j/src/main/java/io/servicecomb/metrics/extension/writefile/config/Log4JMetricsFileWriter.java
index 7b263de..f605db9 100644
--- a/metrics/metrics-extension/metrics-write-file-config-log4j/src/main/java/io/servicecomb/metrics/extension/writefile/config/Log4JMetricsFileWriter.java
+++ b/metrics/metrics-extension/metrics-write-file-config-log4j/src/main/java/io/servicecomb/metrics/extension/writefile/config/Log4JMetricsFileWriter.java
@@ -63,7 +63,7 @@ public class Log4JMetricsFileWriter implements MetricsFileWriter {
   }
 
   private RollingFileAppender initLogger(String loggerName, String filePrefix) {
-    String fileName = Paths.get(rootPath, filePrefix + loggerName + ".dat").toString();
+    String fileName = Paths.get(rootPath, filePrefix + "." + loggerName + ".dat").toString();
     RollingFileAppender fileAppender = new RollingFileAppender();
     fileAppender.setName(loggerName);
     fileAppender.setFile(fileName);
diff --git a/metrics/metrics-extension/metrics-write-file-config-log4j2/pom.xml b/metrics/metrics-extension/metrics-write-file-config-log4j2/pom.xml
index dde9d09..366906c 100644
--- a/metrics/metrics-extension/metrics-write-file-config-log4j2/pom.xml
+++ b/metrics/metrics-extension/metrics-write-file-config-log4j2/pom.xml
@@ -31,7 +31,7 @@
   <dependencies>
     <dependency>
       <groupId>io.servicecomb</groupId>
-      <artifactId>metrics-write-file-config</artifactId>
+      <artifactId>metrics-write-file</artifactId>
     </dependency>
 
     <dependency>
diff --git a/metrics/metrics-extension/metrics-write-file-config-log4j2/src/main/java/io/servicecomb/metrics/extension/writefile/config/Log4J2MetricsFileWriter.java b/metrics/metrics-extension/metrics-write-file-config-log4j2/src/main/java/io/servicecomb/metrics/extension/writefile/config/Log4J2MetricsFileWriter.java
index 54f9818..a086266 100644
--- a/metrics/metrics-extension/metrics-write-file-config-log4j2/src/main/java/io/servicecomb/metrics/extension/writefile/config/Log4J2MetricsFileWriter.java
+++ b/metrics/metrics-extension/metrics-write-file-config-log4j2/src/main/java/io/servicecomb/metrics/extension/writefile/config/Log4J2MetricsFileWriter.java
@@ -68,8 +68,8 @@ public class Log4J2MetricsFileWriter implements MetricsFileWriter {
   }
 
   private RollingFileAppender initLogger(String loggerName, String filePrefix) {
-    String fileName = Paths.get(rootPath, filePrefix + loggerName + ".dat").toString();
-    String filePattern = Paths.get(rootPath, filePrefix + loggerName + "-%i.dat").toString();
+    String fileName = Paths.get(rootPath, filePrefix + "." + loggerName + ".dat").toString();
+    String filePattern = Paths.get(rootPath, filePrefix + "." + loggerName + "-%i.dat").toString();
 
     PatternLayout layout = PatternLayout.newBuilder().withPattern(PatternLayout.DEFAULT_CONVERSION_PATTERN).build();
     SizeBasedTriggeringPolicy policy = SizeBasedTriggeringPolicy.createPolicy(maxFileSize);
diff --git a/metrics/metrics-extension/metrics-write-file-config/pom.xml b/metrics/metrics-extension/metrics-write-file-config/pom.xml
index 86b5ea3..8b09963 100644
--- a/metrics/metrics-extension/metrics-write-file-config/pom.xml
+++ b/metrics/metrics-extension/metrics-write-file-config/pom.xml
@@ -28,5 +28,4 @@
 
   <artifactId>metrics-write-file-config</artifactId>
 
-
 </project>
\ No newline at end of file
diff --git a/metrics/metrics-extension/metrics-write-file/src/main/java/io/servicecomb/metrics/extension/writefile/SimpleFileContentConvertor.java b/metrics/metrics-extension/metrics-write-file/src/main/java/io/servicecomb/metrics/extension/writefile/SimpleFileContentConvertor.java
index df3f8b1..aa75a25 100644
--- a/metrics/metrics-extension/metrics-write-file/src/main/java/io/servicecomb/metrics/extension/writefile/SimpleFileContentConvertor.java
+++ b/metrics/metrics-extension/metrics-write-file/src/main/java/io/servicecomb/metrics/extension/writefile/SimpleFileContentConvertor.java
@@ -23,13 +23,10 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
 
-import org.springframework.stereotype.Component;
-
 import com.netflix.config.DynamicPropertyFactory;
 
 import io.servicecomb.metrics.common.RegistryMetric;
 
-@Component
 public class SimpleFileContentConvertor implements FileContentConvertor {
 
   private static final String METRICS_ROUND_PLACES = "servicecomb.metrics.round_places";
@@ -54,7 +51,7 @@ public class SimpleFileContentConvertor implements FileContentConvertor {
   }
 
   private double round(double value, int places) {
-    if (!Double.isNaN(value) && !Double.isInfinite(value)) {
+    if (!Double.isNaN(value)) {
       BigDecimal decimal = new BigDecimal(value);
       return decimal.setScale(places, RoundingMode.HALF_UP).doubleValue();
     } else {
diff --git a/metrics/metrics-extension/metrics-write-file/src/main/java/io/servicecomb/metrics/extension/writefile/SimpleFileContentFormatter.java b/metrics/metrics-extension/metrics-write-file/src/main/java/io/servicecomb/metrics/extension/writefile/SimpleFileContentFormatter.java
index cc12964..c3fac05 100644
--- a/metrics/metrics-extension/metrics-write-file/src/main/java/io/servicecomb/metrics/extension/writefile/SimpleFileContentFormatter.java
+++ b/metrics/metrics-extension/metrics-write-file/src/main/java/io/servicecomb/metrics/extension/writefile/SimpleFileContentFormatter.java
@@ -24,39 +24,17 @@ import java.util.stream.Collectors;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.util.StringUtils;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 
-import io.servicecomb.foundation.common.net.NetUtils;
 import io.servicecomb.foundation.common.utils.JsonUtils;
-import io.servicecomb.serviceregistry.RegistryUtils;
-import io.servicecomb.serviceregistry.api.registry.Microservice;
 
-@Component
 public class SimpleFileContentFormatter implements FileContentFormatter {
   private static final Logger logger = LoggerFactory.getLogger(SimpleFileContentFormatter.class);
 
   private final String applicationName;
 
-  private String hostName;
-
-  @Autowired
-  public SimpleFileContentFormatter() {
-    hostName = NetUtils.getHostName();
-    if (StringUtils.isEmpty(hostName)) {
-      hostName = NetUtils.getHostAddress();
-    }
-
-    //may any problem ?
-    if (RegistryUtils.getServiceRegistry() == null) {
-      RegistryUtils.init();
-    }
-    Microservice microservice = RegistryUtils.getMicroservice();
-    applicationName = microservice.getAppId() + "." + microservice.getServiceName();
-  }
+  private final String hostName;
 
   public SimpleFileContentFormatter(String hostName, String applicationName) {
     this.hostName = hostName;
@@ -68,15 +46,16 @@ public class SimpleFileContentFormatter implements FileContentFormatter {
     return input.entrySet().stream()
         .collect(Collectors.toMap(Entry::getKey, entry -> {
           try {
-            return JsonUtils
-                .writeValueAsString(new OutputJsonObject(applicationName, hostName, entry.getKey(), entry.getValue()));
+            return JsonUtils.writeValueAsString(
+                new OutputJsonObject(applicationName, hostName, entry.getKey(), entry.getValue()));
           } catch (JsonProcessingException e) {
-            logger.error("error convert metrics data to json convert", e);
+            logger.error("error format metrics data", e);
             return "";
           }
         }));
   }
 
+
   class OutputJsonObject {
     private String plugin_id;
 
diff --git a/metrics/metrics-extension/metrics-write-file/src/main/java/io/servicecomb/metrics/extension/writefile/WriteFileInitializer.java b/metrics/metrics-extension/metrics-write-file/src/main/java/io/servicecomb/metrics/extension/writefile/WriteFileInitializer.java
index f52dc30..d3d6732 100644
--- a/metrics/metrics-extension/metrics-write-file/src/main/java/io/servicecomb/metrics/extension/writefile/WriteFileInitializer.java
+++ b/metrics/metrics-extension/metrics-write-file/src/main/java/io/servicecomb/metrics/extension/writefile/WriteFileInitializer.java
@@ -22,11 +22,13 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
 import java.util.Map;
 import java.util.concurrent.Executors;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import com.netflix.config.DynamicPropertyFactory;
 
+import io.servicecomb.foundation.common.net.NetUtils;
 import io.servicecomb.metrics.common.RegistryMetric;
 import io.servicecomb.metrics.core.publish.DataSource;
 import io.servicecomb.metrics.extension.writefile.config.MetricsFileWriter;
@@ -40,42 +42,32 @@ public class WriteFileInitializer {
 
   private final int metricPoll;
 
-  private final FileContentConvertor convertor;
+  private FileContentConvertor convertor;
 
-  private final FileContentFormatter formatter;
+  private FileContentFormatter formatter;
 
   private final DataSource dataSource;
 
   private final MetricsFileWriter fileWriter;
 
-  private final String filePrefix;
+  private String filePrefix;
+
+  private String hostName;
 
   @Autowired
-  public WriteFileInitializer(MetricsFileWriter fileWriter, FileContentConvertor convertor,
-      FileContentFormatter formatter, DataSource dataSource) {
+  public WriteFileInitializer(MetricsFileWriter fileWriter, DataSource dataSource) {
     metricPoll = DynamicPropertyFactory.getInstance().getIntProperty(METRICS_WINDOW_TIME, 5000).get();
     this.fileWriter = fileWriter;
-    this.convertor = convertor;
-    this.formatter = formatter;
     this.dataSource = dataSource;
 
-    //may any problem ?
-    if (RegistryUtils.getServiceRegistry() == null) {
-      RegistryUtils.init();
-    }
-    Microservice microservice = RegistryUtils.getMicroservice();
-    this.filePrefix = microservice.getAppId() + "." + microservice.getServiceName() + ".";
-
     this.init();
   }
 
-  public WriteFileInitializer(MetricsFileWriter fileWriter, FileContentConvertor convertor,
-      FileContentFormatter formatter, DataSource dataSource, String filePrefix) {
+  public WriteFileInitializer(MetricsFileWriter fileWriter, DataSource dataSource, String hostName, String filePrefix) {
     metricPoll = DynamicPropertyFactory.getInstance().getIntProperty(METRICS_WINDOW_TIME, 5000).get();
     this.fileWriter = fileWriter;
-    this.convertor = convertor;
-    this.formatter = formatter;
     this.dataSource = dataSource;
+    this.hostName = hostName;
     this.filePrefix = filePrefix;
   }
 
@@ -86,12 +78,33 @@ public class WriteFileInitializer {
   }
 
   public void run() {
-    RegistryMetric registryMetric = dataSource.getRegistryMetric();
-    Map<String, String> convertedMetrics = convertor.convert(registryMetric);
-    Map<String, String> formattedMetrics = formatter.format(convertedMetrics);
-
-    for (String metricName : formattedMetrics.keySet()) {
-      fileWriter.write(metricName, filePrefix, formattedMetrics.get(metricName));
+    //wait RegistryUtils init completed
+    if (RegistryUtils.getServiceRegistry() != null) {
+      if (StringUtils.isEmpty(filePrefix)) {
+        Microservice microservice = RegistryUtils.getMicroservice();
+        filePrefix = microservice.getAppId() + "." + microservice.getServiceName();
+      }
+      if (StringUtils.isEmpty(hostName)) {
+        hostName = NetUtils.getHostName();
+        if (StringUtils.isEmpty(hostName)) {
+          hostName = NetUtils.getHostAddress();
+        }
+      }
+
+      if (convertor == null) {
+        convertor = new SimpleFileContentConvertor();
+      }
+      if (formatter == null) {
+        formatter = new SimpleFileContentFormatter(hostName, filePrefix);
+      }
+
+      RegistryMetric registryMetric = dataSource.getRegistryMetric();
+      Map<String, String> convertedMetrics = convertor.convert(registryMetric);
+      Map<String, String> formattedMetrics = formatter.format(convertedMetrics);
+
+      for (String metricName : formattedMetrics.keySet()) {
+        fileWriter.write(metricName, filePrefix, formattedMetrics.get(metricName));
+      }
     }
   }
 }
diff --git a/metrics/metrics-extension/metrics-write-file/src/test/java/TestWriteFile.java b/metrics/metrics-extension/metrics-write-file/src/test/java/TestWriteFile.java
index 0240868..37cf8b2 100644
--- a/metrics/metrics-extension/metrics-write-file/src/test/java/TestWriteFile.java
+++ b/metrics/metrics-extension/metrics-write-file/src/test/java/TestWriteFile.java
@@ -16,7 +16,9 @@
  */
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.junit.Assert;
 import org.junit.Test;
@@ -28,20 +30,102 @@ import io.servicecomb.metrics.common.RegistryMetric;
 import io.servicecomb.metrics.common.SystemMetric;
 import io.servicecomb.metrics.common.TimerMetric;
 import io.servicecomb.metrics.core.publish.DataSource;
-import io.servicecomb.metrics.extension.writefile.SimpleFileContentConvertor;
-import io.servicecomb.metrics.extension.writefile.SimpleFileContentFormatter;
 import io.servicecomb.metrics.extension.writefile.WriteFileInitializer;
 import io.servicecomb.metrics.extension.writefile.config.MetricsFileWriter;
+import io.servicecomb.serviceregistry.Features;
+import io.servicecomb.serviceregistry.RegistryUtils;
+import io.servicecomb.serviceregistry.ServiceRegistry;
+import io.servicecomb.serviceregistry.api.registry.Microservice;
+import io.servicecomb.serviceregistry.api.registry.MicroserviceInstance;
+import io.servicecomb.serviceregistry.cache.InstanceCacheManager;
+import io.servicecomb.serviceregistry.client.ServiceRegistryClient;
+import io.servicecomb.serviceregistry.consumer.AppManager;
+import mockit.Expectations;
 
 public class TestWriteFile {
 
   @Test
   public void test() {
 
-    StringBuilder builder = new StringBuilder();
+    new Expectations(RegistryUtils.class) {
+      {
+        RegistryUtils.getServiceRegistry();
+        result = new ServiceRegistry() {
+          @Override
+          public void init() {
+
+          }
+
+          @Override
+          public void run() {
+
+          }
+
+          @Override
+          public void destroy() {
+
+          }
+
+          @Override
+          public Set<String> getCombinedMicroserviceNames() {
+            return null;
+          }
+
+          @Override
+          public Microservice getMicroservice() {
+            return null;
+          }
+
+          @Override
+          public MicroserviceInstance getMicroserviceInstance() {
+            return null;
+          }
+
+          @Override
+          public ServiceRegistryClient getServiceRegistryClient() {
+            return null;
+          }
+
+          @Override
+          public AppManager getAppManager() {
+            return null;
+          }
+
+          @Override
+          public InstanceCacheManager getInstanceCacheManager() {
+            return null;
+          }
+
+          @Override
+          public List<MicroserviceInstance> findServiceInstance(String appId, String microserviceName,
+              String microserviceVersionRule) {
+            return null;
+          }
+
+          @Override
+          public boolean updateMicroserviceProperties(Map<String, String> properties) {
+            return false;
+          }
+
+          @Override
+          public boolean updateInstanceProperties(Map<String, String> instanceProperties) {
+            return false;
+          }
+
+          @Override
+          public Microservice getRemoteMicroservice(String microserviceId) {
+            return null;
+          }
+
+          @Override
+          public Features getFeatures() {
+            return null;
+          }
+        };
+      }
+    };
 
-    SimpleFileContentFormatter formatter = new SimpleFileContentFormatter("localhost", "appId.serviceName");
-    SimpleFileContentConvertor convertor = new SimpleFileContentConvertor();
+    StringBuilder builder = new StringBuilder();
 
     MetricsFileWriter writer = (loggerName, filePrefix, content) ->
         builder.append(loggerName).append(filePrefix).append(content);
@@ -61,8 +145,8 @@ public class TestWriteFile {
     DataSource dataSource = Mockito.mock(DataSource.class);
     Mockito.when(dataSource.getRegistryMetric()).thenReturn(metric);
 
-    WriteFileInitializer writeFileInitializer = new WriteFileInitializer(writer, convertor, formatter, dataSource,
-        "appId.serviceName");
+    WriteFileInitializer writeFileInitializer = new WriteFileInitializer(writer, dataSource,
+        "localhost", "appId.serviceName");
 
     writeFileInitializer.run();
 
diff --git a/samples/metrics-write-file-sample/metrics-write-file-log4j-springboot/pom.xml b/samples/metrics-write-file-sample/metrics-write-file-log4j-springboot/pom.xml
index fdb5ab7..bc6e7ec 100644
--- a/samples/metrics-write-file-sample/metrics-write-file-log4j-springboot/pom.xml
+++ b/samples/metrics-write-file-sample/metrics-write-file-log4j-springboot/pom.xml
@@ -29,6 +29,9 @@
   <artifactId>metrics-write-file-log4j-springboot</artifactId>
 
   <!--need exclusion log4j-over-slf4j-->
+  <!--spring boot starter included log4j-over-slf4j,this log bridge not implement the full interface for log4j,
+  excluded the bridge jar let all slf4j calls go directly to log4j instead of the bridge.
+  more info can be found here : https://www.slf4j.org/legacy.html#log4j-over-slf4j -->
   <dependencies>
     <dependency>
       <groupId>org.springframework.boot</groupId>
@@ -68,19 +71,11 @@
       <artifactId>metrics-write-file-common</artifactId>
     </dependency>
 
-    <!--metrics dependency-->
-    <dependency>
-      <groupId>io.servicecomb</groupId>
-      <artifactId>metrics-write-file-config</artifactId>
-    </dependency>
+    <!--metrics write file dependency-->
     <dependency>
       <groupId>io.servicecomb</groupId>
       <artifactId>metrics-write-file-config-log4j</artifactId>
     </dependency>
-    <dependency>
-      <groupId>io.servicecomb</groupId>
-      <artifactId>metrics-write-file</artifactId>
-    </dependency>
   </dependencies>
 
   <build>
diff --git a/samples/metrics-write-file-sample/metrics-write-file-log4j/pom.xml b/samples/metrics-write-file-sample/metrics-write-file-log4j/pom.xml
index acb6b02..7c69871 100644
--- a/samples/metrics-write-file-sample/metrics-write-file-log4j/pom.xml
+++ b/samples/metrics-write-file-sample/metrics-write-file-log4j/pom.xml
@@ -63,19 +63,11 @@
       <artifactId>metrics-write-file-common</artifactId>
     </dependency>
 
-    <!--metrics dependency-->
-    <dependency>
-      <groupId>io.servicecomb</groupId>
-      <artifactId>metrics-write-file-config</artifactId>
-    </dependency>
+    <!--metrics write file dependency-->
     <dependency>
       <groupId>io.servicecomb</groupId>
       <artifactId>metrics-write-file-config-log4j</artifactId>
     </dependency>
-    <dependency>
-      <groupId>io.servicecomb</groupId>
-      <artifactId>metrics-write-file</artifactId>
-    </dependency>
 
   </dependencies>
 
diff --git a/samples/metrics-write-file-sample/metrics-write-file-log4j2-springboot/pom.xml b/samples/metrics-write-file-sample/metrics-write-file-log4j2-springboot/pom.xml
index 2e49818..bfa70d6 100644
--- a/samples/metrics-write-file-sample/metrics-write-file-log4j2-springboot/pom.xml
+++ b/samples/metrics-write-file-sample/metrics-write-file-log4j2-springboot/pom.xml
@@ -61,19 +61,11 @@
       <artifactId>metrics-write-file-common</artifactId>
     </dependency>
 
-    <!--metrics dependency-->
-    <dependency>
-      <groupId>io.servicecomb</groupId>
-      <artifactId>metrics-write-file-config</artifactId>
-    </dependency>
+    <!--metrics write file dependency-->
     <dependency>
       <groupId>io.servicecomb</groupId>
       <artifactId>metrics-write-file-config-log4j2</artifactId>
     </dependency>
-    <dependency>
-      <groupId>io.servicecomb</groupId>
-      <artifactId>metrics-write-file</artifactId>
-    </dependency>
   </dependencies>
 
   <build>
diff --git a/samples/metrics-write-file-sample/metrics-write-file-log4j2/pom.xml b/samples/metrics-write-file-sample/metrics-write-file-log4j2/pom.xml
index 3d9e83f..436155d 100644
--- a/samples/metrics-write-file-sample/metrics-write-file-log4j2/pom.xml
+++ b/samples/metrics-write-file-sample/metrics-write-file-log4j2/pom.xml
@@ -63,19 +63,11 @@
       <artifactId>metrics-write-file-common</artifactId>
     </dependency>
 
-    <!--metrics dependency-->
-    <dependency>
-      <groupId>io.servicecomb</groupId>
-      <artifactId>metrics-write-file-config</artifactId>
-    </dependency>
+    <!--metrics write file dependency-->
     <dependency>
       <groupId>io.servicecomb</groupId>
       <artifactId>metrics-write-file-config-log4j2</artifactId>
     </dependency>
-    <dependency>
-      <groupId>io.servicecomb</groupId>
-      <artifactId>metrics-write-file</artifactId>
-    </dependency>
 
   </dependencies>
 

-- 
To stop receiving notification emails like this one, please contact
"commits@servicecomb.apache.org" <co...@servicecomb.apache.org>.