This is an automated email from the ASF dual-hosted git repository. nju_yaho pushed a commit to tag ebay-3.1.0-release-20200701 in repository https://gitbox.apache.org/repos/asf/kylin.git
commit 40c61c29395707de5b5dcbffdff2892abfc359b8 Author: Zhong, Yanghong <nju_y...@apache.org> AuthorDate: Fri Jun 19 14:45:02 2020 +0800 KYLIN-4583 Collect cpu time for coprocessor thread --- .../hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java index 93d8de4..e39e352 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java @@ -21,6 +21,7 @@ package org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.lang.management.ManagementFactory; +import java.lang.management.ThreadMXBean; import java.net.InetAddress; import java.nio.BufferOverflowException; import java.nio.ByteBuffer; @@ -242,6 +243,8 @@ public class CubeVisitService extends CubeVisitProtos.CubeVisitService implement CubeVisitProtos.CubeVisitResponse.ErrorInfo errorInfo = null; + ThreadMXBean tdMXBean = ManagementFactory.getThreadMXBean(); + // if user change kylin.properties on kylin server, need to manually redeploy coprocessor jar to update KylinConfig of Env. KylinConfig kylinConfig = KylinConfig.createKylinConfig(request.getKylinProperties()); @@ -274,6 +277,7 @@ public class CubeVisitService extends CubeVisitProtos.CubeVisitService implement appendProfileInfo(sb, "start latency: " + (serviceStartTime - scanReq.getStartTime()), serviceStartTime); + final long serviceStartCpuTime = tdMXBean.getCurrentThreadCpuTime(); final List<InnerScannerAsIterator> cellListsForeachRawScan = Lists.newArrayList(); for (RawScan hbaseRawScan : hbaseRawScans) { @@ -386,6 +390,11 @@ public class CubeVisitService extends CubeVisitProtos.CubeVisitService implement logger.info("Total scanned {} rows and {} bytes", cellListIterator.getTotalScannedRowCount(), cellListIterator.getTotalScannedRowBytes()); + long cpuTime = (tdMXBean.getCurrentThreadCpuTime() - serviceStartCpuTime) / 1000000L; + sb.append("cpuTime@"); + sb.append(cpuTime); + sb.append(","); + //outputStream.close() is not necessary byte[] compressedAllRows; if (errorInfo == null) {