[ 
https://issues.apache.org/jira/browse/HBASE-3424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12998988#comment-12998988
 ] 

Gary Helmling commented on HBASE-3424:
--------------------------------------

Sorry, I skipped quite a bit of background explanation here.  Yes, this still 
needs to be implemented within the coprocessor framework -- specifically within 
{{HRegion.exec()}}.

The idea is that if you define a custom protocol for your coprocessor, like:
{noformat}
public interface RowCountProtocol extends CoprocessorProtocol {
    public long count();
    public long countForQualifier(byte[] family, byte[] qualifier)
}
{noformat}

This is ultimately invoked on the region server by a call to 
{{HRegionInterface.execCoprocessor()}}.  Current RPC metrics would contains 
stats for the number of invocations of {{execCoprocessor()}} but this doesn't 
tell you anything about what {{RowCountProtocol}} method was actually invoked.

So in {{HRegion.exec()}} we would add some code to increment metrics on the 
wrapped {{RowCountProtocol}} method being called by {{Method.invoke()}}.  Then 
you would also have individual RPC metrics for {{RowCountProtocol.count()}} and 
{{RowCountProtocol.countForQualifier()}}.

> Coprocessors: Add metrics for custom RPC methods called through 
> HTable.coprocessorExec()
> ----------------------------------------------------------------------------------------
>
>                 Key: HBASE-3424
>                 URL: https://issues.apache.org/jira/browse/HBASE-3424
>             Project: HBase
>          Issue Type: Sub-task
>          Components: ipc
>            Reporter: Gary Helmling
>            Priority: Minor
>
> Currently HBaseRpcMetrics only reports on known RPC methods in core HBase.  
> With HBASE-3405 we added hooks to register metrics for new methods.  We can 
> make use of these for tabulating metrics on custom CoprocessorProtocol 
> extensions invoked through HTable.coprocessorProxy() and 
> HTable.coprocessorExec().

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to