Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id D6961200C77 for ; Mon, 1 May 2017 16:47:10 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id D521A160BBD; Mon, 1 May 2017 14:47:10 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 29ED4160BAE for ; Mon, 1 May 2017 16:47:10 +0200 (CEST) Received: (qmail 40466 invoked by uid 500); 1 May 2017 14:47:09 -0000 Mailing-List: contact dev-help@phoenix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@phoenix.apache.org Delivered-To: mailing list dev@phoenix.apache.org Received: (qmail 40455 invoked by uid 99); 1 May 2017 14:47:09 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 May 2017 14:47:09 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id E70EA1809D6 for ; Mon, 1 May 2017 14:47:08 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -100.002 X-Spam-Level: X-Spam-Status: No, score=-100.002 tagged_above=-999 required=6.31 tests=[RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id qB0s3XdYK7BC for ; Mon, 1 May 2017 14:47:07 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id EBF735F36F for ; Mon, 1 May 2017 14:47:06 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id DA338E06BF for ; Mon, 1 May 2017 14:47:05 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id D384A21DE2 for ; Mon, 1 May 2017 14:47:04 +0000 (UTC) Date: Mon, 1 May 2017 14:47:04 +0000 (UTC) From: "ASF GitHub Bot (JIRA)" To: dev@phoenix.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (PHOENIX-3655) Metrics for PQS MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Mon, 01 May 2017 14:47:11 -0000 [ https://issues.apache.org/jira/browse/PHOENIX-3655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15990888#comment-15990888 ] ASF GitHub Bot commented on PHOENIX-3655: ----------------------------------------- Github user joshelser commented on a diff in the pull request: https://github.com/apache/phoenix/pull/242#discussion_r114132061 --- Diff: phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/metrics/PqsMetricsSystem.java --- @@ -0,0 +1,82 @@ +/* + * 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.phoenix.queryserver.metrics; + + +import org.apache.phoenix.queryserver.metrics.sink.PqsFileSink; +import org.apache.phoenix.queryserver.metrics.sink.PqsSink; +import org.apache.phoenix.queryserver.metrics.sink.PqsSlf4jSink; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +public class PqsMetricsSystem { + + public final static String statementLevelMetrics = "statement"; + public final static String connectionMetrics = "connection"; + protected static final Logger LOG = LoggerFactory.getLogger(PqsMetricsSystem.class); + + public Thread getGlobalMetricThread() { + return globalMetricThread; + } + + private Thread globalMetricThread = null; + public PqsSink pqsSink; + + + public PqsMetricsSystem(){ + + PqsGlobalMetrics pqsGlobalMetricsToJMX = null; + try { + pqsSink = getSinkObject(); + pqsGlobalMetricsToJMX = new PqsGlobalMetrics(pqsSink); + globalMetricThread = new Thread(pqsGlobalMetricsToJMX); --- End diff -- Should set an uncaught exception handler on this thread. > Metrics for PQS > --------------- > > Key: PHOENIX-3655 > URL: https://issues.apache.org/jira/browse/PHOENIX-3655 > Project: Phoenix > Issue Type: New Feature > Affects Versions: 4.8.0 > Environment: Linux 3.13.0-107-generic kernel, v4.9.0-HBase-0.98 > Reporter: Rahul Shrivastava > Assignee: Rahul Shrivastava > Fix For: 4.9.0 > > Attachments: MetricsforPhoenixQueryServerPQS.pdf > > Original Estimate: 240h > Remaining Estimate: 240h > > Phoenix Query Server runs a separate process compared to its thin client. Metrics collection is currently done by PhoenixRuntime.java i.e. at Phoenix driver level. We need the following > 1. For every jdbc statement/prepared statement/ run by PQS , we need capability to collect metrics at PQS level and push the data to external sink i.e. file, JMX , other external custom sources. > 2. Besides this global metrics could be periodically collected and pushed to the sink. > 2. PQS can be configured to turn on metrics collection and type of collect ( runtime or global) via hbase-site.xml > 3. Sink could be configured via an interface in hbase-site.xml. > All metrics definition https://phoenix.apache.org/metrics.html -- This message was sent by Atlassian JIRA (v6.3.15#6346)