Repository: kylin Updated Branches: refs/heads/master b040c3775 -> 2411470d1
http://git-wip-us.apache.org/repos/asf/kylin/blob/ec897aae/server/src/main/resources/kylinMetrics.xml ---------------------------------------------------------------------- diff --git a/server/src/main/resources/kylinMetrics.xml b/server/src/main/resources/kylinMetrics.xml index 92e391f..354b1a0 100644 --- a/server/src/main/resources/kylinMetrics.xml +++ b/server/src/main/resources/kylinMetrics.xml @@ -26,7 +26,7 @@ <value>10</value> </constructor-arg> <constructor-arg index="1"> - <value>100</value> + <value>10</value> </constructor-arg> <constructor-arg index="2"> <value>10</value> @@ -37,48 +37,43 @@ <bean id="kafkaSink" class="org.apache.kylin.metrics.lib.impl.kafka.KafkaSink"/> - <bean id="systemCubeSink" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> + <bean id="initMetricsManager" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetClass" value="org.apache.kylin.metrics.MetricsManager"/> - <property name="targetMethod" value="setSystemCubeSink"/> + <property name="targetMethod" value="initMetricsManager"/> <property name="arguments"> <list> <ref bean="hiveSink"/> + <map key-type="org.apache.kylin.metrics.lib.ActiveReservoir" value-type="java.util.List"> + <!-- + <entry key-ref="instantReservoir"> + <list> + <bean class="org.apache.kylin.common.util.Pair"> + <property name="first" + value="org.apache.kylin.metrics.lib.impl.kafka.KafkaReservoirReporter"/> + <property name="second"> + <props> + <prop key="bootstrap.servers">sandbox:9092</prop> + </props> + </property> + </bean> + </list> + </entry> + --> + <entry key-ref="blockingReservoir"> + <list> + <bean class="org.apache.kylin.common.util.Pair"> + <property name="first" + value="org.apache.kylin.metrics.lib.impl.hive.HiveReservoirReporter"/> + <property name="second"> + <props> + </props> + </property> + </bean> + </list> + </entry> + </map> </list> </property> </bean> - <bean id="sourceReporterBindProperties" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> - <property name="targetClass" value="org.apache.kylin.metrics.MetricsManager"/> - <property name="targetMethod" value="setSourceReporterBindProps"/> - <property name="arguments"> - <map key-type="org.apache.kylin.metrics.lib.ActiveReservoir" value-type="java.util.List"> - <entry key-ref="instantReservoir"> - <list> - <bean class="org.apache.kylin.common.util.Pair"> - <property name="first" - value="org.apache.kylin.metrics.lib.impl.kafka.KafkaReservoirReporter"/> - <property name="second"> - <props> - <prop key="bootstrap.servers">sandbox:9092</prop> - </props> - </property> - </bean> - </list> - </entry> - <entry key-ref="blockingReservoir"> - <list> - <bean class="org.apache.kylin.common.util.Pair"> - <property name="first" - value="org.apache.kylin.metrics.lib.impl.hive.HiveReservoirReporter"/> - <property name="second"> - <props> - </props> - </property> - </bean> - </list> - </entry> - </map> - </property> - </bean> - </beans> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/kylin/blob/ec897aae/server/src/test/java/org/apache/kylin/rest/metrics/QueryMetricsTest.java ---------------------------------------------------------------------- diff --git a/server/src/test/java/org/apache/kylin/rest/metrics/QueryMetricsTest.java b/server/src/test/java/org/apache/kylin/rest/metrics/QueryMetricsTest.java index bd1da59..bbfe97c 100644 --- a/server/src/test/java/org/apache/kylin/rest/metrics/QueryMetricsTest.java +++ b/server/src/test/java/org/apache/kylin/rest/metrics/QueryMetricsTest.java @@ -25,6 +25,7 @@ import java.util.List; import javax.management.MBeanServer; import javax.management.ObjectName; +import org.apache.kylin.common.QueryContext; import org.apache.kylin.rest.request.SQLRequest; import org.apache.kylin.rest.response.SQLResponse; import org.apache.kylin.rest.service.ServiceTestBase; @@ -111,4 +112,45 @@ public class QueryMetricsTest extends ServiceTestBase { System.clearProperty("kylin.server.query-metrics-enabled"); } + @Test + public void testQueryStatisticsResult() throws Exception { + System.setProperty("kylin.core.metrics.reporter-query-enabled", "true"); + QueryMetricsFacade.init(); + + SQLRequest sqlRequest = new SQLRequest(); + sqlRequest.setSql("select * from TEST_KYLIN_FACT"); + sqlRequest.setProject("default"); + + SQLResponse sqlResponse = new SQLResponse(); + sqlResponse.setDuration(10); + sqlResponse.setCube("test_cube"); + sqlResponse.setIsException(false); + sqlResponse.setTotalScanCount(100); + List<String> list1 = new ArrayList<>(); + list1.add("111"); + list1.add("112"); + List<String> list2 = new ArrayList<>(); + list2.add("111"); + list2.add("112"); + List<List<String>> results = new ArrayList<>(); + results.add(list1); + results.add(list2); + sqlResponse.setResults(results); + sqlResponse.setStorageCacheUsed(true); + + QueryContext context = QueryContext.current(); + int ctxId = 0; + context.addContext(ctxId, "OLAP", true); + context.addRPCStatistics(ctxId, "sandbox", "test_cube", "20100101000000_20150101000000", 3L, 3L, 3L, null, 80L, + 0L, 2L, 2L, 0L, 30L); + + sqlResponse.setCubeSegmentStatisticsList(context.getCubeSegmentStatisticsResultList()); + + QueryMetricsFacade.updateMetrics(sqlRequest, sqlResponse); + + Thread.sleep(2000); + + System.clearProperty("kylin.server.query-metrics-enabled"); + System.out.println("------------testQueryStatisticsResult done------------"); + } }