[
https://issues.apache.org/jira/browse/HBASE-21926?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16794661#comment-16794661
]
Hudson commented on HBASE-21926:
--------------------------------
SUCCESS: Integrated in Jenkins build HBase-1.3-IT #530 (See
[https://builds.apache.org/job/HBase-1.3-IT/530/])
HBASE-21926 Profiler servlet (apurtell:
[https://github.com/apache/hbase/commit/db8a24797e5db17804fb722498f2d9c49d979e5a])
* (edit) hbase-server/src/main/resources/hbase-webapps/master/snapshotsStats.jsp
* (add)
hbase-server/src/main/java/org/apache/hadoop/hbase/util/ProcessUtils.java
* (edit) hbase-thrift/src/main/resources/hbase-webapps/thrift/thrift.jsp
* (edit)
hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
* (add) src/main/asciidoc/_chapters/profiler.adoc
* (edit) src/main/asciidoc/book.adoc
* (edit) hbase-server/src/main/resources/hbase-webapps/master/tablesDetailed.jsp
* (edit) bin/hbase
* (edit) hbase-server/src/main/resources/hbase-webapps/master/zk.jsp
* (edit)
hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
* (edit) hbase-rest/src/main/resources/hbase-webapps/rest/rest.jsp
* (add)
hbase-server/src/main/java/org/apache/hadoop/hbase/http/ProfileOutputServlet.java
* (edit) hbase-server/src/main/resources/hbase-webapps/regionserver/region.jsp
* (edit)
hbase-server/src/main/resources/hbase-webapps/regionserver/storeFile.jsp
* (edit) hbase-server/src/main/resources/hbase-webapps/master/procedures.jsp
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/http/HttpServer.java
* (edit) hbase-server/src/main/resources/hbase-webapps/master/table.jsp
* (add)
hbase-server/src/main/java/org/apache/hadoop/hbase/http/ProfileServlet.java
* (edit) hbase-server/src/main/resources/hbase-webapps/master/snapshot.jsp
* (edit) hbase-server/src/main/resources/hbase-webapps/thrift/thrift.jsp
> Profiler servlet
> ----------------
>
> Key: HBASE-21926
> URL: https://issues.apache.org/jira/browse/HBASE-21926
> Project: HBase
> Issue Type: New Feature
> Components: master, Operability, regionserver
> Reporter: Andrew Purtell
> Assignee: Andrew Purtell
> Priority: Major
> Fix For: 3.0.0, 1.5.0, 1.4.10, 1.3.4, 2.3.0, 2.1.4, 1.2.12, 2.2.1
>
> Attachments: 1.png, 2.png, 3.png, 4.png, HBASE-21926-branch-1.patch,
> HBASE-21926-branch-1.patch, HBASE-21926-branch-1.patch,
> HBASE-21926-branch-1.patch, HBASE-21926.patch, HBASE-21926.patch,
> HBASE-21926.patch, HBASE-21926.patch
>
>
> HIVE-20202 describes how Hive added a web endpoint for online in production
> profiling based on async-profiler. The endpoint was added as a servlet to
> httpserver and supports retrieval of flamegraphs compiled from the profiler
> trace. Async profiler
> ([https://github.com/jvm-profiling-tools/async-profiler] ) can also profile
> heap allocations, lock contention, and HW performance counters in addition to
> CPU.
> The profiling overhead is pretty low and is safe to run in production. The
> async-profiler project measured and describes CPU and memory overheads on
> these issues:
> [https://github.com/jvm-profiling-tools/async-profiler/issues/14] and
> [https://github.com/jvm-profiling-tools/async-profiler/issues/131]
> We have an httpserver based servlet stack so we can use HIVE-20202 as an
> implementation template for a similar feature for HBase daemons. Ideally we
> achieve these requirements:
> * Retrieve flamegraph SVG generated from latest profile trace.
> * Online enable and disable of profiling activity. (async-profiler does not
> do instrumentation based profiling so this should not cause the code gen
> related perf problems of that other approach and can be safely toggled on and
> off while under production load.)
> * CPU profiling.
> * ALLOCATION profiling.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)