Menu

#4339 [HHQ-4191] ui calls have too much overhead grabbing jdbc con

Bug
open
None
5
2012-10-09
2010-08-17
No

http://jira.hyperic.com/browse/HHQ-4191
Here is a sample of all the counts of methods calling getConnection() in different areas of our app by just browsing around a couple pages in the ui after startup (I filtered some of the bigger ones which aren't associated with the UI)



This is caused by objects outside the spring container calling @Transactional beans inside the spring container. getConnection() is just a part of the entire overhead as each of these calls have a lot of hidden calls due to aop.



If we could bundle up the calls so that everything occurs inside the spring container, we'd be much better off from a performance perspective.



 123 org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)


  18 org.hyperic.hq.ui.server.session.UIPluginDeployer$1.fileAdded(UIPluginDeployer.java:79)


  15 org.hyperic.hq.ui.servlet.AvailabilityBaseServlet.doGet(AvailabilityBaseServlet.java:114)


  15 <unknown>


  10 org.quartz.impl.jdbcjobstore.AttributeRestoringConnectionInvocationHandler.setAutoCommit(AttributeRestoringConnectionInvocationHandler.java:83)


   9 org.hyperic.hq.events.server.session.HQDBHealthChecker$HQDBHealthTask.run(HQDBHealthChecker.java:111)


   7 org.hyperic.hq.ui.taglib.HelpTag.doStartTag(HelpTag.java:66)


   5 org.hyperic.hq.ui.taglib.RecentAlertsTag.doStartTag(RecentAlertsTag.java:141)


   5 org.hyperic.hq.ui.taglib.RecentAlertsTag.doStartTag(RecentAlertsTag.java:131)


   4 org.hyperic.hq.ui.action.resource.common.monitor.visibility.IndicatorChartsAction.getMetrics(IndicatorChartsAction.java:154)


   4 org.hyperic.hq.ui.action.resource.common.monitor.visibility.IndicatorChartsAction.getMetrics(IndicatorChartsAction.java:138)


   4 org.hyperic.hq.ui.action.portlet.recentresources.ViewAction.getStuff(ViewAction.java:110)


   4 org.hyperic.hq.ui.action.common.HeaderAction.execute(HeaderAction.java:66)


   4 org.hyperic.hq.events.server.session.AlertRegulatorImpl.alertsAllowed(AlertRegulatorImpl.java:49)


   2 org.hyperic.hq.ui.util.DashboardUtils.findUserDashboardConfig(DashboardUtils.java:365)


   2 org.hyperic.hq.ui.taglib.UserResourcePermission.doStartTag(UserResourcePermission.java:72)


   2 org.hyperic.hq.ui.taglib.ResourceBreadcrumbTag.processBreadcrumb(ResourceBreadcrumbTag.java:158)


   2 org.hyperic.hq.ui.taglib.NavMapTag._getResourceTree(NavMapTag.java:291)


   2 org.hyperic.hq.ui.service.RESTService.loadDashboardConfig(RESTService.java:773)


   2 org.hyperic.hq.ui.service.RESTService.getAuthzSubject(RESTService.java:756)


   2 org.hyperic.hq.ui.action.resource.service.monitor.VisibilityPortalAction.findServersHealths(VisibilityPortalAction.java:130)


   2 org.hyperic.hq.ui.action.resource.service.monitor.VisibilityPortalAction.findServersHealths(VisibilityPortalAction.java:129)


   2 org.hyperic.hq.ui.action.resource.service.monitor.VisibilityPortalAction.findServersHealths(VisibilityPortalAction.java:124)


   2 org.hyperic.hq.ui.action.resource.ResourceController.setResource(ResourceController.java:157)


   2 org.hyperic.hq.ui.action.resource.ResourceController.setResource(ResourceController.java:145)


   2 org.hyperic.hq.ui.action.resource.ResourceController.setResource(ResourceController.java:129)


   2 org.hyperic.hq.ui.action.resource.ResourceController.setResource(ResourceController.java:126)


   2 org.hyperic.hq.ui.action.resource.ResourceController.setResource(ResourceController.java:123)


   2 org.hyperic.hq.ui.action.resource.common.QuickFavoritesPrepareAction.workflow(QuickFavoritesPrepareAction.java:83)


   2 org.hyperic.hq.ui.action.resource.common.monitor.visibility.TimelineAction.execute(TimelineAction.java:88)


   2 org.hyperic.hq.ui.action.resource.common.monitor.visibility.ListVirtualsAction.execute(ListVirtualsAction.java:81)


   2 org.hyperic.hq.ui.action.resource.common.monitor.visibility.InventoryHelper.isResourceConfigured(InventoryHelper.java:259)


   2 org.hyperic.hq.ui.action.resource.common.monitor.visibility.InventoryHelper.isResourceConfigured(InventoryHelper.java:246)


   2 org.hyperic.hq.ui.action.resource.common.monitor.visibility.CurrentHealthAction.execute(CurrentHealthAction.java:120)


   2 org.hyperic.hq.ui.action.resource.common.monitor.visibility.CurrentHealthAction.execute(CurrentHealthAction.java:113)


   2 org.hyperic.hq.ui.action.portlet.addcontent.ViewAction.execute(ViewAction.java:79)


   2 com.hyperic.hq.ui.util.UIUtilsImpl.setResourceFlags(UIUtilsImpl.java:96)


   2 com.hyperic.hq.ui.action.resource.common.monitor.visibility.ProblemMetricsDisplayAction.execute(ProblemMetricsDisplayAction.java:142)


   1 org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:1236)


   1 org.hyperic.util.jdbc.DBUtil.getDBType(DBUtil.java:222)


   1 org.hyperic.hq.ui.security.UISessionInitializationStrategy.loadDashboard(UISessionInitializationStrategy.java:121)


   1 org.hyperic.hq.ui.security.UISessionInitializationStrategy.loadDashboard(UISessionInitializationStrategy.java:118)


   1 org.hyperic.hq.ui.security.BaseSessionInitializationStrategy.onAuthentication(BaseSessionInitializationStrategy.java:75)


   1 org.hyperic.hq.ui.security.BaseSessionInitializationStrategy.onAuthentication(BaseSessionInitializationStrategy.java:100)


   1 org.hyperic.hq.ui.security.BaseSessionInitializationStrategy.loadUserPermissions(BaseSessionInitializationStrategy.java:145)


   1 org.hyperic.hq.ui.security.BaseSessionInitializationStrategy.getUserPreferences(BaseSessionInitializationStrategy.java:160)


   1 org.hyperic.hq.ui.login.LoginController.login(LoginController.java:60)


   1 org.hyperic.hq.ui.action.resource.hub.ResourceHubPortalAction.execute(ResourceHubPortalAction.java:409)


   1 org.hyperic.hq.ui.action.resource.hub.ResourceHubPortalAction.execute(ResourceHubPortalAction.java:378)


   1 org.hyperic.hq.ui.action.resource.hub.ResourceHubPortalAction.execute(ResourceHubPortalAction.java:327)


   1 org.hyperic.hq.ui.action.resource.hub.ResourceHubPortalAction.execute(ResourceHubPortalAction.java:303)


   1 org.hyperic.hq.ui.action.resource.hub.ResourceHubPortalAction.execute(ResourceHubPortalAction.java:279)


   1 org.hyperic.hq.ui.action.resource.common.monitor.visibility.IndicatorChartsAction.getViewMetrics(IndicatorChartsAction.java:383)


   1 org.hyperic.hq.ui.action.portlet.search.ViewAction.execute(ViewAction.java:62)


   1 org.hyperic.hq.ui.action.portlet.savedqueries.ViewAction.execute(ViewAction.java:87)


   1 org.hyperic.hq.ui.action.portlet.resourcehealth.ViewAction.execute(ViewAction.java:89)


   1 org.hyperic.hq.ui.action.portlet.resourcehealth.ViewAction.execute(ViewAction.java:114)


   1 org.hyperic.hq.ui.action.portlet.resourcehealth.ViewAction.execute(ViewAction.java:107)


   1 org.hyperic.hq.ui.action.portlet.recentlyApproved.ViewAction.execute(ViewAction.java:91)


   1 org.hyperic.hq.ui.action.portlet.recentlyApproved.ViewAction.execute(ViewAction.java:81)


   1 org.hyperic.hq.ui.action.portlet.DisplayDashboardAction.execute(DisplayDashboardAction.java:95)


   1 org.hyperic.hq.ui.action.portlet.DisplayDashboardAction.execute(DisplayDashboardAction.java:231)


   1 org.hyperic.hq.ui.action.portlet.DisplayDashboardAction.execute(DisplayDashboardAction.java:165)


   1 org.hyperic.hq.ui.action.portlet.DisplayDashboardAction.execute(DisplayDashboardAction.java:103)


   1 org.hyperic.hq.ui.action.portlet.criticalalerts.ViewAction.execute(ViewAction.java:92)


   1 org.hyperic.hq.ui.action.portlet.criticalalerts.ViewAction.execute(ViewAction.java:143)


   1 org.hyperic.hq.ui.action.portlet.criticalalerts.ViewAction.execute(ViewAction.java:135)


   1 org.hyperic.hq.ui.action.portlet.controlactions.ViewAction.execute(ViewAction.java:88)


   1 org.hyperic.hq.ui.action.portlet.controlactions.ViewAction.execute(ViewAction.java:141)


   1 org.hyperic.hq.ui.action.portlet.controlactions.ViewAction.execute(ViewAction.java:115)


   1 org.hyperic.hq.ui.action.portlet.controlactions.ViewAction.execute(ViewAction.java:109)


   1 org.hyperic.hq.ui.action.portlet.availsummary.ViewAction.execute(ViewAction.java:99)


   1 org.hyperic.hq.ui.action.portlet.availsummary.ViewAction.execute(ViewAction.java:162)


   1 org.hyperic.hq.ui.action.portlet.autoDisc.ViewAction.execute(ViewAction.java:97)


   1 org.hyperic.hq.ui.action.portlet.autoDisc.ViewAction.execute(ViewAction.java:91)


   1 org.hyperic.hq.ui.action.portlet.autoDisc.ViewAction.execute(ViewAction.java:104)


   1 org.hyperic.hq.security.JdbcHQAuthenticationProvider.authenticate(JdbcHQAuthenticationProvider.java:53)


   1 org.hyperic.hq.security.InternalAuthenticationProvider.authenticate(InternalAuthenticationProvider.java:54)


   1 org.hyperic.hq.security.InternalAuthenticationProvider.authenticate(InternalAuthenticationProvider.java:45)


   1 org.hyperic.hq.product.server.session.ProductManagerImpl.preload(ProductManagerImpl.java:238)


   1 org.hyperic.hq.measurement.server.session.ReportStatsCollector.initialize(ReportStatsCollector.java:88)


   1 org.hyperic.hq.measurement.server.session.MeasurementSystemInitializer.prefetchEnabledMeasurementsAndTemplates(MeasurementSystemInitializer.java:122)


   1 org.hyperic.hq.measurement.server.session.MeasurementSystemInitializer.init(MeasurementSystemInitializer.java:72)


   1 org.hyperic.hq.measurement.server.session.DataCompressImpl$CommonRoutines.runRoutines(DataCompressImpl.java:164)


   1 org.hyperic.hq.ha.server.session.HAStarter.startHAService(HAStarter.java:26)


   1 org.hyperic.hq.ha.server.session.HAServiceImpl$1.run(HAServiceImpl.java:62)


   1 org.hyperic.hq.events.server.session.RegisteredTriggerManagerImpl.cleanupRegisteredTriggers(RegisteredTriggerManagerImpl.java:120)


   1 org.hyperic.hq.escalation.server.session.EscalationRuntimeInitializer.startEscalationManager(EscalationRuntimeInitializer.java:45)


   1 org.hyperic.hq.dao.PrincipalDAO.findByUsername(PrincipalDAO.java:57)


   1 [org.hyperic.hq.ConnectionIdentifier@40]


   1 org.hyperic.hq.common.server.session.Crispo.toResponse(Crispo.java:94)


   1 org.hyperic.hq.common.server.session.Crispo$$EnhancerByCGLIB$$bdac6e77.toResponse(<generated>)


   1 org.hyperic.hq.bizapp.server.session.ResourceCleanupEventListener.processEvents(ResourceCleanupEventListener.java:48)


   1 org.hyperic.hq.bizapp.server.session.ResourceCleanupEventListenerInitializer.init(ResourceCleanupEventListenerInitializer.java:20)


   1 org.hyperic.hq.autoinventory.server.session.AutoinventoryManagerImpl.createDependentManagers(AutoinventoryManagerImpl.java:867)


   1 org.hyperic.hq.autoinventory.server.session.AgentAIScanServiceImpl.notifyAgents(AgentAIScanServiceImpl.java:53)


   1 org.hyperic.hq.authz.server.session.AuthzSubject$$EnhancerByCGLIB$$6d12ca3a.getName(<generated>)


   1 org.hyperic.hq.auth.server.session.UserAuditFactory.loginAudit(UserAuditFactory.java:41)


   1 org.hyperic.hibernate.id.HQMultipleHiLoPerTableGenerator.executeInNewTransaction(HQMultipleHiLoPerTableGenerator.java:213)


   1 com.hyperic.hq.ui.action.portlet.problemresources.ViewAction.execute(ViewAction.java:94)


   1 com.hyperic.hq.ui.action.portlet.problemresources.ViewAction.execute(ViewAction.java:63)


   1 com.hyperic.hq.rt.server.session.ResponseTimeManagerImpl.afterPropertiesSet(ResponseTimeManagerImpl.java:246)


   1 com.hyperic.hq.measurement.server.session.MeasurementInserterManager.setupInserter(MeasurementInserterManager.java:61)

Discussion

Anonymous
Anonymous

Add attachments
Cancel





Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.