You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
(927) |
Apr
(419) |
May
(352) |
Jun
(431) |
Jul
(463) |
Aug
(345) |
Sep
(304) |
Oct
(596) |
Nov
(466) |
Dec
(414) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(348) |
Feb
(313) |
Mar
(665) |
Apr
(688) |
May
(434) |
Jun
(311) |
Jul
(540) |
Aug
(554) |
Sep
(467) |
Oct
(341) |
Nov
(365) |
Dec
(272) |
2009 |
Jan
(386) |
Feb
(293) |
Mar
(279) |
Apr
(239) |
May
(229) |
Jun
(199) |
Jul
(186) |
Aug
(111) |
Sep
(196) |
Oct
(146) |
Nov
(116) |
Dec
(140) |
2010 |
Jan
(170) |
Feb
(159) |
Mar
(151) |
Apr
(161) |
May
(90) |
Jun
(56) |
Jul
(28) |
Aug
(22) |
Sep
(5) |
Oct
|
Nov
(23) |
Dec
(12) |
2011 |
Jan
(8) |
Feb
(8) |
Mar
(22) |
Apr
(24) |
May
(4) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2012 |
Jan
(5) |
Feb
(1) |
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <dcr...@hy...> - 2010-01-14 02:16:10
|
Author: dcrutchf Date: 2010-01-13 17:43:24 -0800 (Wed, 13 Jan 2010) New Revision: 14180 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14180 Modified: branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/AppdefBossEJBImpl.java branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/ui/taglib/NavMapSupportedTag.java Log: [HHQ-3666] - Nav Map are not displayed inORACLE 11g environment ONLY Modified: branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java =================================================================== --- branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java 2010-01-13 23:51:00 UTC (rev 14179) +++ branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java 2010-01-14 01:43:24 UTC (rev 14180) @@ -485,33 +485,6 @@ return grpMap; } - /** - * Method for determining whether or not to show a nav map - * (this is a temporary method) - * @ejb:interface-method - */ - public boolean isNavMapSupported () { - try { - Connection conn = getDBConn(); - switch (DBUtil.getDBType(conn)) { - case DBUtil.DATABASE_ORACLE_8: - case DBUtil.DATABASE_ORACLE_9: - case DBUtil.DATABASE_ORACLE_10: - case DBUtil.DATABASE_POSTGRESQL_7: - case DBUtil.DATABASE_POSTGRESQL_8: - case DBUtil.DATABASE_MYSQL5: - return true; - default: - return false; - } - } catch (SQLException e) { - log.error("Unable to determine navmap capability"); - return false; - } finally { - disconnect(); - } - } - /**<p>Return directly connected resource tree for node level platform</p> * @ejb:interface-method * @ejb:transaction type="Supports" Modified: branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/AppdefBossEJBImpl.java =================================================================== --- branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/AppdefBossEJBImpl.java 2010-01-13 23:51:00 UTC (rev 14179) +++ branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/AppdefBossEJBImpl.java 2010-01-14 01:43:24 UTC (rev 14180) @@ -3943,16 +3943,7 @@ return ret; } - - /** - * temporary method for determining whether or not we're running - * a database that supports navmap - * @ejb:interface-method - */ - public boolean isNavMapSupported () { - return getAppdefStatManager().isNavMapSupported(); - } - + /** * @ejb:interface-method */ Modified: branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/ui/taglib/NavMapSupportedTag.java =================================================================== --- branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/ui/taglib/NavMapSupportedTag.java 2010-01-13 23:51:00 UTC (rev 14179) +++ branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/ui/taglib/NavMapSupportedTag.java 2010-01-14 01:43:24 UTC (rev 14180) @@ -57,11 +57,11 @@ HttpServletRequest request = (HttpServletRequest)pageContext.getRequest(); ServletContext ctx = pageContext.getServletContext(); AppdefBoss ab = ContextUtils.getAppdefBoss(ctx); - boolean navMapSupported = true; // first try to get the resource ids as eids, then as rid / type AppdefEntityID[] eids = null; + try { eids = RequestUtils.getEntityIds(request); } catch (ParameterNotFoundException e) { @@ -89,7 +89,7 @@ int sessionId = RequestUtils.getSessionId(request).intValue(); AppdefGroupValue group = ab.findGroup(sessionId, eids[0].getId()); - + if ( group.isGroupAdhoc() ) { // mixed-group, not supported navMapSupported = false; @@ -120,9 +120,7 @@ navMapSupported = true; } } - - // now check to see if the server supports the navigation map - navMapSupported = navMapSupported && ab.isNavMapSupported(); + setScopedVariable( new Boolean(navMapSupported) ); } catch (RemoteException e) { log.error("Couldn't interact with bizapp layer. Assuming NavMap not supported.", e); |
From: <dcr...@hy...> - 2010-01-13 23:51:11
|
Author: dcrutchf Date: 2010-01-13 15:51:00 -0800 (Wed, 13 Jan 2010) New Revision: 14179 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14179 Modified: trunk/web/css/HQ_40.css trunk/web/login.jsp Log: tweaked UI Modified: trunk/web/css/HQ_40.css =================================================================== --- trunk/web/css/HQ_40.css 2010-01-13 22:52:42 UTC (rev 14178) +++ trunk/web/css/HQ_40.css 2010-01-13 23:51:00 UTC (rev 14179) @@ -1377,7 +1377,7 @@ } .loginPanel input[type="password"], .loginPanel input[type="text"] { - width: 248px + width: 200px } .ToolbarContent td { Modified: trunk/web/login.jsp =================================================================== --- trunk/web/login.jsp 2010-01-13 22:52:42 UTC (rev 14178) +++ trunk/web/login.jsp 2010-01-13 23:51:00 UTC (rev 14179) @@ -15,6 +15,21 @@ <link rel="stylesheet" type="text/css" href="/css/HQ_40.css" /> <link rel="stylesheet" type="text/css" href="/js/dojo/1.1/dijit/themes/tundra/tundra.css" /> <link rel="stylesheet" type="text/css" href="/js/dojo/1.1/dojo/resources/dojo.css" /> + <script src="/js/dojo/1.1/dojo/dojo.js" type="text/javascript"></script> + <script> + dojo.addOnLoad(function() { + var username = dojo.byId("usernameInput"); + var password = dojo.byId("passwordInput"); + + dojo.connect(username, "onfocus", function(e) { dojo.addClass(e.target.parentNode, "active"); }); + dojo.connect(username, "onblur", function(e) { dojo.removeClass(e.target.parentNode, "active"); }); + + dojo.connect(password, "onfocus", function(e) { dojo.addClass(e.target.parentNode, "active"); }); + dojo.connect(password, "onblur", function(e) { dojo.removeClass(e.target.parentNode, "active"); }); + + username.focus(); + }); + </script> </head> <body> <div id="header"> @@ -30,47 +45,39 @@ </ul> </div> </div> - <div class="loginPanel"> - <form name='f' action='/j_spring_security_check' method='POST'> - <div class="fieldsetTitle"> - <fmt:message key="login.signin.message" /> - </div> - <div class="fieldsetNote"> - <fmt:message key="login.signin.instructions" /> - </div> - <fieldset> - <c:if test="${not empty param.authfailed}"> - <p> - <div class="msgPanel msgError"> - <fmt:message key="login.info.bad" /> + <div id="wrapper"> + <div id="content"> + <div class="loginPanel"> + <form name='f' action='/j_spring_security_check' method='POST'> + <div class="fieldsetTitle"> + <fmt:message key="login.signin.message" /> + </div> + <div class="fieldsetNote"> + <fmt:message key="login.signin.instructions" /> + </div> + <fieldset> + <c:if test="${not empty param.authfailed}"> + <p> + <div class="msgPanel msgError"> + <fmt:message key="login.info.bad" /> + </div> + </p> + </c:if> + <div class="fieldRow"> + <label for="j_username"><fmt:message key="login.field.username" /></label> + <input id="usernameInput" type="text" id="j_username" name="j_username" value="" /> </div> - </p> - </c:if> - <table> - <tr> - <td> - <label for="j_username"><fmt:message key="login.field.username" /></label> - </td> - <td> - <input type="text" id="j_username" name="j_username" value="" /> - </td> - </tr> - <tr> - <td> + <div class="fieldRow"> <label for="j_password"><fmt:message key="login.field.password" /></label> - </td> - <td> - <input type="password" id="j_password" name="j_password" /> - </td> - </tr> - <tr> - <td colspan="2" align="right"> + <input id="passwordInput" type="password" id="j_password" name="j_password" /> + </div> + <div class="button"> <input name="submit" type="submit" class="button42" value="<fmt:message key="login.signin" />" /> - </td> - </tr> - </table> - </fieldset> - </form> - </div> + </div> + </fieldset> + </form> + </div> + </div> + </div> </body> </html> \ No newline at end of file |
From: <dcr...@hy...> - 2010-01-13 22:52:51
|
Author: dcrutchf Date: 2010-01-13 14:52:42 -0800 (Wed, 13 Jan 2010) New Revision: 14178 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14178 Modified: trunk/src/org/hyperic/hq/ui/taglib/display/SmartListHelper.java trunk/web/login.jsp Log: minor tweaks Modified: trunk/src/org/hyperic/hq/ui/taglib/display/SmartListHelper.java =================================================================== --- trunk/src/org/hyperic/hq/ui/taglib/display/SmartListHelper.java 2010-01-13 21:46:15 UTC (rev 14177) +++ trunk/src/org/hyperic/hq/ui/taglib/display/SmartListHelper.java 2010-01-13 22:52:42 UTC (rev 14178) @@ -65,12 +65,9 @@ this.pageSize = pageSize; this.masterList = list; - try{ + if (extSize != null) { this.extSize = extSize.intValue(); } - catch(NullPointerException e){ - //do nothing means value not set. - } this.pageCount = this.computedPageCount(); this.currentPage = 1; Modified: trunk/web/login.jsp =================================================================== --- trunk/web/login.jsp 2010-01-13 21:46:15 UTC (rev 14177) +++ trunk/web/login.jsp 2010-01-13 22:52:42 UTC (rev 14178) @@ -19,7 +19,6 @@ <body> <div id="header"> <div id="headerLogo" title="Home" onclick="location.href='<html:rewrite action="/Dashboard" />'"> </div> - <!-- <div id="headerLinks"> <ul> <li> @@ -30,7 +29,6 @@ </li> </ul> </div> - --> </div> <div class="loginPanel"> <form name='f' action='/j_spring_security_check' method='POST'> |
From: <bo...@hy...> - 2010-01-13 21:46:24
|
Author: bob Date: 2010-01-13 13:46:15 -0800 (Wed, 13 Jan 2010) New Revision: 14177 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14177 Modified: branches/HQ_4_2_0_PATCH/etc/version.properties Log: Release 4.2.0.3 build #1272 Modified: branches/HQ_4_2_0_PATCH/etc/version.properties =================================================================== --- branches/HQ_4_2_0_PATCH/etc/version.properties 2010-01-13 19:41:12 UTC (rev 14176) +++ branches/HQ_4_2_0_PATCH/etc/version.properties 2010-01-13 21:46:15 UTC (rev 14177) @@ -1,3 +1,3 @@ -#Wed Jan 13 10:55:21 PST 2010 +#Wed Jan 13 13:16:06 PST 2010 version=4.2.0.3 -build=1271 +build=1272 |
From: Doug M. <do...@hy...> - 2010-01-13 19:47:50
|
Hi Tatiana, Good to hear the Python bindings in trunk are working for you. Much of the work in the master branch (1.7-tobe) has focused on improving the other language bindings, so let us know how it goes for you with Python and we can get any changes in before the 1.7 release. |
From: Doug M. <do...@hy...> - 2010-01-13 19:44:33
|
Hi Justin, Glad you were able to sort out the problem. I've opened a ticket to document the exceptions: http://jira.hyperic.com/browse/SIGAR-197 and should get that done before the next release. Great to hear you've found sigar useful and easy to use. Keep the feedback coming, helps us continue to improve! |
From: <dcr...@hy...> - 2010-01-13 19:41:21
|
Author: dcrutchf Date: 2010-01-13 11:41:12 -0800 (Wed, 13 Jan 2010) New Revision: 14176 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14176 Modified: trunk/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java trunk/src/org/hyperic/hq/bizapp/server/session/AppdefBossEJBImpl.java trunk/src/org/hyperic/hq/ui/taglib/NavMapSupportedTag.java Log: [HHQ-3666] - Nav Map are not displayed inORACLE 11g environment ONLY Modified: trunk/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java 2010-01-13 19:34:47 UTC (rev 14175) +++ trunk/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java 2010-01-13 19:41:12 UTC (rev 14176) @@ -485,33 +485,6 @@ return grpMap; } - /** - * Method for determining whether or not to show a nav map - * (this is a temporary method) - * @ejb:interface-method - */ - public boolean isNavMapSupported () { - try { - Connection conn = getDBConn(); - switch (DBUtil.getDBType(conn)) { - case DBUtil.DATABASE_ORACLE_8: - case DBUtil.DATABASE_ORACLE_9: - case DBUtil.DATABASE_ORACLE_10: - case DBUtil.DATABASE_POSTGRESQL_7: - case DBUtil.DATABASE_POSTGRESQL_8: - case DBUtil.DATABASE_MYSQL5: - return true; - default: - return false; - } - } catch (SQLException e) { - log.error("Unable to determine navmap capability"); - return false; - } finally { - disconnect(); - } - } - /**<p>Return directly connected resource tree for node level platform</p> * @ejb:interface-method * @ejb:transaction type="Supports" Modified: trunk/src/org/hyperic/hq/bizapp/server/session/AppdefBossEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/bizapp/server/session/AppdefBossEJBImpl.java 2010-01-13 19:34:47 UTC (rev 14175) +++ trunk/src/org/hyperic/hq/bizapp/server/session/AppdefBossEJBImpl.java 2010-01-13 19:41:12 UTC (rev 14176) @@ -4136,16 +4136,7 @@ return ret; } - - /** - * temporary method for determining whether or not we're running - * a database that supports navmap - * @ejb:interface-method - */ - public boolean isNavMapSupported () { - return getAppdefStatManager().isNavMapSupported(); - } - + /** * @ejb:interface-method */ Modified: trunk/src/org/hyperic/hq/ui/taglib/NavMapSupportedTag.java =================================================================== --- trunk/src/org/hyperic/hq/ui/taglib/NavMapSupportedTag.java 2010-01-13 19:34:47 UTC (rev 14175) +++ trunk/src/org/hyperic/hq/ui/taglib/NavMapSupportedTag.java 2010-01-13 19:41:12 UTC (rev 14176) @@ -57,11 +57,11 @@ HttpServletRequest request = (HttpServletRequest)pageContext.getRequest(); ServletContext ctx = pageContext.getServletContext(); AppdefBoss ab = ContextUtils.getAppdefBoss(ctx); - boolean navMapSupported = true; // first try to get the resource ids as eids, then as rid / type AppdefEntityID[] eids = null; + try { eids = RequestUtils.getEntityIds(request); } catch (ParameterNotFoundException e) { @@ -89,7 +89,7 @@ int sessionId = RequestUtils.getSessionId(request).intValue(); AppdefGroupValue group = ab.findGroup(sessionId, eids[0].getId()); - + if ( group.isGroupAdhoc() ) { // mixed-group, not supported navMapSupported = false; @@ -120,9 +120,7 @@ navMapSupported = true; } } - - // now check to see if the server supports the navigation map - navMapSupported = navMapSupported && ab.isNavMapSupported(); + setScopedVariable( new Boolean(navMapSupported) ); } catch (RemoteException e) { log.error("Couldn't interact with bizapp layer. Assuming NavMap not supported.", e); |
From: <bo...@hy...> - 2010-01-13 19:34:56
|
Author: bob Date: 2010-01-13 11:34:47 -0800 (Wed, 13 Jan 2010) New Revision: 14175 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14175 Modified: branches/HQ_4_2_0_PATCH/etc/version.properties Log: Release 4.2.0.3 build #1271 Modified: branches/HQ_4_2_0_PATCH/etc/version.properties =================================================================== --- branches/HQ_4_2_0_PATCH/etc/version.properties 2010-01-13 19:27:24 UTC (rev 14174) +++ branches/HQ_4_2_0_PATCH/etc/version.properties 2010-01-13 19:34:47 UTC (rev 14175) @@ -1,3 +1,3 @@ -#Fri Jan 08 11:11:51 PST 2010 +#Wed Jan 13 10:55:21 PST 2010 version=4.2.0.3 -build=1270 +build=1271 |
From: <sc...@hy...> - 2010-01-13 19:27:36
|
Author: scottmf Date: 2010-01-13 11:27:24 -0800 (Wed, 13 Jan 2010) New Revision: 14174 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14174 Modified: branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java Log: [HHQ-3667] removed a couple NPE potentials Modified: branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java =================================================================== --- branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java 2010-01-13 19:25:26 UTC (rev 14173) +++ branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java 2010-01-13 19:27:24 UTC (rev 14174) @@ -426,8 +426,9 @@ if (r == null || r.isInAsyncDeleteState()) { continue; } - Measurement meas = (Measurement)midMap.get(r.getId()); - if (null == midMap || null == meas) { + Measurement meas; + if (null == midMap + || null == (meas = (Measurement)midMap.get(r.getId()))) { if (debug) watch.markTimeBegin("getAvailabilityMeasurement"); meas = mMan.getAvailabilityMeasurement(r); if (debug) watch.markTimeEnd("getAvailabilityMeasurement"); @@ -615,8 +616,9 @@ if (debug) watch.markTimeBegin("findResource size=" + size); final Resource res = rMan.findResource(id); if (debug) watch.markTimeEnd("findResource size=" + size); - List list = (List) measCache.get(res.getId()); - if (null != measCache && null != list) { + List list; + if (null != measCache + && null != (list = (List)measCache.get(res.getId()))) { if (list.size() > 1) { log.warn("resourceId " + res.getId() + " has more than one availability measurement " + |
From: <sc...@hy...> - 2010-01-13 19:25:35
|
Author: scottmf Date: 2010-01-13 11:25:26 -0800 (Wed, 13 Jan 2010) New Revision: 14173 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14173 Modified: trunk/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java Log: [HHQ-3667] removed a couple NPE potentials Modified: trunk/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java =================================================================== --- trunk/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java 2010-01-13 18:15:23 UTC (rev 14172) +++ trunk/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java 2010-01-13 19:25:26 UTC (rev 14173) @@ -426,8 +426,9 @@ if (r == null || r.isInAsyncDeleteState()) { continue; } - Measurement meas = (Measurement)midMap.get(r.getId()); - if (null == midMap || null == meas) { + Measurement meas; + if (null == midMap + || null == (meas = (Measurement)midMap.get(r.getId()))) { if (debug) watch.markTimeBegin("getAvailabilityMeasurement"); meas = mMan.getAvailabilityMeasurement(r); if (debug) watch.markTimeEnd("getAvailabilityMeasurement"); @@ -615,23 +616,20 @@ if (debug) watch.markTimeBegin("findResource size=" + size); final Resource res = rMan.findResource(id); if (debug) watch.markTimeEnd("findResource size=" + size); - - if (null != measCache) { - List list = (List) measCache.get(res.getId()); - - if (null != list) { - if (list.size() > 1) { - log.warn("resourceId " + res.getId() + - " has more than one availability measurement " + - " assigned to it"); - } else if (list.size() <= 0) { - continue; - } - final Measurement m = (Measurement)list.get(0); - rtn.put(res.getId(), m); - } else { - toGet.add(res); + List list; + if (null != measCache + && null != (list = (List)measCache.get(res.getId()))) { + if (list.size() > 1) { + log.warn("resourceId " + res.getId() + + " has more than one availability measurement " + + " assigned to it"); + } else if (list.size() <= 0) { + continue; } + final Measurement m = (Measurement)list.get(0); + rtn.put(res.getId(), m); + } else { + toGet.add(res); } } if (debug) watch.markTimeBegin("getAvailMeasurements"); |
From: <dcr...@hy...> - 2010-01-13 18:15:40
|
Author: dcrutchf Date: 2010-01-13 10:15:23 -0800 (Wed, 13 Jan 2010) New Revision: 14172 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14172 Modified: trunk/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java Log: Added null check Modified: trunk/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java =================================================================== --- trunk/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java 2010-01-13 09:23:54 UTC (rev 14171) +++ trunk/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java 2010-01-13 18:15:23 UTC (rev 14172) @@ -615,19 +615,23 @@ if (debug) watch.markTimeBegin("findResource size=" + size); final Resource res = rMan.findResource(id); if (debug) watch.markTimeEnd("findResource size=" + size); - List list = (List) measCache.get(res.getId()); - if (null != measCache && null != list) { - if (list.size() > 1) { - log.warn("resourceId " + res.getId() + - " has more than one availability measurement " + - " assigned to it"); - } else if (list.size() <= 0) { - continue; + + if (null != measCache) { + List list = (List) measCache.get(res.getId()); + + if (null != list) { + if (list.size() > 1) { + log.warn("resourceId " + res.getId() + + " has more than one availability measurement " + + " assigned to it"); + } else if (list.size() <= 0) { + continue; + } + final Measurement m = (Measurement)list.get(0); + rtn.put(res.getId(), m); + } else { + toGet.add(res); } - final Measurement m = (Measurement)list.get(0); - rtn.put(res.getId(), m); - } else { - toGet.add(res); } } if (debug) watch.markTimeBegin("getAvailMeasurements"); |
From: <bo...@hy...> - 2010-01-13 09:24:03
|
Author: bob Date: 2010-01-13 01:23:54 -0800 (Wed, 13 Jan 2010) New Revision: 14171 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14171 Modified: trunk/etc/version.properties Log: Release 4.3.0 build #1318 Modified: trunk/etc/version.properties =================================================================== --- trunk/etc/version.properties 2010-01-13 01:38:00 UTC (rev 14170) +++ trunk/etc/version.properties 2010-01-13 09:23:54 UTC (rev 14171) @@ -1,3 +1,3 @@ -#Tue Jan 12 00:27:26 PST 2010 +#Wed Jan 13 00:28:37 PST 2010 version=4.3.0 -build=1317 +build=1318 |
From: <sc...@hy...> - 2010-01-13 02:06:12
|
Author: scottmf Date: 2010-01-12 17:35:56 -0800 (Tue, 12 Jan 2010) New Revision: 14169 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14169 Modified: trunk/src/org/hyperic/hq/appdef/server/session/ApplicationManagerEJBImpl.java trunk/src/org/hyperic/hq/bizapp/server/session/MeasurementBossEJBImpl.java trunk/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java trunk/src/org/hyperic/hq/measurement/server/session/AvailabilityManagerEJBImpl.java Log: [HHQ-3667] consolidated queries to speed up loading of availability indicators in the resource hub for Applications Modified: trunk/src/org/hyperic/hq/appdef/server/session/ApplicationManagerEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/appdef/server/session/ApplicationManagerEJBImpl.java 2010-01-13 00:29:25 UTC (rev 14168) +++ trunk/src/org/hyperic/hq/appdef/server/session/ApplicationManagerEJBImpl.java 2010-01-13 01:35:56 UTC (rev 14169) @@ -38,6 +38,7 @@ import org.hyperic.hq.appdef.server.session.Application; import org.hyperic.hq.appdef.server.session.ApplicationType; +import org.hyperic.hq.appdef.shared.AppServiceValue; import org.hyperic.hq.appdef.shared.AppdefDuplicateNameException; import org.hyperic.hq.appdef.shared.AppdefEntityConstants; import org.hyperic.hq.appdef.shared.AppdefEntityID; @@ -329,8 +330,9 @@ * Find application by name * @param subject - who * @param name - name of app + * @ejb:interface-method */ - private Application findApplicationByName(AuthzSubject subject, String name) + public Application findApplicationByName(AuthzSubject subject, String name) throws ApplicationNotFoundException, PermissionException { Application app = getApplicationDAO().findByName(name); if (app == null) { @@ -400,6 +402,21 @@ } /** + * @return {@link List} of {@link Resource} + * @ejb:interface-method + */ + public List getApplicationResources(AuthzSubject subject, Integer appId) + throws ApplicationNotFoundException, PermissionException { + List services = getApplicationServices(subject, appId); + List rtn = new ArrayList(services.size()); + for (Iterator it=services.iterator(); it.hasNext(); ) { + AppServiceValue val = (AppServiceValue) it.next(); + rtn.add(val.getService().getResource()); + } + return rtn; + } + + /** * Get all the application services for this application * @param subject * @param appId Modified: trunk/src/org/hyperic/hq/bizapp/server/session/MeasurementBossEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/bizapp/server/session/MeasurementBossEJBImpl.java 2010-01-13 00:29:25 UTC (rev 14168) +++ trunk/src/org/hyperic/hq/bizapp/server/session/MeasurementBossEJBImpl.java 2010-01-13 01:35:56 UTC (rev 14169) @@ -2983,7 +2983,15 @@ public double getAvailability(AuthzSubject subj, AppdefEntityID id) throws AppdefEntityNotFoundException, PermissionException { - return getAvailability(subj, id, null, null); + final Map measCache = + getMetricManager().getAvailMeasurements(Collections.singleton(id)); + Map availCache = null; + if (id.isApplication()) { + List members = + getApplicationManager().getApplicationResources(subj, id.getId()); + availCache = getAvailManager().getLastAvail(members, measCache); + } + return getAvailability(subj, id, measCache, availCache); } /** @@ -2997,9 +3005,8 @@ throws AppdefEntityNotFoundException, PermissionException { StopWatch watch = new StopWatch(); - if (_log.isDebugEnabled()) - _log.debug("BEGIN getAvailability()"); - + final boolean debug = _log.isDebugEnabled(); + if (debug) _log.debug("BEGIN getAvailability()"); try { if (id.isGroup()) { return getGroupAvailability( @@ -3007,18 +3014,22 @@ } else if (id.isApplication()) { AppdefEntityValue appVal = new AppdefEntityValue(id, subject); + if (debug) watch.markTimeBegin("getFlattenedServiceIds"); AppdefEntityID[] services = appVal.getFlattenedServiceIds(); + if (debug) watch.markTimeEnd("getFlattenedServiceIds"); - return getAggregateAvailability( + if (debug) watch.markTimeBegin("getAggregateAvailability"); + double rtn = getAggregateAvailability( subject, services, measCache, availCache); + if (debug) watch.markTimeEnd("getAggregateAvailability"); + return rtn; } AppdefEntityID[] ids = new AppdefEntityID[] { id }; return getAvailability( subject, ids, getMidMap(ids, measCache), availCache)[0]; } finally { - if (_log.isDebugEnabled()) - _log.debug("END getAvailability() -- " + watch); + if (debug) _log.debug("END getAvailability() -- " + watch); } } Modified: trunk/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java =================================================================== --- trunk/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java 2010-01-13 00:29:25 UTC (rev 14168) +++ trunk/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java 2010-01-13 01:35:56 UTC (rev 14169) @@ -39,12 +39,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.hyperic.hq.appdef.Agent; -import org.hyperic.hq.appdef.server.session.AgentManagerEJBImpl; import org.hyperic.hq.appdef.server.session.AppdefResource; import org.hyperic.hq.appdef.server.session.PlatformType; -import org.hyperic.hq.appdef.shared.AgentManagerLocal; -import org.hyperic.hq.appdef.shared.AgentNotFoundException; import org.hyperic.hq.appdef.shared.AppdefCompatException; import org.hyperic.hq.appdef.shared.AppdefEntityConstants; import org.hyperic.hq.appdef.shared.AppdefEntityID; @@ -83,6 +79,7 @@ import org.hyperic.hq.measurement.shared.MeasurementManagerLocal; import org.hyperic.hq.product.MetricValue; import org.hyperic.util.pager.PageControl; +import org.hyperic.util.timer.StopWatch; public class MetricSessionEJB extends BizappSessionEJB { private Log log = LogFactory.getLog(MetricSessionEJB.class.getName()); @@ -407,47 +404,58 @@ throws ApplicationNotFoundException, AppdefEntityNotFoundException, PermissionException { - final AgentManagerLocal agentMan = AgentManagerEJBImpl.getOne(); final double[] result = new double[ids.length]; Arrays.fill(result, MeasurementConstants.AVAIL_UNKNOWN); final Map data = new HashMap(); final MeasurementManagerLocal mMan = getMetricManager(); final ResourceManagerLocal rMan = getResourceManager(); final AvailabilityManagerLocal aMan = getAvailManager(); + final StopWatch watch = new StopWatch(); + final boolean debug = log.isDebugEnabled(); + final Map prefetched = new HashMap(); if (midMap.size() > 0) { final List mids = new ArrayList(); final List aeids = Arrays.asList(ids); + final int size = aeids.size(); for (final Iterator it=aeids.iterator(); it.hasNext(); ) { final AppdefEntityID aeid = (AppdefEntityID)it.next(); + if (debug) watch.markTimeBegin("findResource size=" + size); final Resource r = rMan.findResource(aeid); + if (debug) watch.markTimeEnd("findResource size=" + size); + prefetched.put(aeid, r); if (r == null || r.isInAsyncDeleteState()) { continue; } - Measurement meas; - if (null == midMap || - null == (meas = (Measurement)midMap.get(r.getId()))) { + Measurement meas = (Measurement)midMap.get(r.getId()); + if (null == midMap || null == meas) { + if (debug) watch.markTimeBegin("getAvailabilityMeasurement"); meas = mMan.getAvailabilityMeasurement(r); + if (debug) watch.markTimeEnd("getAvailabilityMeasurement"); } if (meas == null) { continue; } - MetricValue mv; - if (null != availCache && - null != (mv = (MetricValue)availCache.get(meas.getId()))) { - data.put(meas.getId(), mv); + if (availCache != null) { + MetricValue mv = (MetricValue)availCache.get(meas.getId()); + if (mv != null) { + data.put(meas.getId(), mv); + } else { + mids.add(meas.getId()); + } } else { mids.add(meas.getId()); } } + if (debug) watch.markTimeBegin("getLastAvail"); data.putAll( aMan.getLastAvail((Integer[])mids.toArray(new Integer[0]))); + if (debug) watch.markTimeEnd("getLastAvail"); } - - // Organize by agent - HashMap toGetLive = new HashMap(); - for (int i = 0; i < ids.length; i++) { - final Resource r = rMan.findResource(ids[i]); + Resource r = (Resource) prefetched.get(ids[i]); + if (r == null) { + r = rMan.findResource(ids[i]); + } if (r == null || r.isInAsyncDeleteState()) { continue; } @@ -456,21 +464,6 @@ MetricValue mval = null; if (null != (mval = (MetricValue)data.get(mid))) { result[i] = mval.getValue(); - } else { - // First figure out if the agent of this appdef entity - // already has a list - try { - Agent agent = agentMan.getAgent(ids[i]); - List toGetLiveList; - if (null == (toGetLiveList = (List)toGetLive.get(agent))) { - toGetLiveList = new ArrayList(); - toGetLive.put(agent, toGetLiveList); - } - // Now add to list - toGetLiveList.add(new Integer(i)); - } catch (AgentNotFoundException e) { - result[i] = AVAIL_DOWN; - } } } else { // cases for abstract resources whose availability are xor'd @@ -478,21 +471,28 @@ case AppdefEntityConstants.APPDEF_TYPE_APPLICATION : AppdefEntityValue appVal = new AppdefEntityValue(ids[i], subject); + if (debug) watch.markTimeBegin("getFlattenedServiceIds"); AppdefEntityID[] services = appVal.getFlattenedServiceIds(); + if (debug) watch.markTimeEnd("getFlattenedServiceIds"); + if (debug) watch.markTimeBegin("getAggregateAvailability"); result[i] = getAggregateAvailability( subject, services, null, availCache); + if (debug) watch.markTimeEnd("getAggregateAvailability"); break; case AppdefEntityConstants.APPDEF_TYPE_GROUP : + if (debug) watch.markTimeBegin("getGroupAvailability"); result[i] = getGroupAvailability( subject, ids[i].getId(), null, null); + if (debug) watch.markTimeEnd("getGroupAvailability"); break; default : break; } } } + if (debug) log.debug(watch); return result; } @@ -533,39 +533,31 @@ Map measCache, Map availCache) throws AppdefEntityNotFoundException, PermissionException { - if (ids.length == 0) + if (ids.length == 0) { return MeasurementConstants.AVAIL_UNKNOWN; - - // Break them up and do 5 at a time - int length = 5; + } + final StopWatch watch = new StopWatch(); + final boolean debug = log.isDebugEnabled(); double sum = 0; int count = 0; int unknownCount = 0; final Map midMap = getMidMap(ids, measCache); - for (int ind = 0; ind < ids.length; ind += length) { - if (ids.length - ind < length) { - length = ids.length - ind; - } - AppdefEntityID[] subids = new AppdefEntityID[length]; - for (int i = ind; i < ind + length; i++) { - subids[i - ind] = ids[i]; - } - double[] avails = - getAvailability(subject, subids, midMap, availCache); - for (int i = 0; i < avails.length; i++) { - if (avails[i] == MeasurementConstants.AVAIL_UNKNOWN) { - unknownCount++; - } else { - sum += avails[i]; - count++; - } + if (debug) watch.markTimeBegin("getAvailability"); + double[] avails = getAvailability(subject, ids, midMap, availCache); + if (debug) watch.markTimeEnd("getAvailability"); + for (int i = 0; i < avails.length; i++) { + if (avails[i] == MeasurementConstants.AVAIL_UNKNOWN) { + unknownCount++; + } else { + sum += avails[i]; + count++; } - } - - if (unknownCount == ids.length) + } + if (unknownCount == ids.length) { // All resources are unknown return MeasurementConstants.AVAIL_UNKNOWN; - + } + if (debug) log.debug(watch); return sum / count; } @@ -601,6 +593,8 @@ } /** + * @param measCache {@link Map} of {@link Integer} of Resource.getId() to + * {@link List} of {@link Measurement} * @return {@link Map} of {@link Integer} to {@link Measurement} * Integer = Resource.getId() */ @@ -609,15 +603,20 @@ final ResourceManagerLocal rMan = getResourceManager(); final MeasurementManagerLocal mMan = getMetricManager(); final List toGet = new ArrayList(); - for (final Iterator it=Arrays.asList(ids).iterator(); it.hasNext(); ) { + final boolean debug = log.isDebugEnabled(); + final StopWatch watch = new StopWatch(); + final List aeids = Arrays.asList(ids); + final int size = aeids.size(); + for (final Iterator it=aeids.iterator(); it.hasNext(); ) { final AppdefEntityID id = (AppdefEntityID)it.next(); if (id == null) { continue; } + if (debug) watch.markTimeBegin("findResource size=" + size); final Resource res = rMan.findResource(id); - List list; - if (null != measCache && - null != (list = (List)measCache.get(res.getId()))) { + if (debug) watch.markTimeEnd("findResource size=" + size); + List list = (List) measCache.get(res.getId()); + if (null != measCache && null != list) { if (list.size() > 1) { log.warn("resourceId " + res.getId() + " has more than one availability measurement " + @@ -631,7 +630,9 @@ toGet.add(res); } } + if (debug) watch.markTimeBegin("getAvailMeasurements"); final Map measMap = mMan.getAvailMeasurements(toGet); + if (debug) watch.markTimeEnd("getAvailMeasurements"); for (final Iterator it=measMap.entrySet().iterator(); it.hasNext(); ) { final Map.Entry entry = (Map.Entry)it.next(); final Integer id = (Integer)entry.getKey(); @@ -648,6 +649,7 @@ } rtn.put(r.getId(), m); } + if (debug) log.debug(watch); return rtn; } Modified: trunk/src/org/hyperic/hq/measurement/server/session/AvailabilityManagerEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/measurement/server/session/AvailabilityManagerEJBImpl.java 2010-01-13 00:29:25 UTC (rev 14168) +++ trunk/src/org/hyperic/hq/measurement/server/session/AvailabilityManagerEJBImpl.java 2010-01-13 01:35:56 UTC (rev 14169) @@ -555,7 +555,9 @@ * {@link AppdefEntityId}, {@link AppdefEntityValue}, * {@link AppdefResourceValue} or {@link Integer} * @param measCache Map<Integer, List> optional arg (may be null) to supply - * measurement id(s) of ResourceIds. Integer => Resource.getId() + * measurement id(s) of ResourceIds. Integer => Resource.getId(). If a + * measurement is not specified in the measCache parameter it will be added + * to the map * @return Map<Integer, MetricValue> Integer => Measurement.getId() * @ejb:interface-method */ @@ -602,6 +604,15 @@ final List mids = (List)it.next(); for (final Iterator iter=mids.iterator(); iter.hasNext(); ) { final Measurement m = (Measurement)iter.next(); + // populate the Map if value doesn't exist + if (measCache != null && measCache != Collections.EMPTY_MAP) { + List measids = (List) measCache.get(m.getResource().getId()); + if (measids == null) { + measids = new ArrayList(); + } + measids.add(m); + measCache.put(m.getResource(), m); + } midsToGet.add(m.getId()); } } |
From: <sc...@hy...> - 2010-01-13 02:06:11
|
Author: scottmf Date: 2010-01-12 17:38:00 -0800 (Tue, 12 Jan 2010) New Revision: 14170 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14170 Modified: branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/appdef/server/session/ApplicationManagerEJBImpl.java branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/MeasurementBossEJBImpl.java branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/measurement/server/session/AvailabilityManagerEJBImpl.java Log: [HHQ-3667] consolidated queries to speed up loading of availability indicators in the resource hub for Applications Modified: branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/appdef/server/session/ApplicationManagerEJBImpl.java =================================================================== --- branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/appdef/server/session/ApplicationManagerEJBImpl.java 2010-01-13 01:35:56 UTC (rev 14169) +++ branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/appdef/server/session/ApplicationManagerEJBImpl.java 2010-01-13 01:38:00 UTC (rev 14170) @@ -38,6 +38,7 @@ import org.hyperic.hq.appdef.server.session.Application; import org.hyperic.hq.appdef.server.session.ApplicationType; +import org.hyperic.hq.appdef.shared.AppServiceValue; import org.hyperic.hq.appdef.shared.AppdefDuplicateNameException; import org.hyperic.hq.appdef.shared.AppdefEntityConstants; import org.hyperic.hq.appdef.shared.AppdefEntityID; @@ -329,8 +330,9 @@ * Find application by name * @param subject - who * @param name - name of app + * @ejb:interface-method */ - private Application findApplicationByName(AuthzSubject subject, String name) + public Application findApplicationByName(AuthzSubject subject, String name) throws ApplicationNotFoundException, PermissionException { Application app = getApplicationDAO().findByName(name); if (app == null) { @@ -400,6 +402,21 @@ } /** + * @return {@link List} of {@link Resource} + * @ejb:interface-method + */ + public List getApplicationResources(AuthzSubject subject, Integer appId) + throws ApplicationNotFoundException, PermissionException { + List services = getApplicationServices(subject, appId); + List rtn = new ArrayList(services.size()); + for (Iterator it=services.iterator(); it.hasNext(); ) { + AppServiceValue val = (AppServiceValue) it.next(); + rtn.add(val.getService().getResource()); + } + return rtn; + } + + /** * Get all the application services for this application * @param subject * @param appId Modified: branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/MeasurementBossEJBImpl.java =================================================================== --- branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/MeasurementBossEJBImpl.java 2010-01-13 01:35:56 UTC (rev 14169) +++ branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/MeasurementBossEJBImpl.java 2010-01-13 01:38:00 UTC (rev 14170) @@ -2983,7 +2983,15 @@ public double getAvailability(AuthzSubject subj, AppdefEntityID id) throws AppdefEntityNotFoundException, PermissionException { - return getAvailability(subj, id, null, null); + final Map measCache = + getMetricManager().getAvailMeasurements(Collections.singleton(id)); + Map availCache = null; + if (id.isApplication()) { + List members = + getApplicationManager().getApplicationResources(subj, id.getId()); + availCache = getAvailManager().getLastAvail(members, measCache); + } + return getAvailability(subj, id, measCache, availCache); } /** @@ -2997,9 +3005,8 @@ throws AppdefEntityNotFoundException, PermissionException { StopWatch watch = new StopWatch(); - if (_log.isDebugEnabled()) - _log.debug("BEGIN getAvailability()"); - + final boolean debug = _log.isDebugEnabled(); + if (debug) _log.debug("BEGIN getAvailability()"); try { if (id.isGroup()) { return getGroupAvailability( @@ -3007,18 +3014,22 @@ } else if (id.isApplication()) { AppdefEntityValue appVal = new AppdefEntityValue(id, subject); + if (debug) watch.markTimeBegin("getFlattenedServiceIds"); AppdefEntityID[] services = appVal.getFlattenedServiceIds(); + if (debug) watch.markTimeEnd("getFlattenedServiceIds"); - return getAggregateAvailability( + if (debug) watch.markTimeBegin("getAggregateAvailability"); + double rtn = getAggregateAvailability( subject, services, measCache, availCache); + if (debug) watch.markTimeEnd("getAggregateAvailability"); + return rtn; } AppdefEntityID[] ids = new AppdefEntityID[] { id }; return getAvailability( subject, ids, getMidMap(ids, measCache), availCache)[0]; } finally { - if (_log.isDebugEnabled()) - _log.debug("END getAvailability() -- " + watch); + if (debug) _log.debug("END getAvailability() -- " + watch); } } Modified: branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java =================================================================== --- branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java 2010-01-13 01:35:56 UTC (rev 14169) +++ branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/bizapp/server/session/MetricSessionEJB.java 2010-01-13 01:38:00 UTC (rev 14170) @@ -39,12 +39,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.hyperic.hq.appdef.Agent; -import org.hyperic.hq.appdef.server.session.AgentManagerEJBImpl; import org.hyperic.hq.appdef.server.session.AppdefResource; import org.hyperic.hq.appdef.server.session.PlatformType; -import org.hyperic.hq.appdef.shared.AgentManagerLocal; -import org.hyperic.hq.appdef.shared.AgentNotFoundException; import org.hyperic.hq.appdef.shared.AppdefCompatException; import org.hyperic.hq.appdef.shared.AppdefEntityConstants; import org.hyperic.hq.appdef.shared.AppdefEntityID; @@ -83,6 +79,7 @@ import org.hyperic.hq.measurement.shared.MeasurementManagerLocal; import org.hyperic.hq.product.MetricValue; import org.hyperic.util.pager.PageControl; +import org.hyperic.util.timer.StopWatch; public class MetricSessionEJB extends BizappSessionEJB { private Log log = LogFactory.getLog(MetricSessionEJB.class.getName()); @@ -407,47 +404,58 @@ throws ApplicationNotFoundException, AppdefEntityNotFoundException, PermissionException { - final AgentManagerLocal agentMan = AgentManagerEJBImpl.getOne(); final double[] result = new double[ids.length]; Arrays.fill(result, MeasurementConstants.AVAIL_UNKNOWN); final Map data = new HashMap(); final MeasurementManagerLocal mMan = getMetricManager(); final ResourceManagerLocal rMan = getResourceManager(); final AvailabilityManagerLocal aMan = getAvailManager(); + final StopWatch watch = new StopWatch(); + final boolean debug = log.isDebugEnabled(); + final Map prefetched = new HashMap(); if (midMap.size() > 0) { final List mids = new ArrayList(); final List aeids = Arrays.asList(ids); + final int size = aeids.size(); for (final Iterator it=aeids.iterator(); it.hasNext(); ) { final AppdefEntityID aeid = (AppdefEntityID)it.next(); + if (debug) watch.markTimeBegin("findResource size=" + size); final Resource r = rMan.findResource(aeid); + if (debug) watch.markTimeEnd("findResource size=" + size); + prefetched.put(aeid, r); if (r == null || r.isInAsyncDeleteState()) { continue; } - Measurement meas; - if (null == midMap || - null == (meas = (Measurement)midMap.get(r.getId()))) { + Measurement meas = (Measurement)midMap.get(r.getId()); + if (null == midMap || null == meas) { + if (debug) watch.markTimeBegin("getAvailabilityMeasurement"); meas = mMan.getAvailabilityMeasurement(r); + if (debug) watch.markTimeEnd("getAvailabilityMeasurement"); } if (meas == null) { continue; } - MetricValue mv; - if (null != availCache && - null != (mv = (MetricValue)availCache.get(meas.getId()))) { - data.put(meas.getId(), mv); + if (availCache != null) { + MetricValue mv = (MetricValue)availCache.get(meas.getId()); + if (mv != null) { + data.put(meas.getId(), mv); + } else { + mids.add(meas.getId()); + } } else { mids.add(meas.getId()); } } + if (debug) watch.markTimeBegin("getLastAvail"); data.putAll( aMan.getLastAvail((Integer[])mids.toArray(new Integer[0]))); + if (debug) watch.markTimeEnd("getLastAvail"); } - - // Organize by agent - HashMap toGetLive = new HashMap(); - for (int i = 0; i < ids.length; i++) { - final Resource r = rMan.findResource(ids[i]); + Resource r = (Resource) prefetched.get(ids[i]); + if (r == null) { + r = rMan.findResource(ids[i]); + } if (r == null || r.isInAsyncDeleteState()) { continue; } @@ -456,21 +464,6 @@ MetricValue mval = null; if (null != (mval = (MetricValue)data.get(mid))) { result[i] = mval.getValue(); - } else { - // First figure out if the agent of this appdef entity - // already has a list - try { - Agent agent = agentMan.getAgent(ids[i]); - List toGetLiveList; - if (null == (toGetLiveList = (List)toGetLive.get(agent))) { - toGetLiveList = new ArrayList(); - toGetLive.put(agent, toGetLiveList); - } - // Now add to list - toGetLiveList.add(new Integer(i)); - } catch (AgentNotFoundException e) { - result[i] = AVAIL_DOWN; - } } } else { // cases for abstract resources whose availability are xor'd @@ -478,21 +471,28 @@ case AppdefEntityConstants.APPDEF_TYPE_APPLICATION : AppdefEntityValue appVal = new AppdefEntityValue(ids[i], subject); + if (debug) watch.markTimeBegin("getFlattenedServiceIds"); AppdefEntityID[] services = appVal.getFlattenedServiceIds(); + if (debug) watch.markTimeEnd("getFlattenedServiceIds"); + if (debug) watch.markTimeBegin("getAggregateAvailability"); result[i] = getAggregateAvailability( subject, services, null, availCache); + if (debug) watch.markTimeEnd("getAggregateAvailability"); break; case AppdefEntityConstants.APPDEF_TYPE_GROUP : + if (debug) watch.markTimeBegin("getGroupAvailability"); result[i] = getGroupAvailability( subject, ids[i].getId(), null, null); + if (debug) watch.markTimeEnd("getGroupAvailability"); break; default : break; } } } + if (debug) log.debug(watch); return result; } @@ -533,39 +533,31 @@ Map measCache, Map availCache) throws AppdefEntityNotFoundException, PermissionException { - if (ids.length == 0) + if (ids.length == 0) { return MeasurementConstants.AVAIL_UNKNOWN; - - // Break them up and do 5 at a time - int length = 5; + } + final StopWatch watch = new StopWatch(); + final boolean debug = log.isDebugEnabled(); double sum = 0; int count = 0; int unknownCount = 0; final Map midMap = getMidMap(ids, measCache); - for (int ind = 0; ind < ids.length; ind += length) { - if (ids.length - ind < length) { - length = ids.length - ind; - } - AppdefEntityID[] subids = new AppdefEntityID[length]; - for (int i = ind; i < ind + length; i++) { - subids[i - ind] = ids[i]; - } - double[] avails = - getAvailability(subject, subids, midMap, availCache); - for (int i = 0; i < avails.length; i++) { - if (avails[i] == MeasurementConstants.AVAIL_UNKNOWN) { - unknownCount++; - } else { - sum += avails[i]; - count++; - } + if (debug) watch.markTimeBegin("getAvailability"); + double[] avails = getAvailability(subject, ids, midMap, availCache); + if (debug) watch.markTimeEnd("getAvailability"); + for (int i = 0; i < avails.length; i++) { + if (avails[i] == MeasurementConstants.AVAIL_UNKNOWN) { + unknownCount++; + } else { + sum += avails[i]; + count++; } - } - - if (unknownCount == ids.length) + } + if (unknownCount == ids.length) { // All resources are unknown return MeasurementConstants.AVAIL_UNKNOWN; - + } + if (debug) log.debug(watch); return sum / count; } @@ -601,6 +593,8 @@ } /** + * @param measCache {@link Map} of {@link Integer} of Resource.getId() to + * {@link List} of {@link Measurement} * @return {@link Map} of {@link Integer} to {@link Measurement} * Integer = Resource.getId() */ @@ -609,15 +603,20 @@ final ResourceManagerLocal rMan = getResourceManager(); final MeasurementManagerLocal mMan = getMetricManager(); final List toGet = new ArrayList(); - for (final Iterator it=Arrays.asList(ids).iterator(); it.hasNext(); ) { + final boolean debug = log.isDebugEnabled(); + final StopWatch watch = new StopWatch(); + final List aeids = Arrays.asList(ids); + final int size = aeids.size(); + for (final Iterator it=aeids.iterator(); it.hasNext(); ) { final AppdefEntityID id = (AppdefEntityID)it.next(); if (id == null) { continue; } + if (debug) watch.markTimeBegin("findResource size=" + size); final Resource res = rMan.findResource(id); - List list; - if (null != measCache && - null != (list = (List)measCache.get(res.getId()))) { + if (debug) watch.markTimeEnd("findResource size=" + size); + List list = (List) measCache.get(res.getId()); + if (null != measCache && null != list) { if (list.size() > 1) { log.warn("resourceId " + res.getId() + " has more than one availability measurement " + @@ -631,7 +630,9 @@ toGet.add(res); } } + if (debug) watch.markTimeBegin("getAvailMeasurements"); final Map measMap = mMan.getAvailMeasurements(toGet); + if (debug) watch.markTimeEnd("getAvailMeasurements"); for (final Iterator it=measMap.entrySet().iterator(); it.hasNext(); ) { final Map.Entry entry = (Map.Entry)it.next(); final Integer id = (Integer)entry.getKey(); @@ -648,6 +649,7 @@ } rtn.put(r.getId(), m); } + if (debug) log.debug(watch); return rtn; } Modified: branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/measurement/server/session/AvailabilityManagerEJBImpl.java =================================================================== --- branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/measurement/server/session/AvailabilityManagerEJBImpl.java 2010-01-13 01:35:56 UTC (rev 14169) +++ branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/measurement/server/session/AvailabilityManagerEJBImpl.java 2010-01-13 01:38:00 UTC (rev 14170) @@ -554,7 +554,9 @@ * {@link AppdefEntityId}, {@link AppdefEntityValue}, * {@link AppdefResourceValue} or {@link Integer} * @param measCache Map<Integer, List> optional arg (may be null) to supply - * measurement id(s) of ResourceIds. Integer => Resource.getId() + * measurement id(s) of ResourceIds. Integer => Resource.getId(). If a + * measurement is not specified in the measCache parameter it will be added + * to the map * @return Map<Integer, MetricValue> Integer => Measurement.getId() * @ejb:interface-method */ @@ -601,6 +603,15 @@ final List mids = (List)it.next(); for (final Iterator iter=mids.iterator(); iter.hasNext(); ) { final Measurement m = (Measurement)iter.next(); + // populate the Map if value doesn't exist + if (measCache != null && measCache != Collections.EMPTY_MAP) { + List measids = (List) measCache.get(m.getResource().getId()); + if (measids == null) { + measids = new ArrayList(); + } + measids.add(m); + measCache.put(m.getResource(), m); + } midsToGet.add(m.getId()); } } |
From: <sc...@hy...> - 2010-01-13 00:59:30
|
Author: scottmf Date: 2010-01-12 16:29:25 -0800 (Tue, 12 Jan 2010) New Revision: 14168 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14168 Modified: branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java Log: [HHQ-3663] reworked getNavMapDataForGroup() to work around oracle exception when the aeids exceed 1000 Modified: branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java =================================================================== --- branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java 2010-01-13 00:28:06 UTC (rev 14167) +++ branches/HQ_4_2_0_PATCH/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java 2010-01-13 00:29:25 UTC (rev 14168) @@ -1587,29 +1587,21 @@ .getName()), groupVo.getEntityId(), ResourceTreeNode.CLUSTER); - final Collection agEntries = groupVo.getAppdefGroupEntries(); + final List agEntries = groupVo.getAppdefGroupEntries(); if (agEntries.size() == 0) { return new ResourceTreeNode[] {grpNode}; } - ResourceTreeNode[] retVal; - Statement stmt; - ResultSet rs; - final StringBuilder grpSqlStmt = new StringBuilder(); - int entityType; - Set entitySet; + ResourceTreeNode[] retVal = null; + final StringBuilder grpSqlStmt = new StringBuilder(); final boolean debug = log.isDebugEnabled(); - - stmt = null; - rs = null; - retVal = null; - entityType = groupVo.getGroupEntType(); - + int entityType = groupVo.getGroupEntType(); try { final Connection conn = getDBConn(); - - final String resJoin = - " JOIN " + TBL_RES + " res on resource_id = res.id "; - + final String resJoin = new StringBuilder() + .append(" JOIN ") + .append(TBL_RES) + .append(" res on resource_id = res.id ") + .toString(); switch (entityType) { case APPDEF_TYPE_PLATFORM : grpSqlStmt.append("SELECT p.id as platform_id, res.name as platform_name ") @@ -1635,46 +1627,20 @@ } if (debug) log.debug(grpSqlStmt); - entitySet = new HashSet(); + Set entitySet = new HashSet(agEntries.size()); - int x; - Iterator i; Map entNameMap = new HashMap(); if (groupVo.getTotalSize() > 0) { - try { - stmt = conn.createStatement(); - - for (x=1,i=agEntries.iterator(); i.hasNext(); x++) { - final AppdefEntityID mem = (AppdefEntityID) i.next(); - grpSqlStmt.append(((x==1) ? "" : ",")) - .append(mem.getID()); - - if (debug) log.debug("Arg " + x + ": " + mem.getID()); - } - - grpSqlStmt.append(")"); - StopWatch timer = new StopWatch(); - - if (debug) log.debug("SQL: " + grpSqlStmt); - - rs = stmt.executeQuery(grpSqlStmt.toString()); - - if (debug) { - log.debug("getNavMapDataForGroup() executed in: " + timer); - } - - while (rs.next()) { - int thisEntityId = rs.getInt(1); - String thisEntityName = rs.getString(2); - entNameMap.put(new Integer(thisEntityId), - thisEntityName); - } - } finally { - DBUtil.closeJDBCObjects(logCtx, null, stmt, rs); + final int max = Util.getHQDialect().getMaxExpressions(); + final int batchSize = (max < 0) ? Integer.MAX_VALUE : max; + for (int ii=0; ii<agEntries.size(); ii+=batchSize) { + int end = Math.min(ii+batchSize, agEntries.size()); + List list = agEntries.subList(ii, end); + setEntNameMap(entNameMap, list, conn, grpSqlStmt); } // Let group member order drive node creation (not db order). - for (i=groupVo.getAppdefGroupEntries().iterator();i.hasNext();) { + for (Iterator i=groupVo.getAppdefGroupEntries().iterator();i.hasNext();) { AppdefEntityID id = (AppdefEntityID)i.next(); entitySet.add ( new ResourceTreeNode ( @@ -1695,14 +1661,48 @@ retVal = new ResourceTreeNode[] { grpNode }; - } catch (SQLException e) { - throw e; } finally { disconnect(); } return retVal; } + private void setEntNameMap(Map entNameMap, List list, Connection conn, + StringBuilder grpSqlStmt) throws SQLException { + if (list.size() == 0) { + return; + } + final boolean debug = log.isDebugEnabled(); + // don't overwrite the caller's object + grpSqlStmt = new StringBuilder(grpSqlStmt); + Statement stmt = null; + ResultSet rs = null; + try { + stmt = conn.createStatement(); + int x=1; + for (Iterator i=list.iterator(); i.hasNext(); ) { + final AppdefEntityID mem = (AppdefEntityID) i.next(); + if (debug) log.debug("Arg " + x + ": " + mem.getID()); + grpSqlStmt.append((x++==1 ? "" : ",")) + .append(mem.getID()); + } + grpSqlStmt.append(")"); + StopWatch timer = new StopWatch(); + if (debug) log.debug("SQL: " + grpSqlStmt); + rs = stmt.executeQuery(grpSqlStmt.toString()); + if (debug) { + log.debug("getNavMapDataForGroup() executed in: " + timer); + } + while (rs.next()) { + int thisEntityId = rs.getInt(1); + String thisEntityName = rs.getString(2); + entNameMap.put(new Integer(thisEntityId), thisEntityName); + } + } finally { + DBUtil.closeJDBCObjects(logCtx, null, stmt, rs); + } + } + // The methods in this class should call getDBConn() to obtain a connection, // because it also initializes the private database-related variables private Connection getDBConn() throws SQLException { |
From: <sc...@hy...> - 2010-01-13 00:59:30
|
Author: scottmf Date: 2010-01-12 16:28:06 -0800 (Tue, 12 Jan 2010) New Revision: 14167 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14167 Modified: trunk/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java Log: [HHQ-3663] reworked getNavMapDataForGroup() to work around oracle exception when the aeids exceed 1000 Modified: trunk/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java 2010-01-12 09:17:19 UTC (rev 14166) +++ trunk/src/org/hyperic/hq/appdef/server/session/AppdefStatManagerEJBImpl.java 2010-01-13 00:28:06 UTC (rev 14167) @@ -1587,29 +1587,21 @@ .getName()), groupVo.getEntityId(), ResourceTreeNode.CLUSTER); - final Collection agEntries = groupVo.getAppdefGroupEntries(); + final List agEntries = groupVo.getAppdefGroupEntries(); if (agEntries.size() == 0) { return new ResourceTreeNode[] {grpNode}; } - ResourceTreeNode[] retVal; - Statement stmt; - ResultSet rs; - final StringBuilder grpSqlStmt = new StringBuilder(); - int entityType; - Set entitySet; + ResourceTreeNode[] retVal = null; + final StringBuilder grpSqlStmt = new StringBuilder(); final boolean debug = log.isDebugEnabled(); - - stmt = null; - rs = null; - retVal = null; - entityType = groupVo.getGroupEntType(); - + int entityType = groupVo.getGroupEntType(); try { final Connection conn = getDBConn(); - - final String resJoin = - " JOIN " + TBL_RES + " res on resource_id = res.id "; - + final String resJoin = new StringBuilder() + .append(" JOIN ") + .append(TBL_RES) + .append(" res on resource_id = res.id ") + .toString(); switch (entityType) { case APPDEF_TYPE_PLATFORM : grpSqlStmt.append("SELECT p.id as platform_id, res.name as platform_name ") @@ -1635,46 +1627,20 @@ } if (debug) log.debug(grpSqlStmt); - entitySet = new HashSet(); + Set entitySet = new HashSet(agEntries.size()); - int x; - Iterator i; Map entNameMap = new HashMap(); if (groupVo.getTotalSize() > 0) { - try { - stmt = conn.createStatement(); - - for (x=1,i=agEntries.iterator(); i.hasNext(); x++) { - final AppdefEntityID mem = (AppdefEntityID) i.next(); - grpSqlStmt.append(((x==1) ? "" : ",")) - .append(mem.getID()); - - if (debug) log.debug("Arg " + x + ": " + mem.getID()); - } - - grpSqlStmt.append(")"); - StopWatch timer = new StopWatch(); - - if (debug) log.debug("SQL: " + grpSqlStmt); - - rs = stmt.executeQuery(grpSqlStmt.toString()); - - if (debug) { - log.debug("getNavMapDataForGroup() executed in: " + timer); - } - - while (rs.next()) { - int thisEntityId = rs.getInt(1); - String thisEntityName = rs.getString(2); - entNameMap.put(new Integer(thisEntityId), - thisEntityName); - } - } finally { - DBUtil.closeJDBCObjects(logCtx, null, stmt, rs); + final int max = Util.getHQDialect().getMaxExpressions(); + final int batchSize = (max < 0) ? Integer.MAX_VALUE : max; + for (int ii=0; ii<agEntries.size(); ii+=batchSize) { + int end = Math.min(ii+batchSize, agEntries.size()); + List list = agEntries.subList(ii, end); + setEntNameMap(entNameMap, list, conn, grpSqlStmt); } // Let group member order drive node creation (not db order). - for (i=groupVo.getAppdefGroupEntries().iterator();i.hasNext();) { + for (Iterator i=groupVo.getAppdefGroupEntries().iterator();i.hasNext();) { AppdefEntityID id = (AppdefEntityID)i.next(); entitySet.add ( new ResourceTreeNode ( @@ -1695,14 +1661,48 @@ retVal = new ResourceTreeNode[] { grpNode }; - } catch (SQLException e) { - throw e; } finally { disconnect(); } return retVal; } + private void setEntNameMap(Map entNameMap, List list, Connection conn, + StringBuilder grpSqlStmt) throws SQLException { + if (list.size() == 0) { + return; + } + final boolean debug = log.isDebugEnabled(); + // don't overwrite the caller's object + grpSqlStmt = new StringBuilder(grpSqlStmt); + Statement stmt = null; + ResultSet rs = null; + try { + stmt = conn.createStatement(); + int x=1; + for (Iterator i=list.iterator(); i.hasNext(); ) { + final AppdefEntityID mem = (AppdefEntityID) i.next(); + if (debug) log.debug("Arg " + x + ": " + mem.getID()); + grpSqlStmt.append((x++==1 ? "" : ",")) + .append(mem.getID()); + } + grpSqlStmt.append(")"); + StopWatch timer = new StopWatch(); + if (debug) log.debug("SQL: " + grpSqlStmt); + rs = stmt.executeQuery(grpSqlStmt.toString()); + if (debug) { + log.debug("getNavMapDataForGroup() executed in: " + timer); + } + while (rs.next()) { + int thisEntityId = rs.getInt(1); + String thisEntityName = rs.getString(2); + entNameMap.put(new Integer(thisEntityId), thisEntityName); + } + } finally { + DBUtil.closeJDBCObjects(logCtx, null, stmt, rs); + } + } + // The methods in this class should call getDBConn() to obtain a connection, // because it also initializes the private database-related variables private Connection getDBConn() throws SQLException { |
From: <no...@gi...> - 2010-01-12 23:58:44
|
Branch: refs/heads/master Home: http://github.com/hyperic/hqapi Commit: 18ca733f595ed11aa717e49b3d7693cc44985222 http://github.com/hyperic/hqapi/commit/18ca733f595ed11aa717e49b3d7693cc44985222 Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Changed paths: M hqu/hqapi1/plugin.properties Log Message: ----------- Bump to 1.8. Commit: 6cc4557e81397594f3ea20da5bf706642ba5dfef http://github.com/hyperic/hqapi/commit/6cc4557e81397594f3ea20da5bf706642ba5dfef Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Changed paths: M hqu/hqapi1/app/AlertdefinitionController.groovy Log Message: ----------- Merge branch 'hqapi-1.0' of github.com:hyperic/hqapi into hqapi-1.0 Commit: 2b122158d1afcd2e34d48bf592ad1b35df803707 http://github.com/hyperic/hqapi/commit/2b122158d1afcd2e34d48bf592ad1b35df803707 Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Log Message: ----------- Merge branch 'hqapi-1.0' into hqapi-2.x Commit: f8382d4eb04764698e5a68ae28f5f79ca23a57b0 http://github.com/hyperic/hqapi/commit/f8382d4eb04764698e5a68ae28f5f79ca23a57b0 Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Changed paths: M hqu/hqapi1/app/ApplicationController.groovy Log Message: ----------- [HHQ-3664] Increase application update/create by not using Groovy's Collection.minus() and pre-fetch the application inventory prior to the session being marked read-write. Commit: 3fc5a34af112eb193ab5738a20dc557e220eea12 http://github.com/hyperic/hqapi/commit/3fc5a34af112eb193ab5738a20dc557e220eea12 Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Changed paths: M hqu/hqapi1/app/ApplicationController.groovy Log Message: ----------- Merge branch 'hqapi-1.0' into hqapi-2.x Commit: 2f100f3b7a65f2ece973556cc305eb7777612859 http://github.com/hyperic/hqapi/commit/2f100f3b7a65f2ece973556cc305eb7777612859 Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Changed paths: M ChangeLog Log Message: ----------- Add ChangeLog entry for HHQ-3664 Commit: b47744b5dbbe2d7869d20c542d90c88bd184345e http://github.com/hyperic/hqapi/commit/b47744b5dbbe2d7869d20c542d90c88bd184345e Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Changed paths: M ChangeLog M hqu/hqapi1/app/ApplicationController.groovy Log Message: ----------- Merge branch 'hqapi-2.x' |
From: <no...@gi...> - 2010-01-12 23:58:44
|
Branch: refs/heads/hqapi-2.x Home: http://github.com/hyperic/hqapi Commit: f8382d4eb04764698e5a68ae28f5f79ca23a57b0 http://github.com/hyperic/hqapi/commit/f8382d4eb04764698e5a68ae28f5f79ca23a57b0 Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Changed paths: M hqu/hqapi1/app/ApplicationController.groovy Log Message: ----------- [HHQ-3664] Increase application update/create by not using Groovy's Collection.minus() and pre-fetch the application inventory prior to the session being marked read-write. Commit: 3fc5a34af112eb193ab5738a20dc557e220eea12 http://github.com/hyperic/hqapi/commit/3fc5a34af112eb193ab5738a20dc557e220eea12 Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Changed paths: M hqu/hqapi1/app/ApplicationController.groovy Log Message: ----------- Merge branch 'hqapi-1.0' into hqapi-2.x Commit: 2f100f3b7a65f2ece973556cc305eb7777612859 http://github.com/hyperic/hqapi/commit/2f100f3b7a65f2ece973556cc305eb7777612859 Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Changed paths: M ChangeLog Log Message: ----------- Add ChangeLog entry for HHQ-3664 |
From: <no...@gi...> - 2010-01-12 23:58:41
|
Branch: refs/heads/hqapi-1.0 Home: http://github.com/hyperic/hqapi Commit: f8382d4eb04764698e5a68ae28f5f79ca23a57b0 http://github.com/hyperic/hqapi/commit/f8382d4eb04764698e5a68ae28f5f79ca23a57b0 Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Changed paths: M hqu/hqapi1/app/ApplicationController.groovy Log Message: ----------- [HHQ-3664] Increase application update/create by not using Groovy's Collection.minus() and pre-fetch the application inventory prior to the session being marked read-write. |
From: <no...@gi...> - 2010-01-12 23:29:22
|
Branch: refs/heads/hqapi-2.x Home: http://github.com/hyperic/hqapi Commit: 18ca733f595ed11aa717e49b3d7693cc44985222 http://github.com/hyperic/hqapi/commit/18ca733f595ed11aa717e49b3d7693cc44985222 Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Changed paths: M hqu/hqapi1/plugin.properties Log Message: ----------- Bump to 1.8. Commit: 6cc4557e81397594f3ea20da5bf706642ba5dfef http://github.com/hyperic/hqapi/commit/6cc4557e81397594f3ea20da5bf706642ba5dfef Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Changed paths: M hqu/hqapi1/app/AlertdefinitionController.groovy Log Message: ----------- Merge branch 'hqapi-1.0' of github.com:hyperic/hqapi into hqapi-1.0 Commit: 2b122158d1afcd2e34d48bf592ad1b35df803707 http://github.com/hyperic/hqapi/commit/2b122158d1afcd2e34d48bf592ad1b35df803707 Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Log Message: ----------- Merge branch 'hqapi-1.0' into hqapi-2.x |
From: <no...@gi...> - 2010-01-12 23:29:20
|
Branch: refs/heads/hqapi-1.0 Home: http://github.com/hyperic/hqapi Commit: 18ca733f595ed11aa717e49b3d7693cc44985222 http://github.com/hyperic/hqapi/commit/18ca733f595ed11aa717e49b3d7693cc44985222 Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Changed paths: M hqu/hqapi1/plugin.properties Log Message: ----------- Bump to 1.8. Commit: 6cc4557e81397594f3ea20da5bf706642ba5dfef http://github.com/hyperic/hqapi/commit/6cc4557e81397594f3ea20da5bf706642ba5dfef Author: Ryan Morgan <rm...@hy...> Date: 2010-01-12 (Tue, 12 Jan 2010) Changed paths: M hqu/hqapi1/app/AlertdefinitionController.groovy Log Message: ----------- Merge branch 'hqapi-1.0' of github.com:hyperic/hqapi into hqapi-1.0 |
From: Tatiana Al-C. <tat...@gm...> - 2010-01-12 18:01:59
|
Hi all! How should I build Sigar so I can use it with Python? I've just downloaded hyperic-sigar-1.6.3 from SourceForge, unpacked it and, from bindings/python, ran: $ python setup.py install I tried running this under Fedora 12 and MacOS X 10.5, but the same error occured (attached error log). I also checked out the source from the svn repository, and the same error occured. Thanks in advance! Tatiana ----- running install running build running build_py creating build creating build/lib.macosx-10.3-fat-2.6 copying sigar.py -> build/lib.macosx-10.3-fat-2.6 running build_ext building '_sigar' extension creating build/temp.macosx-10.3-fat-2.6 gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -I../java/sigar-bin/include -I/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c _sigar.c -o build/temp.macosx-10.3-fat-2.6/_sigar.o -Wall _sigar.c:20:19: error: sigar.h: No such file or directory _sigar.c:21:28: error: sigar_fileinfo.h: No such file or directory _sigar.c:22:26: error: sigar_format.h: No such file or directory (...) error: command 'gcc' failed with exit status 1 |
From: Tatiana Al-C. <tat...@gm...> - 2010-01-12 18:01:59
|
Hi all! Good news: just tested trunk revision and it worked perfectly both for MacOS X and Fedora. Thanks! Tatiana |
From: Tatiana Al-C. <tat...@gm...> - 2010-01-12 18:01:58
|
The solution to the problem was to update source from trunk (current revision is 5237). |
From: <no...@gi...> - 2010-01-12 15:58:37
|
Branch: refs/heads/master Home: http://github.com/hyperic/hqapi Commit: 40b1fb03eeefdc1c5c872d62aa86a21e836b0504 http://github.com/hyperic/hqapi/commit/40b1fb03eeefdc1c5c872d62aa86a21e836b0504 Author: pnguyen <pnguyen@192.168.1.66> Date: 2010-01-12 (Tue, 12 Jan 2010) Changed paths: M src/org/hyperic/hq/hqapi1/test/AlertDefinitionSync_test.java Log Message: ----------- Update integration test to validate HHQ-3624 |