SENTRY-2392: Add metrics statistics to list_user_privileges and list_role_privileges API (Sergio Pena, reviewed by Na Li)
diff --git a/sentry-service/sentry-service-server/src/main/java/org/apache/sentry/api/service/thrift/SentryMetrics.java b/sentry-service/sentry-service-server/src/main/java/org/apache/sentry/api/service/thrift/SentryMetrics.java
index 35c7d07..236a07b 100644
--- a/sentry-service/sentry-service-server/src/main/java/org/apache/sentry/api/service/thrift/SentryMetrics.java
+++ b/sentry-service/sentry-service-server/src/main/java/org/apache/sentry/api/service/thrift/SentryMetrics.java
@@ -113,6 +113,10 @@
       name(SentryPolicyStoreProcessor.class, "list-privileges-for-provider"));
   final Timer listPrivilegesByAuthorizableTimer = METRIC_REGISTRY.timer(
       name(SentryPolicyStoreProcessor.class, "list-privileges-by-authorizable"));
+  final Timer listRolesPrivilegesTimer = METRIC_REGISTRY.timer(
+      name(SentryPolicyStoreProcessor.class, "list-roles-privileges"));
+  final Timer listUsersPrivilegesTimer = METRIC_REGISTRY.timer(
+    name(SentryPolicyStoreProcessor.class, "list-users-privileges"));
   final Timer notificationProcessTimer = METRIC_REGISTRY.timer(
           name(SentryPolicyStoreProcessor.class, "process-hsm-notification"));
 
diff --git a/sentry-service/sentry-service-server/src/main/java/org/apache/sentry/api/service/thrift/SentryPolicyStoreProcessor.java b/sentry-service/sentry-service-server/src/main/java/org/apache/sentry/api/service/thrift/SentryPolicyStoreProcessor.java
index 008a48e..3a9623b 100644
--- a/sentry-service/sentry-service-server/src/main/java/org/apache/sentry/api/service/thrift/SentryPolicyStoreProcessor.java
+++ b/sentry-service/sentry-service-server/src/main/java/org/apache/sentry/api/service/thrift/SentryPolicyStoreProcessor.java
@@ -1369,7 +1369,7 @@
     TSentryPrivilegesResponse response = new TSentryPrivilegesResponse();
     String requestor = request.getRequestorUserName();
 
-    try {
+    try (Timer.Context timerContext = sentryMetrics.listRolesPrivilegesTimer.time()) {
       // Throws SentryThriftAPIMismatchException if protocol version mismatch
       validateClientVersion(request.getProtocol_version());
 
@@ -1403,7 +1403,7 @@
     TSentryPrivilegesResponse response = new TSentryPrivilegesResponse();
     String requestor = request.getRequestorUserName();
 
-    try {
+    try (Timer.Context timerContext = sentryMetrics.listUsersPrivilegesTimer.time()) {
       // Throws SentryThriftAPIMismatchException if protocol version mismatch
       validateClientVersion(request.getProtocol_version());