[ 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 <rshrivast...@salesforce.com> Date: 2017-02-27T22:55:41Z added initial checkin commit f9b3a40e0832e9da2f405bf20bfaf2d14f598c04 Author: Rahul <rshrivast...@salesforce.com> Date: 2017-02-27T22:16:36Z Initial structure for metrics collection Signed-off-by: Rahul <rshrivast...@salesforce.com> commit ba84cf8d2af962bacfc9c0475511effdad0a1b50 Author: Rahul <rshrivast...@salesforce.com> Date: 2017-04-30T18:10:08Z rearranged packages, renamed files, changed implementation of different sink type commit aad14a052e2281a5e4d30dc1e86fe78d86a00db1 Author: Rahul <rshrivast...@salesforce.com> Date: 2017-04-30T18:12:40Z phoenix-core/src/main/java/org/apache/phoenix/monitoring/PhoenixQueryServerSink.java commit 590562c01d467a1d683a9b4531c5a8f5517fe497 Author: Rahul <rshrivast...@salesforce.com> Date: 2017-04-30T18:18:12Z removed queryservicesoptions.java commit 0a36463eeb124d778a79a249499235e5a92e7e2f Author: Rahul <rshrivast...@salesforce.com> Date: 2017-04-30T18:19:48Z removed space from file commit f94dd5aed145bfaa217920e7aac0664307ab7e9d Author: Rahul <rshrivast...@salesforce.com> Date: 2017-04-30T18:21:29Z removed space commit 29384740540343e826b099d55919064f4ab6f619 Author: Rahul <rshrivast...@salesforce.com> Date: 2017-05-01T06:46:20Z final check for pull request commit 6ac4ca982e22cc620232edbe6872d89233a5189d Author: Rahul <rshrivast...@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)