You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/05/01 07:09:04 UTC

[jira] [Commented] (PHOENIX-3655) Metrics for PQS

    [ https://issues.apache.org/jira/browse/PHOENIX-3655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15990636#comment-15990636 ] 

ASF GitHub Bot commented on PHOENIX-3655:
-----------------------------------------

GitHub user rahulsIOT opened a pull request:

    https://github.com/apache/phoenix/pull/242

    PQS metrics -  https://issues.apache.org/jira/browse/PHOENIX-3655 

    Phoenix Query Server metrics
    https://issues.apache.org/jira/browse/PHOENIX-3655
    
    The following properties is added along with the defaults
    1. "phoenix.query.server.metrics" - default is true ( means pqs will collect metrics by default )
    2. "phoenix.query.server.metrics.report.interval.ms" - default is 30 sec ( every 30 sec, the global metrics will be output to sink )
    3. "phoenix.query.server.metrics.type.of.sink" - default is file  ( other option is slf4j)
    4. "phoenix.query.server.filesink.filename" - Filename if using fileSink (default is  /tmp/pqsSinkFile)
    
    if user setup "phoenix.query.server.metrics"  in hbase-site.xml to true, we add the following properties to JDBC connection (QueryServices.COLLECT_REQUEST_LEVEL_METRICS=  true). The starts the metrics collect at request level. 
    
    There are two types of metrics 
    1. Global - This metrics is collect every interval and pushed to sink ( File or Slf4j). Apart from this, it is also exposed in JMX via Mbeans.
    2. Request - These metrics is collected at statement and connection close level. Once collected, it is pushed to the sink. These metrics are not exposed via JMX as metrics are for specific table requests.  For requests level metrics, we have file and Slf4j ( LOG) as types of sink. So, the metrics will be pushed to a specified file or log file .
    
    
    For details on Phoenix Metrics - refer - https://phoenix.apache.org/metrics.html


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/rahulsIOT/phoenix PQSMetrics

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/phoenix/pull/242.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #242
    
----
commit a137e44e6797fd7826266a2919d543fabc7d1d76
Author: Rahul <rs...@salesforce.com>
Date:   2017-02-27T22:55:41Z

    added initial checkin

commit f9b3a40e0832e9da2f405bf20bfaf2d14f598c04
Author: Rahul <rs...@salesforce.com>
Date:   2017-02-27T22:16:36Z

    Initial structure for metrics collection
    
    Signed-off-by: Rahul <rs...@salesforce.com>

commit ba84cf8d2af962bacfc9c0475511effdad0a1b50
Author: Rahul <rs...@salesforce.com>
Date:   2017-04-30T18:10:08Z

     rearranged packages, renamed files, changed implementation of different sink type

commit aad14a052e2281a5e4d30dc1e86fe78d86a00db1
Author: Rahul <rs...@salesforce.com>
Date:   2017-04-30T18:12:40Z

    phoenix-core/src/main/java/org/apache/phoenix/monitoring/PhoenixQueryServerSink.java

commit 590562c01d467a1d683a9b4531c5a8f5517fe497
Author: Rahul <rs...@salesforce.com>
Date:   2017-04-30T18:18:12Z

    removed queryservicesoptions.java

commit 0a36463eeb124d778a79a249499235e5a92e7e2f
Author: Rahul <rs...@salesforce.com>
Date:   2017-04-30T18:19:48Z

    removed space from file

commit f94dd5aed145bfaa217920e7aac0664307ab7e9d
Author: Rahul <rs...@salesforce.com>
Date:   2017-04-30T18:21:29Z

    removed space

commit 29384740540343e826b099d55919064f4ab6f619
Author: Rahul <rs...@salesforce.com>
Date:   2017-05-01T06:46:20Z

    final check for pull request

commit 6ac4ca982e22cc620232edbe6872d89233a5189d
Author: Rahul <rs...@salesforce.com>
Date:   2017-05-01T07:07:49Z

    making the previous file identical to master as no changes is meant to be done for this file

----


> 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
>             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)