You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2015/07/15 09:54:01 UTC

[2/2] incubator-kylin git commit: KYLIN-893 remove Metrics codes

KYLIN-893 remove Metrics codes

Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/64e91797
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/64e91797
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/64e91797

Branch: refs/heads/0.7-staging
Commit: 64e9179721648f1238c1ec1d2de1a4ca4c0d9f2c
Parents: e92bda0
Author: shaofengshi <sh...@apache.org>
Authored: Wed Jul 15 15:30:26 2015 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Wed Jul 15 15:30:26 2015 +0800

----------------------------------------------------------------------
 pom.xml                                         |  7 --
 .../kylin/rest/controller/BasicController.java  |  4 -
 .../kylin/rest/controller/CubeController.java   | 10 ---
 .../rest/controller/PerformanceController.java  | 10 ---
 .../rest/controller/ProjectController.java      |  5 --
 .../kylin/rest/controller/QueryController.java  |  7 --
 .../kylin/rest/controller/TableController.java  |  2 -
 .../apache/kylin/rest/metrics/JobMetrics.java   | 51 ------------
 .../KylinInstrumentedFilterContextListener.java | 57 --------------
 .../apache/kylin/rest/metrics/QueryMetrics.java | 82 --------------------
 .../kylin/rest/service/MetricsService.java      | 53 -------------
 .../apache/kylin/rest/service/QueryService.java |  5 --
 .../src/main/resources/applicationContext.xml   | 27 -------
 13 files changed, 320 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/64e91797/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9604e92..28ba7bb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -86,12 +86,6 @@
         <!-- Calcite Version -->
         <calcite.version>1.3.0-incubating</calcite.version>
 
-        <!-- Metrics Codahale Version -->
-        <metrics.version>3.0.1</metrics.version>
-
-        <!-- Quartz Version -->
-        <quartz.version>2.2.1</quartz.version>
-
         <!-- Curator.version Version -->
         <curator.version>2.6.0</curator.version>
 
@@ -470,7 +464,6 @@
                         <packagingExcludes>
                             WEB-INF/lib/servlet-api-*.jar,
                             WEB-INF/lib/zookeeper-*.jar,
-                            WEB-INF/lib/metrics-*.jar
                         </packagingExcludes>
                     </configuration>
                 </plugin>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/64e91797/server/src/main/java/org/apache/kylin/rest/controller/BasicController.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/controller/BasicController.java b/server/src/main/java/org/apache/kylin/rest/controller/BasicController.java
index bb91ff7..9b75f1b 100644
--- a/server/src/main/java/org/apache/kylin/rest/controller/BasicController.java
+++ b/server/src/main/java/org/apache/kylin/rest/controller/BasicController.java
@@ -32,7 +32,6 @@ import org.springframework.web.bind.annotation.ResponseStatus;
 
 import org.apache.kylin.rest.exception.BadRequestException;
 import org.apache.kylin.rest.exception.NotFoundException;
