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