/** * @return an ArrayList of UserInfo objects who are active in this queue */ public ArrayList<UserInfo> getUsersInfo() { try { readLock.lock(); ArrayList<UserInfo> usersToReturn = new ArrayList<UserInfo>(); for (Map.Entry<String, User> entry : getUsers().entrySet()) { User user = entry.getValue(); usersToReturn.add( new UserInfo(entry.getKey(), Resources.clone(user.getAllUsed()), user.getActiveApplications(), user.getPendingApplications(), Resources.clone(user.getConsumedAMResources()), Resources.clone(user.getUserResourceLimit()), user.getResourceUsage(), user.getWeight(), activeUsersSet.contains(user.userName))); } return usersToReturn; } finally { readLock.unlock(); } }
ResourceInfo resourcesUsed = userInfo.getResourcesUsed(); ResourceInfo userAMLimitPerPartition = queueUsageResources.getUserAmLimit(); userAMLimitPerPartition = queueUsageResources.getAMLimit(); if (userInfo.getUserWeight() != 1.0) { userAMLimitPerPartition = new ResourceInfo( Resources.multiply(userAMLimitPerPartition.getResource(), userInfo.getUserWeight())); resourcesUsed = userInfo.getResourceUsageInfo() .getPartitionResourceUsageInfo(nodeLabel).getUsed(); ResourceInfo amUsed = userInfo.getAMResourcesUsed(); if (amUsed == null) { amUsed = new ResourceInfo(Resources.none()); userInfo.getIsActive() ? ACTIVE_USER : null; tbody.tr().$style(highlightIfAsking).td(userInfo.getUsername()) .td(userInfo.getUserResourceLimit().toString()) .td(String.valueOf(userInfo.getUserWeight())) .td(resourcesUsed.toString()) .td(userAMLimitPerPartition.toString()) .td(amUsed.toString()) .td(Integer.toString(userInfo.getNumActiveApplications())) .td(Integer.toString(userInfo.getNumPendingApplications())).__();
@Override protected void render(Block html) { TBODY<TABLE<Hamlet>> tbody = html.table("#userinfo").thead().$class("ui-widget-header").tr().th() .$class("ui-state-default")._("User Name")._().th() .$class("ui-state-default")._("Max Resource")._().th() .$class("ui-state-default")._("Used Resource")._().th() .$class("ui-state-default")._("Max AM Resource")._().th() .$class("ui-state-default")._("Used AM Resource")._().th() .$class("ui-state-default")._("Schedulable Apps")._().th() .$class("ui-state-default")._("Non-Schedulable Apps")._()._()._() .tbody(); ArrayList<UserInfo> users = lqinfo.getUsers().getUsersList(); for (UserInfo userInfo : users) { tbody.tr().td(userInfo.getUsername()) .td(userInfo.getUserResourceLimit().toString()) .td(userInfo.getResourcesUsed().toString()) .td(lqinfo.getUserAMResourceLimit().toString()) .td(userInfo.getAMResourcesUsed().toString()) .td(Integer.toString(userInfo.getNumActiveApplications())) .td(Integer.toString(userInfo.getNumPendingApplications()))._(); } html.div().$class("usersinfo").h5("Active Users Info")._(); tbody._()._(); } }
ArrayList<UserInfo> users = queue.getUsersManager().getUsersInfo(); for (UserInfo userInfo : users) { if (userInfo.getUsername().equals("user")) { ResourceInfo resourcesUsed = userInfo.getResourcesUsed(); Assert.assertEquals(2048, resourcesUsed.getMemorySize()); Assert.assertEquals(2, resourcesUsed.getvCores());
.getResourcesUsed().getMemorySize()); .getResourcesUsed().getvCores()); .getResourcesUsed().getMemorySize()); .getResourcesUsed().getvCores());
@Override protected void render(Block html) { TBODY<TABLE<Hamlet>> tbody = html.table("#userinfo").thead().$class("ui-widget-header").tr().th() .$class("ui-state-default")._("User Name")._().th() .$class("ui-state-default")._("Max Resource")._().th() .$class("ui-state-default")._("Used Resource")._().th() .$class("ui-state-default")._("Max AM Resource")._().th() .$class("ui-state-default")._("Used AM Resource")._().th() .$class("ui-state-default")._("Schedulable Apps")._().th() .$class("ui-state-default")._("Non-Schedulable Apps")._()._()._() .tbody(); ArrayList<UserInfo> users = lqinfo.getUsers().getUsersList(); for (UserInfo userInfo : users) { tbody.tr().td(userInfo.getUsername()) .td(userInfo.getUserResourceLimit().toString()) .td(userInfo.getResourcesUsed().toString()) .td(lqinfo.getUserAMResourceLimit().toString()) .td(userInfo.getAMResourcesUsed().toString()) .td(Integer.toString(userInfo.getNumActiveApplications())) .td(Integer.toString(userInfo.getNumPendingApplications()))._(); } html.div().$class("usersinfo").h5("Active Users Info")._(); tbody._()._(); } }
.getResourcesUsed().getMemory()); .getResourcesUsed().getvCores()); .getResourcesUsed().getMemory()); .getResourcesUsed().getvCores());
/** * @return an ArrayList of UserInfo objects who are active in this queue */ public synchronized ArrayList<UserInfo> getUsers() { ArrayList<UserInfo> usersToReturn = new ArrayList<UserInfo>(); for (Map.Entry<String, User> entry : users.entrySet()) { User user = entry.getValue(); Resource usedRes = Resource.newInstance(0, 0); for (String nl : getAccessibleLabelSet()) { Resources.addTo(usedRes, user.getUsed(nl)); } usersToReturn.add(new UserInfo(entry.getKey(), usedRes, user.getActiveApplications(), user .getPendingApplications(), Resources.clone(user .getConsumedAMResources()), Resources.clone(user .getUserResourceLimit()))); } return usersToReturn; }
/** * @return an ArrayList of UserInfo objects who are active in this queue */ public synchronized ArrayList<UserInfo> getUsers() { ArrayList<UserInfo> usersToReturn = new ArrayList<UserInfo>(); for (Map.Entry<String, User> entry : users.entrySet()) { User user = entry.getValue(); Resource usedRes = Resource.newInstance(0, 0); for (String nl : getAccessibleLabelSet()) { Resources.addTo(usedRes, user.getUsed(nl)); } usersToReturn.add(new UserInfo(entry.getKey(), usedRes, user.getActiveApplications(), user .getPendingApplications(), Resources.clone(user .getConsumedAMResources()), Resources.clone(user .getUserResourceLimit()))); } return usersToReturn; }