HDFS-9942. Add an HTrace span when refreshing the groups for a username (cmccabe)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/6e9a582e Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/6e9a582e Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/6e9a582e Branch: refs/heads/HDFS-7240 Commit: 6e9a582eb1ab040f532fbe95694f5272cda34188 Parents: 7542996 Author: Colin Patrick Mccabe <cmcc...@cloudera.com> Authored: Fri Mar 11 12:26:40 2016 -0800 Committer: Colin Patrick Mccabe <cmcc...@cloudera.com> Committed: Fri Mar 11 12:26:40 2016 -0800 ---------------------------------------------------------------------- .../java/org/apache/hadoop/security/Groups.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/6e9a582e/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/Groups.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/Groups.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/Groups.java index 9fd39b0..11d8f2a 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/Groups.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/Groups.java @@ -27,6 +27,8 @@ import java.util.Set; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; +import org.apache.htrace.core.TraceScope; +import org.apache.htrace.core.Tracer; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Ticker; import com.google.common.cache.CacheBuilder; @@ -217,7 +219,20 @@ public class Groups { */ @Override public List<String> load(String user) throws Exception { - List<String> groups = fetchGroupList(user); + TraceScope scope = null; + Tracer tracer = Tracer.curThreadTracer(); + if (tracer != null) { + scope = tracer.newScope("Groups#fetchGroupList"); + scope.addKVAnnotation("user", user); + } + List<String> groups = null; + try { + groups = fetchGroupList(user); + } finally { + if (scope != null) { + scope.close(); + } + } if (groups.isEmpty()) { if (isNegativeCacheEnabled()) {