-import org.apache.kylin.rest.service.MetricsService;
 
 /**
  * Created with IntelliJ IDEA. User: lukhan Date: 9/1/13 Time: 10:54 PM To
@@ -42,9 +41,6 @@ public class BasicController {
 
     private static final Logger logger = LoggerFactory.getLogger(BasicController.class);
 
-    @Autowired
-    protected MetricsService metricsService;
-
     @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
     @ExceptionHandler(Exception.class)
     @ResponseBody

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/64e91797/server/src/main/java/org/apache/kylin/rest/controller/CubeController.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/controller/CubeController.java b/server/src/main/java/org/apache/kylin/rest/controller/CubeController.java
index 8c49a68..f0aa6d1 100644
--- a/server/src/main/java/org/apache/kylin/rest/controller/CubeController.java
+++ b/server/src/main/java/org/apache/kylin/rest/controller/CubeController.java
@@ -65,7 +65,6 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-import com.codahale.metrics.annotation.Metered;
 import com.fasterxml.jackson.core.JsonParseException;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JsonMappingException;
@@ -88,7 +87,6 @@ public class CubeController extends BasicController {
 
     @RequestMapping(value = "", method = {RequestMethod.GET})
     @ResponseBody
-    @Metered(name = "listCubes")
     public List<CubeInstance> getCubes(@RequestParam(value = "cubeName", required = false) String cubeName, @RequestParam(value = "projectName", required = false) String projectName, @RequestParam("limit") Integer limit, @RequestParam("offset") Integer offset) {
         return cubeService.getCubes(cubeName, projectName, (null == limit) ? 20 : limit, offset);
     }
@@ -144,7 +142,6 @@ public class CubeController extends BasicController {
 
     @RequestMapping(value = "/{cubeName}/cost", method = {RequestMethod.PUT})
     @ResponseBody
-    @Metered(name = "updateCubeCost")
     public CubeInstance updateCubeCost(@PathVariable String cubeName, @RequestParam(value = "cost") int cost) {
         try {
             return cubeService.updateCubeCost(cubeName, cost);
@@ -210,7 +207,6 @@ public class CubeController extends BasicController {
 
     @RequestMapping(value = "/{cubeName}/disable", method = {RequestMethod.PUT})
     @ResponseBody
-    @Metered(name = "disableCube")
     public CubeInstance disableCube(@PathVariable String cubeName) {
         try {
             CubeInstance cube = cubeService.getCubeManager().getCube(cubeName);
@@ -229,7 +225,6 @@ public class CubeController extends BasicController {
 
     @RequestMapping(value = "/{cubeName}/purge", method = {RequestMethod.PUT})
     @ResponseBody
-    @Metered(name = "purgeCube")
     public CubeInstance purgeCube(@PathVariable String cubeName) {
         try {
             CubeInstance cube = cubeService.getCubeManager().getCube(cubeName);
@@ -248,7 +243,6 @@ public class CubeController extends BasicController {
 
     @RequestMapping(value = "/{cubeName}/enable", method = {RequestMethod.PUT})
     @ResponseBody
-    @Metered(name = "enableCube")
     public CubeInstance enableCube(@PathVariable String cubeName) {
         try {
             CubeInstance cube = cubeService.getCubeManager().getCube(cubeName);
@@ -266,7 +260,6 @@ public class CubeController extends BasicController {
 
     @RequestMapping(value = "/{cubeName}", method = {RequestMethod.DELETE})
     @ResponseBody
-    @Metered(name = "deleteCube")
     public void deleteCube(@PathVariable String cubeName) {
         CubeInstance cube = cubeService.getCubeManager().getCube(cubeName);
         if (null == cube) {
@@ -289,7 +282,6 @@ public class CubeController extends BasicController {
      */
     @RequestMapping(value = "", method = {RequestMethod.POST})
     @ResponseBody
