Repository: incubator-ranger Updated Branches: refs/heads/ranger-0.5 ed4b8985d -> 410e04701
RANGER-1161: Policy evaluation optimization: added more trie data in info log Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/410e0470 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/410e0470 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/410e0470 Branch: refs/heads/ranger-0.5 Commit: 410e04701cecc2a71502ceb8b94d8b6e9d75371f Parents: ed4b898 Author: Madhan Neethiraj <[email protected]> Authored: Sun Aug 28 12:40:35 2016 -0700 Committer: Madhan Neethiraj <[email protected]> Committed: Sun Aug 28 12:40:35 2016 -0700 ---------------------------------------------------------------------- .../apache/ranger/plugin/util/RangerResourceTrie.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/410e0470/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java ---------------------------------------------------------------------- diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java index 2ca9bd6..982d249 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/RangerResourceTrie.java @@ -197,6 +197,8 @@ public class RangerResourceTrie<T extends RangerPolicyResourceEvaluator> { sb.append("; optWildcard=").append(optWildcard); sb.append("; wildcardChars=").append(wildcardChars); sb.append("; nodeCount=").append(trieData.nodeCount); + sb.append("; leafNodeCount=").append(trieData.leafNodeCount); + sb.append("; singleChildNodeCount=").append(trieData.singleChildNodeCount); sb.append("; maxDepth=").append(trieData.maxDepth); sb.append("; evaluatorListCount=").append(trieData.evaluatorListCount); sb.append("; wildcardEvaluatorListCount=").append(trieData.wildcardEvaluatorListCount); @@ -208,6 +210,8 @@ public class RangerResourceTrie<T extends RangerPolicyResourceEvaluator> { public class TrieData { int nodeCount = 0; + int leafNodeCount = 0; + int singleChildNodeCount = 0; int maxDepth = 0; int evaluatorListCount = 0; int wildcardEvaluatorListCount = 0; @@ -268,12 +272,18 @@ class TrieNode<T extends RangerPolicyResourceEvaluator> { } } - if(children != null) { + if(children != null && children.size() > 0) { + if(children.size() == 1) { + trieData.singleChildNodeCount++; + } + for(Map.Entry<Character, TrieNode> entry : children.entrySet()) { TrieNode child = entry.getValue(); child.populateTrieData(trieData); } + } else { + trieData.leafNodeCount++; } }
