[
https://issues.apache.org/jira/browse/HBASE-16142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15392713#comment-15392713
]
stack commented on HBASE-16142:
-------------------------------
No harm adding links to documentation and site for JMC and JFR to the class
comment on JavaFlightRecorder
In this exception, could say how to enable the features or point at a page that
shows how to enable them:
74 throw new IllegalStateException("Cannot initialize Java Flight
Recorder: "
75 + "Commercial Features are
not enabled");
FYI, there is a define HBASE_LOG_DIR in our hbase-env.sh that you might want to
use instead in getLogDirectory.
Add where you are recording to in this message...
LOG.debug("starting Java Flight Recorder...");
... or nvm, I see you do it when stop is run.
Doesn't Options do the usage output for you if you ask it too?
Thanks Konstantin
> 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,
> HBASE-16142.master.002.patch, HBASE-16142.master.003.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
(v6.3.4#6332)