-    @Metered(name = "saveCube")
     public CubeRequest saveCubeDesc(@RequestBody CubeRequest cubeRequest) {
         //Update Model 
         MetadataManager metaManager = MetadataManager.getInstance(KylinConfig.getInstanceFromEnv());
@@ -346,7 +338,6 @@ public class CubeController extends BasicController {
      */
     @RequestMapping(value = "", method = {RequestMethod.PUT})
     @ResponseBody
-    @Metered(name = "updateCube")
     public CubeRequest updateCubeDesc(@RequestBody CubeRequest cubeRequest) throws JsonProcessingException {
 
         //Update Model 
@@ -419,7 +410,6 @@ public class CubeController extends BasicController {
      */
     @RequestMapping(value = "/{cubeName}/hbase", method = {RequestMethod.GET})
     @ResponseBody
-    @Metered(name = "getHBaseInfo")
     public List<HBaseResponse> getHBaseInfo(@PathVariable String cubeName) {
         List<HBaseResponse> hbase = new ArrayList<HBaseResponse>();
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/64e91797/server/src/main/java/org/apache/kylin/rest/controller/PerformanceController.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/controller/PerformanceController.java b/server/src/main/java/org/apache/kylin/rest/controller/PerformanceController.java
index 735db51..7158916 100644
--- a/server/src/main/java/org/apache/kylin/rest/controller/PerformanceController.java
+++ b/server/src/main/java/org/apache/kylin/rest/controller/PerformanceController.java
@@ -18,8 +18,6 @@
 
 package org.apache.kylin.rest.controller;
 
-import com.codahale.metrics.annotation.Metered;
-import com.codahale.metrics.annotation.Timed;
 import net.sf.ehcache.CacheManager;
 import org.apache.kylin.cube.CubeInstance;
 import org.apache.kylin.rest.service.CubeService;
@@ -56,14 +54,12 @@ public class PerformanceController extends BasicController {
 
     @RequestMapping(value = "/eachDayPercentile", method = RequestMethod.GET)
     @ResponseBody
-    @Timed(name = "eachDayPercentile")
     public List<String[]> eachDayPercentile() throws IOException {
         return performService.eachDayPercentile();
     }
 
     @RequestMapping(value = "/projectPercentile", method = RequestMethod.GET)
     @ResponseBody
-    @Timed(name = "projectPercentile")
     public List<String[]> projectPercentile() throws IOException {
         return performService.projectPercentile();
     }
@@ -71,14 +67,12 @@ public class PerformanceController extends BasicController {
 
     @RequestMapping(value = "/last30DayPercentile", method = RequestMethod.GET)
     @ResponseBody
-    @Timed(name = "last30DayPercentile")
     public List<String[]> last30DayPercentile() throws IOException {
         return performService.last30DayPercentile();
     }
 
     @RequestMapping(value = "/cubesStorage", method = {RequestMethod.GET})
     @ResponseBody
-    @Metered(name = "cubesStorage")
     public List<CubeInstance> getCubeStorage() {
         return cubeService.listAllCubes(null, null);
     }
@@ -86,28 +80,24 @@ public class PerformanceController extends BasicController {
 
     @RequestMapping(value = "/totalQueryUser", method = {RequestMethod.GET})
     @ResponseBody
-    @Metered(name = "totalQueryUser")
     public List<String[]> totalQueryUser() throws IOException {
         return performService.getTotalQueryUser();
     }
 
     @RequestMapping(value = "/dailyQueryCount", method = {RequestMethod.GET})
     @ResponseBody
-    @Metered(name = "dailyQueryCount")
     public List<String[]> dailyQueryCount() throws IOException {
         return performService.dailyQueryCount();
     }
 
     @RequestMapping(value = "/avgDayQuery", method = {RequestMethod.GET})
     @ResponseBody
-    @Metered(name = "avgDayQuery")
     public List<String[]> avgDayQuery() throws IOException {
         return performService.avgDayQuery();
     }
 
     @RequestMapping(value = "/listCubes", method = {RequestMethod.GET})
     @ResponseBody
-    @Metered(name = "listCubes")
     public List<CubeInstance> getCubes() {
         return cubeService.listAllCubes(null,null);
     }

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/64e91797/server/src/main/java/org/apache/kylin/rest/controller/ProjectController.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/controller/ProjectController.java b/server/src/main/java/org/apache/kylin/rest/controller/ProjectController.java
index 3a87858..d34b854 100644
--- a/server/src/main/java/org/apache/kylin/rest/controller/ProjectController.java
+++ b/server/src/main/java/org/apache/kylin/rest/controller/ProjectController.java
@@ -38,8 +38,6 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-import com.codahale.metrics.annotation.Metered;
-
 /**
  * @author xduo
  */
@@ -65,7 +63,6 @@ public class ProjectController extends BasicController {
 
     @RequestMapping(value = "", method = { RequestMethod.POST })
     @ResponseBody
-    @Metered(name = "saveProject")
     public ProjectInstance saveProject(@RequestBody CreateProjectRequest projectRequest) {
         if (StringUtils.isEmpty(projectRequest.getName())) {
             throw new InternalErrorException("A project name must be given to create a project");
@@ -84,7 +81,6 @@ public class ProjectController extends BasicController {
 
     @RequestMapping(value = "", method = { RequestMethod.PUT })
     @ResponseBody
-    @Metered(name = "updateProject")
     public ProjectInstance updateProject(@RequestBody UpdateProjectRequest projectRequest) {
         if (StringUtils.isEmpty(projectRequest.getFormerProjectName())) {
             throw new InternalErrorException("A project name must be given to update a project");
@@ -103,7 +99,6 @@ public class ProjectController extends BasicController {
 
     @RequestMapping(value = "/{projectName}", method = { RequestMethod.DELETE })
     @ResponseBody
-    @Metered(name = "deleteProject")
     public void deleteProject(@PathVariable String projectName) {
         try {
             projectService.deleteProject(projectName);

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/64e91797/server/src/main/java/org/apache/kylin/rest/controller/QueryController.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/controller/QueryController.java b/server/src/main/java/org/apache/kylin/rest/controller/QueryController.java
index 7e07cc1..27ceadc 100644
--- a/server/src/main/java/org/apache/kylin/rest/controller/QueryController.java
+++ b/server/src/main/java/org/apache/kylin/rest/controller/QueryController.java
@@ -18,7 +18,6 @@
 
 package org.apache.kylin.rest.controller;
 
-import com.codahale.metrics.annotation.Timed;
 import net.sf.ehcache.Cache;
 import net.sf.ehcache.CacheManager;
 import net.sf.ehcache.Element;
@@ -78,7 +77,6 @@ public class QueryController extends BasicController {
 
     @RequestMapping(value = "/query", method = RequestMethod.POST)
     @ResponseBody
-    @Timed(name = "query")
     public SQLResponse query(@RequestBody SQLRequest sqlRequest) {
         return doQuery(sqlRequest);
     }
@@ -86,14 +84,12 @@ public class QueryController extends BasicController {
     // TODO should be just "prepare" a statement, get back expected ResultSetMetaData
     @RequestMapping(value = "/query/prestate", method = RequestMethod.POST, produces = "application/json")
     @ResponseBody
-    @Timed(name = "query")
     public SQLResponse prepareQuery(@RequestBody PrepareSqlRequest sqlRequest) {
         return doQuery(sqlRequest);
     }
 
     @RequestMapping(value = "/saved_queries", method = RequestMethod.POST)
     @ResponseBody
-    @Timed(name = "saveQuery")
     public void saveQuery(@RequestBody SaveSqlRequest sqlRequest) throws IOException {
         String creator = SecurityContextHolder.getContext().getAuthentication().getName();
         Query newQuery = new Query(sqlRequest.getName(), sqlRequest.getProject(), sqlRequest.getSql(), sqlRequest.getDescription());
@@ -103,7 +99,6 @@ public class QueryController extends BasicController {
 
     @RequestMapping(value = "/saved_queries/{id}", method = RequestMethod.DELETE)
     @ResponseBody
-    @Timed(name = "removeQuery")
     public void removeQuery(@PathVariable String id) throws IOException {
         String creator = SecurityContextHolder.getContext().getAuthentication().getName();
         queryService.removeQuery(creator, id);
@@ -111,7 +106,6 @@ public class QueryController extends BasicController {
 
     @RequestMapping(value = "/saved_queries", method = RequestMethod.GET)
     @ResponseBody
-    @Timed(name = "getQueries")
     public List<Query> getQueries() throws IOException {
         String creator = SecurityContextHolder.getContext().getAuthentication().getName();
         return queryService.getQueries(creator);
@@ -119,7 +113,6 @@ public class QueryController extends BasicController {
 
     @RequestMapping(value = "/query/format/{format}", method = RequestMethod.GET)
     @ResponseBody
-    @Timed(name = "downloadResult")
     public void downloadQueryResult(@PathVariable String format, SQLRequest sqlRequest, HttpServletResponse response) {
         SQLResponse result = doQuery(sqlRequest);
         response.setContentType("text/" + format + ";charset=utf-8");

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/64e91797/server/src/main/java/org/apache/kylin/rest/controller/TableController.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/controller/TableController.java b/server/src/main/java/org/apache/kylin/rest/controller/TableController.java
index 99b0875..631ac4e 100644
--- a/server/src/main/java/org/apache/kylin/rest/controller/TableController.java
+++ b/server/src/main/java/org/apache/kylin/rest/controller/TableController.java
@@ -18,7 +18,6 @@
 
 package org.apache.kylin.rest.controller;
 
-import com.codahale.metrics.annotation.Metered;
 import org.apache.commons.lang.StringUtils;
 import org.apache.kylin.metadata.MetadataConstants;
 import org.apache.kylin.metadata.model.ColumnDesc;
@@ -56,7 +55,6 @@ public class TableController extends BasicController {
      */
     @RequestMapping(value = "", method = {RequestMethod.GET})
     @ResponseBody
-    @Metered(name = "listSourceTables")
     public List<TableDesc> getHiveTables(@RequestParam(value = "ext", required = false) boolean withExt, @RequestParam(value = "project", required = false) String project) {
         long start = System.currentTimeMillis();
         List<TableDesc> tables = null;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/64e91797/server/src/main/java/org/apache/kylin/rest/metrics/JobMetrics.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/metrics/JobMetrics.java b/server/src/main/java/org/apache/kylin/rest/metrics/JobMetrics.java
deleted file mode 100644
index 4924c95..0000000
--- a/server/src/main/java/org/apache/kylin/rest/metrics/JobMetrics.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-package org.apache.kylin.rest.metrics;
-
-import com.codahale.metrics.Metric;
-import com.codahale.metrics.MetricSet;
-
-import java.util.Collections;
-import java.util.Map;
-
-/**
- * @author xduo
- * 
- */
-public class JobMetrics implements MetricSet {
-
-    static class JobMetricsHolder {
-        static final JobMetrics INSTANCE = new JobMetrics();
-    }
-
-    public static JobMetrics getInstance() {
-        return JobMetricsHolder.INSTANCE;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see com.codahale.metrics.MetricSet#getMetrics()
-     */
-    @Override
-    public Map<String, Metric> getMetrics() {
-        return Collections.emptyMap();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/64e91797/server/src/main/java/org/apache/kylin/rest/metrics/KylinInstrumentedFilterContextListener.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/metrics/KylinInstrumentedFilterContextListener.java b/server/src/main/java/org/apache/kylin/rest/metrics/KylinInstrumentedFilterContextListener.java
deleted file mode 100644
index fa15451..0000000
--- a/server/src/main/java/org/apache/kylin/rest/metrics/KylinInstrumentedFilterContextListener.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-package org.apache.kylin.rest.metrics;
-
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.context.support.WebApplicationContextUtils;
-
-import com.codahale.metrics.MetricRegistry;
-import com.codahale.metrics.servlet.InstrumentedFilterContextListener;
-
-public class KylinInstrumentedFilterContextListener implements ServletContextListener {
-
-    @Autowired
-    private MetricRegistry metricRegistry;
-
-    private final InnerKylinInstrumentedFilterContextListener innerKylinInstrumentedFilterContextListener = new InnerKylinInstrumentedFilterContextListener();
-
-    @Override
-    public void contextInitialized(ServletContextEvent event) {
-        WebApplicationContextUtils.getRequiredWebApplicationContext(event.getServletContext()).getAutowireCapableBeanFactory().autowireBean(this);
-
-        innerKylinInstrumentedFilterContextListener.contextInitialized(event);
-    }
-
-    @Override
-    public void contextDestroyed(ServletContextEvent event) {
-    }
-
-    class InnerKylinInstrumentedFilterContextListener extends InstrumentedFilterContextListener {
-
-        @Override
-        protected MetricRegistry getMetricRegistry() {
-            return metricRegistry;
-        }
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/64e91797/server/src/main/java/org/apache/kylin/rest/metrics/QueryMetrics.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/metrics/QueryMetrics.java b/server/src/main/java/org/apache/kylin/rest/metrics/QueryMetrics.java
deleted file mode 100644
index 8793702..0000000
--- a/server/src/main/java/org/apache/kylin/rest/metrics/QueryMetrics.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-package org.apache.kylin.rest.metrics;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import com.codahale.metrics.Gauge;
-import com.codahale.metrics.Metric;
-import com.codahale.metrics.MetricSet;
-
-/**
- * @author xduo
- * 
- */
-public class QueryMetrics implements MetricSet {
-
-    private Map<String, Float> metrics = new HashMap<String, Float>();
-
-    private QueryMetrics() {
-        // register query metrics
-        this.increase("duration", (float) 0);
-        this.increase("totalScanCount", (float) 0);
-        this.increase("count", (float) 0);
-    }
-
-    static class QueryMetricsHolder {
-        static final QueryMetrics INSTANCE = new QueryMetrics();
-    }
-
-    public static QueryMetrics getInstance() {
-        return QueryMetricsHolder.INSTANCE;
-    }
-
-    public synchronized void increase(String key, Float value) {
-        if (metrics.containsKey(key)) {
-            metrics.put(key, metrics.get(key) + value);
-        } else {
-            metrics.put(key, value);
-        }
-    }
-
-    public synchronized Float getAndReset(String key) {
-        float value = metrics.get(key);
-        metrics.put(key, (float) 0);
-
-        return value;
-    }
-
-    public synchronized Map<String, Metric> getMetrics() {
-        Map<String, Metric> metricSet = new HashMap<String, Metric>();
-
-        for (final String key : metrics.keySet()) {
-            metricSet.put(key, new Gauge<Float>() {
-                @Override
-                public Float getValue() {
-                    float value = getAndReset(key);
-
-                    return value;
-                }
-            });
-        }
-
-        return metricSet;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/64e91797/server/src/main/java/org/apache/kylin/rest/service/MetricsService.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/service/MetricsService.java b/server/src/main/java/org/apache/kylin/rest/service/MetricsService.java
deleted file mode 100644
index 15005dc..0000000
--- a/server/src/main/java/org/apache/kylin/rest/service/MetricsService.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-package org.apache.kylin.rest.service;
-
-import com.codahale.metrics.MetricRegistry;
-import org.apache.kylin.rest.metrics.QueryMetrics;
-import org.springframework.beans.factory.InitializingBean;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.stereotype.Component;
-
-/**
- * @author xduo
- * 
- */
-@Component("metricsService")
-public class MetricsService implements InitializingBean {
-
-    @Autowired
-    @Qualifier("metrics")
-    private MetricRegistry metricRegistry;
-
-    public void registerQueryMetrics() {
-        metricRegistry.register("QueryMetrics", QueryMetrics.getInstance());
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see
-     * org.springframework.beans.factory.InitializingBean#afterPropertiesSet()
-     */
-    @Override
-    public void afterPropertiesSet() throws Exception {
-        registerQueryMetrics();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/64e91797/server/src/main/java/org/apache/kylin/rest/service/QueryService.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/service/QueryService.java b/server/src/main/java/org/apache/kylin/rest/service/QueryService.java
index 09499ee..0af9226 100644
--- a/server/src/main/java/org/apache/kylin/rest/service/QueryService.java
+++ b/server/src/main/java/org/apache/kylin/rest/service/QueryService.java
@@ -55,7 +55,6 @@ import org.apache.kylin.cube.CubeManager;
 import org.apache.kylin.cube.cuboid.Cuboid;
 import org.apache.kylin.query.relnode.OLAPContext;
 import org.apache.kylin.rest.constant.Constant;
-import org.apache.kylin.rest.metrics.QueryMetrics;
 import org.apache.kylin.rest.model.ColumnMeta;
 import org.apache.kylin.rest.model.Query;
 import org.apache.kylin.rest.model.SelectedColumnMeta;
@@ -222,10 +221,6 @@ public class QueryService extends BasicService {
             resultRowCount = response.getResults().size();
         }
 
-        QueryMetrics.getInstance().increase("duration", duration);
-        QueryMetrics.getInstance().increase("totalScanCount", (float) totalScanCount);
-        QueryMetrics.getInstance().increase("count", (float) 1);
-
         String newLine = System.getProperty("line.separator");
         StringBuilder stringBuilder = new StringBuilder();
         stringBuilder.append(newLine);

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/64e91797/server/src/main/resources/applicationContext.xml
----------------------------------------------------------------------
diff --git a/server/src/main/resources/applicationContext.xml b/server/src/main/resources/applicationContext.xml
index b56987f..6002098 100644
--- a/server/src/main/resources/applicationContext.xml
+++ b/server/src/main/resources/applicationContext.xml
@@ -17,7 +17,6 @@
 	xmlns:context="http://www.springframework.org/schema/context"
 	xmlns:mvc="http://www.springframework.org/schema/mvc" 
 	xmlns:task="http://www.springframework.org/schema/task"
-	xmlns:metrics="http://www.ryantenney.com/schema/metrics" 
 	xmlns:aop="http://www.springframework.org/schema/aop"
 	xmlns:cache="http://www.springframework.org/schema/cache" 
 	xmlns:p="http://www.springframework.org/schema/p"
@@ -30,8 +29,6 @@
     http://www.springframework.org/schema/task/spring-task-3.1.xsd
     http://www.springframework.org/schema/mvc
     http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
-    http://www.ryantenney.com/schema/metrics
-    http://www.ryantenney.com/schema/metrics/metrics-3.0.xsd
     http://www.springframework.org/schema/aop
     http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
     http://www.springframework.org/schema/cache
@@ -46,30 +43,6 @@
 
 	<context:component-scan base-package="org.apache.kylin.rest" />
 
-	<!-- Matric Spring -->
-	<!-- Registry should be defined in only one context XML file -->
-	<metrics:metric-registry id="metrics" />
-
-	<!-- annotation-driven must be included in all context files -->
-	<metrics:annotation-driven metric-registry="metrics" />
-
-	<!--&lt;!&ndash; (Optional) Registry should be defined in only one context XML file &ndash;&gt;-->
-	<!--<metrics:reporter type="ganglia" metric-registry="metrics"-->
-		<!--group="${ganglia.group}" port="${ganglia.port}" udp-mode="MULTICAST"-->
-		<!--ttl="100" period="1m" />-->
-
-	<!-- (Optional) The metrics in this example require the metrics-jvm jar -->
-	<metrics:register metric-registry="metrics">
-		<bean metrics:name="jvm.gc"
-			class="com.codahale.metrics.jvm.GarbageCollectorMetricSet" />
-		<bean metrics:name="jvm.memory" class="com.codahale.metrics.jvm.MemoryUsageGaugeSet" />
-		<bean metrics:name="jvm.thread-states"
-			class="com.codahale.metrics.jvm.ThreadStatesGaugeSet" />
-		<!--<bean metrics:name="jvm.fd.usage" class="com.codahale.metrics.jvm.FileDescriptorRatioGauge" 
-			/> -->
-	</metrics:register>
-	<!-- Matric Spring -->
-
 	<bean class="org.apache.kylin.rest.security.PasswordPlaceholderConfigurer">
 		<property name="ignoreResourceNotFound" value="true" />
 	</bean>