hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Konstantin Ryakhovskiy (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-16142) Trigger JFR session when under duress -- e.g. backed-up request queue count -- and dump the recording to log dir
Date Mon, 11 Jul 2016 10:22:11 GMT

     [ https://issues.apache.org/jira/browse/HBASE-16142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Konstantin Ryakhovskiy updated HBASE-16142:
    Attachment: HBASE-16142.master.001.patch

Added class JavaFlightRecorder and test.
The class has a main method to be called with command line arguments:
--duration=<duration> [--output=<path>] 
if output is not provided, JFR trace will be dumped into HBase log directory.
the JVM option UnlockCommercialFeatures has to be enabled.

Do not know how to test if UnlockCommercialFeatures is disabled/enabled by default. Currently,
tests are just skipped if the option is disabled.

The patch on the review board:


> Trigger JFR session when under duress -- e.g. backed-up request queue count -- and dump
the recording to log dir
> ----------------------------------------------------------------------------------------------------------------
>                 Key: HBASE-16142
>                 URL: https://issues.apache.org/jira/browse/HBASE-16142
>             Project: HBase
>          Issue Type: Task
>          Components: Operability
>            Reporter: stack
>            Assignee: Konstantin Ryakhovskiy
>            Priority: Minor
>              Labels: beginner
>         Attachments: HBASE-16142.master.001.patch
> Chatting today w/ a mighty hbase operator on how to figure what is happening during transitory
latency spike or any other transitory 'weirdness' in a server, the idea came up that a java
flight recording during a spike would include a pretty good picture of what is going on during
the time of duress (more ideal would be a trace of the explicit slow queries showing call
stack with timings dumped to a sink for later review; i.e. trigger an htrace when a query
is slow...).
> Taking a look, programmatically triggering a JFR recording seems doable, if awkward (MBean
invocations). There is even a means of specifying 'triggers' based off any published mbean
emission -- e.g. a query queue count threshold -- which looks nice. See https://community.oracle.com/thread/3676275?start=0&tstart=0
and https://docs.oracle.com/javacomponents/jmc-5-4/jfr-runtime-guide/run.htm#JFRUH184
> This feature could start out as a blog post describing how to do it for one server. A
plugin on Canary that looks at mbean values and if over a configured threshold, triggers a
recording remotely could be next. Finally could integrate a couple of triggers that fire when
issue via the trigger mechanism.
> Marking as beginner feature.

This message was sent by Atlassian JIRA

View raw message