discoveredbyte - java performance monitoring, tuning and optimization - key performance findings...
DESCRIPTION
Key Performance Findings Report. The report focuses on the key indicators of the monitored case and significantly reduces the time required to analyze collected information and identify bottlenecks. It features the areas that influence performance of the application the most, whether it is individual execution or cumulative impact on the system due to high frequency of use, and/or areas that create abnormally high load on the system as a whole. System Alerts - Alerts section lists events with execution time or resource utilization exceeding predefined thresholds. Resources Utilization - The CPU graph shows total general CPU utilization by Java Virtual Machine (JVM), as well as consumption by the most demanding individual threads within JVM, as the percentage of the total server's CPU. Resources Utilization - The Memory graph shows memory utilization by the Java Virtual Machine. Memory consumption is expected to grow until it is released by the garbage collector (GC). Up and down fluctuations are normal and indicate that the system is healthy. However, behavior when memory drops to increasingly higher level and oscillations grow shorter, while top line lingers around maximal available memory, may indicate memory leak in the system, or simply higher demand that JVM can provide. In such case, the execution of the application is constrained by total available memory and JVM might eventually crash. User Experience - Additional factors that may impact user experience are network latency and browser-side processing time. The execution time shown on the graph represents minimum user wait time which could be achieved when user has adequately equipped workstation and negligible network delays. Heavy Methods - The section lists twenty methods with the longest execution time, along with the details pinpointing the reasons. For each of the listed in the table methods, report offers additional supporting information about repeatedly executed sub-methods, methods with highest net execution time, methods causing the highest CPU utilization, total time spent on database queries and the Heaviest SQL queries. Heavy Methods by Total Net - The section lists the methods with longest total net time, which are directly responsible for the duration of the execution. Net time is calculated as full duration time minus full duration time of methods that are called directly from the method in question. The list could contain low-level methods, including I/O methods and other event waits. All Queries Totals - The section highlights portion of the overall execution time that was spend on database queries. The data could be one of the quick indicators on whether the performance issues are database related. Heavy Queries by Total Duration - While one execution of the query doesn't take long time to execute, the queries listed in this section were executed enough times to account for the significant total execution time.TRANSCRIPT
Consolidated Report of the Key Findings"Demo - Premium resolution(89)"
The report focuses on the key indicators of the monitored case and significantly reduces the time required to analyze collected information and identify bottlenecks.
It features the areas that influence performance of the application the most, whether it is individual execution or cumulative impact on the system due to high frequency of use, and/or areas that create abnormally high load on the system as a whole.
Thresholds
Name Red Alert Yellow Alert
Heavy methods: 10000 (ms) 5000 (ms)
Heavy pages: 10000 (ms) 5000 (ms)
Heavy SQLs: 3000 (ms) 1000 (ms)
Too Many SQLs: 300 (count) 100 (count)
Heavy Threads: 25 (cpu %) 3 (cpu %)
System Alerts
Alerts section lists events with execution time or resource utilization exceeding predefined thresholds.
To avoid excessive alerts while monitoring the cases impacted by significant performance degradation, the default threshold settings reflect behavior of an application performing worse than average. If the default thresholds values render too much information or too few results, they could be manually adjusted in 'Manage Case and Thresholds Settings' section of the analyzed case. If required, modified thresholds could be reset back to their default values.
6 methods with max execution time longer than 10 sec
3 methods with max execution time longer than 5 sec and less than 10 sec
2 pages with max execution time longer than 10 sec
3 pages with max execution time longer than 5 sec and less than 10 sec
1 SQL statement that was executed more that 300 times
Threads 13 consuming on average more than 25% cpu each
Threads 34, 70 consuming on average more than 3% cpu and less han 25% cpu each
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
1
Resources Utilization - CPU
The graph below shows total general CPU utilization by Java Virtual Machine (JVM), as well as consumption by the most demanding individual threads within JVM, as the percentage of the total server's CPU.
In HTML format, dragging mouse along the thread's graph will provide additional details at every point with significant JVM consumption. If utilization of the CPU exceeds 70% for the substantial amount of monitored time, application's performance could be constrained by the availability of the systems resources; hence, appropriate server scaling considerations might be required.
JVM CPU Usage Peak - 31% Avg - 8%
Threads 13 consuming on average more than 25% cpu eachThreads 34, 70 consuming on average more than 3% cpu and less han 25% cpu each
JVM CPU by Thread UtilizationIndividual Threads CPU against JVM CPU
20:20:15 20:21:30 20:21:45 20:22:00 20:22:15 20:22:30 20:22:45 20:23:00 20:23:15 20:23:30 20:23:45 20:24:00 20:24:30
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
2
Resources Utilization - Memory
The graph below shows memory utilization by the Java Virtual Machine.
Memory consumption is expected to grow until it is released by the garbage collector (GC). Up and down fluctuations are normal and indicate that the system is healthy. However, behavior when memory drops to increasingly higher level and oscillations grow shorter, while top line lingers around maximal available memory, may indicate memory leak in the system, or simply higher demand that JVM can provide. In such case, the execution of the application is constrained by total available memory and JVM might eventually crash.
JVM Memory Usage Peak - 396MB Avg - 247MB
JVM Memory UtilizationMax Available Memory 1029 MB
20:21:30 20:22:00 20:22:30 20:23:00 20:23:30 20:24:00 20:24:30 20:25:00 20:25:30
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
3
User Experience
The graph below shows the top-level server-side execution that comes in response to the user actions or client-side scripts, which contributed to user wait time.
Additional factors that may impact user experience are network latency and browser-side processing time. The execution time shown on the graph represents minimum user wait time which could be achieved when user has adequately equipped workstation and negligible network delays.
2 pages with max execution time longer than 10 sec3 pages with max execution time longer than 5 sec and less than 10 sec
Top 20 displayed.
Page/Method User's IP Full Duration (ms)jsp_servlet._demo._lib._xschemes._flow.__assignmentmanagerscheme._jspService 192.168.10.124 50817
jsp_servlet._demo._lib._uicomposition.__navigationbar._jspService 192.168.10.124 50813
jsp_servlet._acme._jsp._pcomp.__tray_container._jspService 192.168.10.124 9284
jsp_servlet._demo._lib._xschemes._tray.__tray._jspService 192.168.10.124 8351
jsp_servlet._acme._jsp._demo.__login._jspService 192.168.10.124 5006
User Experience Server Side Execution
20:21:30 20:21:45 20:22:00 20:22:15 20:22:30 20:22:45 20:23:00 20:23:15 20:23:30 20:23:45 20:24:00 20:24:15 20:24:30
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
4
Heavy Methods
The section lists twenty methods with the longest execution time, along with the details pinpointing the reasons.
For each of the listed in the table methods, report offers additional supporting information about repeatedly executed sub-methods, methods with highest net execution time, methods causing the highest CPU utilization, total time spent on database queries and the Heaviest SQL queries.
6 methods with max execution time longer than 10 sec3 methods with max execution time longer than 5 sec and less than 10 sec
Top 20 displayed.
Method Full Duration (ms)weblogic.servlet.internal.ServletRequestImpl.run 50821
weblogic.servlet.internal.ServletRequestImpl.run 50817
com.prefvendor.mat.schemeext.comp.Reserve$ClearReserveMonitor.run 30007
com.prefvendor.mat.schemeext.comp.Reserve$ClearReserveMonitor.run 30001
weblogic.servlet.internal.ServletRequestImpl.run 9406
weblogic.servlet.internal.WebAppModule.start 7238
weblogic.servlet.internal.ServletRequestImpl.run 6672
HEAVY METHODS F: Full Duration TF: Total Full Duration N: Net Duration TN: Total Net Duration C: Countweblogic.servlet.internal.ServletRequestImpl.run F:50821 ms N:0 ms
Execution highlightsRepeated Sub Method Execution
com.prefvendor.plm.PlProcEx.getVarMetaInfo TF:29466 ms C:7738com.prefvendor.plm.db.db.PlComplexInfoBrandDAOImplEx.getComplex TF:16446 ms C:7737com.prefvendor.pls.utils.DBUtils.executeQuery TF:13026 ms C:7737com.prefvendor.plm.PlProcEx.getComplexInfoBrand TF:16578 ms C:7736com.prefvendor.plm.db.db.PlComplexInfoBrandDAOImplEx.lookupComplexInfoBrand TF:16549 ms C:7736com.prefvendor.plm.db.db.PlComplexInfoBrandDAOImplEx.lookupComplexInfoBrand TF:16535 ms C:7736com.prefvendor.plm.db.db.PlComplexInfoBrandDAOImplEx.getComplexFromComplexName TF:16522 ms C:7736com.prefvendor.plm.PlFlowEx.getComplexInfoBrand TF:34648 ms C:7735com.prefvendor.plm.db.db.XMLStorageMappingUtils.getDefaultXMLInstance TF:8368 ms C:7600com.prefvendor.schemestorage.SysSchemesStorageService.getXMLDocument TF:8342 ms C:7595
Heavy Method by Total Fullcom.prefvendor.mat.scheme.ControlStub.doStartStub TF:50688 ms TN:0 ms C:2dbyte.demo.CalculateSalaryIncreaseEx.execute TF:50479 ms TN:3 ms C:4com.prefvendor.schemeengine.connector.inforoot.InfoConnectorExecutor.execute TF:50479 ms TN:0 ms C:4dbyte.demo.CalculateSalaryIncreaseEx.method TF:50476 ms TN:9 ms C:4dbyte.demo.CalculateSalaryIncreaseEx.calculateDepartmentalAdjustments TF:50442 ms TN:80 ms C:4com.prefvendor.plm.PlFlowEx.getComplexInfoValue TF:46270 ms TN:34 ms C:7140
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
5
com.prefvendor.plm.PlFlowEx.getComplexInfoBrand TF:31811 ms TN:36 ms C:7140com.prefvendor.plm.PlProcEx.getVarMetaInfo TF:26998 ms TN:71 ms C:7140com.prefvendor.plm.PlProcEx.getComplexInfoBrand TF:15238 ms TN:15 ms C:7140com.prefvendor.plm.db.db.PlComplexInfoBrandDAOImplEx.lookupComplexInfoBrand TF:15211 ms TN:8 ms C:7140
Heavy Method by Total Netcom.prefvendor.imp.util.io.InfoPipe.readSocket TF:10389 ms TN:10389 ms C:7146com.prefvendor.pls.utils.SysPathUtils.getValue TF:6610 ms TN:6603 ms C:6438com.prefvendor.tools.infomodel.imp.DBImpl.loadDocument TF:6058 ms TN:6058 ms C:6017com.prefvendor.imp.util.io.InfoPipe.readSocket TF:5930 ms TN:5930 ms C:5926com.prefvendor.imp.util.io.InfoPipe.readSocket TF:3320 ms TN:3320 ms C:3192com.prefvendor.imp.util.io.InfoPipe.readSocket TF:1102 ms TN:1102 ms C:607com.prefvendor.imp.util.io.InfoPipe.readSocket TF:887 ms TN:887 ms C:598com.prefvendor.imp.util.io.InfoPipe.readSocket TF:829 ms TN:829 ms C:829com.prefvendor.imp.util.io.InfoPipe.readSocket TF:594 ms TN:594 ms C:584com.prefvendor.tools.infomodel.imp.DBImpl.loadDocument TF:592 ms TN:592 ms C:586
Heavy by CPU usageTotal CPU time: 23.85 sec. Total Average CPU Server Utilization: 8.98%CPU Time 1.61 sec CPU Server Utilization 15.36%
java.net.SocketInputStream.socketRead0(Native Method)java.net.SocketInputStream.read(SocketInputStream.java:129)
com.prefvendor.imp.util.io.DataPipe.readSocket(Unknown Root)com.prefvendor.imp.util.io.DataPipe.readLength(Unknown Root)
com.prefvendor.imp.util.io.DataPipe.getIncomingMessageLength(Unknown Root)CPU Time 1.73 sec CPU Server Utilization 14.25%
java.io.WinNTFileSystem.getBooleanAttributes(Native Method)java.io.File.exists(File.java:733)
sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:999)sun.misc.URLClassPath$FileLoader.findResource(URLClassPath.java:966)
sun.misc.URLClassPath.findResource(URLClassPath.java:146)CPU Time 1.65 sec CPU Server Utilization 8.28%
java.net.SocketInputStream.socketRead0(Native Method)java.net.SocketInputStream.read(SocketInputStream.java:129)
com.prefvendor.imp.util.io.DataPipe.readSocket(Unknown Root)com.prefvendor.imp.util.io.DataPipe.readLength(Unknown Root)
com.prefvendor.imp.util.io.DataPipe.getIncomingMessageLength(Unknown Root)CPU Time 1.58 sec CPU Server Utilization 10.00%
com.prefvendor.imp.session.SessionHandle.getDBName(Unknown Root)com.prefvendor.plm.db.db.PlComplexInfoBrandDAOImplEx.getComplexReserveComptroller(Unknown Root)
com.prefvendor.plm.db.db.PlComplexInfoBrandDAOImplEx.getComplex(Unknown Root)com.prefvendor.plm.db.db.PlComplexInfoBrandDAOImplEx.getComplexFromComplexName(Unknown Root)
com.prefvendor.plm.db.db.PlComplexInfoBrandDAOImplEx.lookupComplexInfoBrand(Unknown Root)CPU Time 1.83 sec CPU Server Utilization 9.40%
java.net.SocketInputStream.socketRead0(Native Method)java.net.SocketInputStream.read(SocketInputStream.java:129)
com.prefvendor.imp.util.io.DataPipe.readSocket(Unknown Root)com.prefvendor.imp.util.io.DataPipe.readLength(Unknown Root)
com.prefvendor.imp.util.io.DataPipe.getIncomingMessageLength(Unknown Root)
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
6
CPU Time 1.64 sec CPU Server Utilization 10.00% java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:129)com.prefvendor.imp.util.io.DataPipe.readSocket(Unknown Root)
com.prefvendor.imp.util.io.DataPipe.readLength(Unknown Root)com.prefvendor.imp.util.io.DataPipe.getIncomingMessageLength(Unknown Root)
CPU Time 1.67 sec CPU Server Utilization 10.23% java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:129)com.prefvendor.imp.util.io.DataPipe.readSocket(Unknown Root)
com.prefvendor.imp.util.io.DataPipe.readLength(Unknown Root)com.prefvendor.imp.util.io.DataPipe.getIncomingMessageLength(Unknown Root)
CPU Time 1.58 sec CPU Server Utilization 7.00%java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:129)com.prefvendor.imp.util.io.DataPipe.readSocket(Unknown Root)
com.prefvendor.imp.util.io.DataPipe.readLength(Unknown Root)com.prefvendor.imp.util.io.DataPipe.getIncomingMessageLength(Unknown Root)
CPU Time 1.64 sec CPU Server Utilization 10.12% java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:129)com.prefvendor.imp.util.io.DataPipe.readSocket(Unknown Root)
com.prefvendor.imp.util.io.DataPipe.readLength(Unknown Root)com.prefvendor.imp.util.io.DataPipe.getIncomingMessageLength(Unknown Root)
CPU Time 1.48 sec CPU Server Utilization 7.00%java.net.SocketOutputStream.socketWrite0(Native Method)
java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)java.net.SocketOutputStream.write(SocketOutputStream.java:1311)
com.prefvendor.imp.util.io.DataPipe.writeSocket(Unknown Root)com.prefvendor.imp.util.io.DataPipe.write(Unknown Root)
Total SQL executionF:14480 ms C:8342 28.49% of the method execution
Repeated SQL executionselect link_id, modify_date from plm_brand_info where complex_name = 'acme_complex_hinfo' TF:13007 ms C:7736
weblogic.servlet.internal.ServletRequestImpl.run F:50817 ms N:0 ms Execution highlights
Repeated Sub Method Executioncom.prefvendor.mat.SessionSync.lock0 TF:50803 ms C:3com.prefvendor.mat.SessionSync.lock TF:50803 ms C:3com.prefvendor.mat.scheme.SchemeProcor.invokeMethod TF:50800 ms C:2com.prefvendor.mat.scheme.SchemeProcor.invokeMethod TF:50800 ms C:2
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
7
com.prefvendor.mat.scheme.SchemeProcor.lockSession TF:50799 ms C:2
com.prefvendor.mat.schemeext.comp.Reserve$ClearReserveMonitor.run F:30007 ms N:30007 ms Execution highlights
Method has no highlights
com.prefvendor.mat.schemeext.comp.Reserve$ClearReserveMonitor.run F:30001 ms N:30001 ms Execution highlights
Method has no highlights
weblogic.servlet.internal.ServletRequestImpl.run F:9406 ms N:0 msExecution highlights
Repeated Sub Method Executioncom.prefvendor.plm.infolist.ComplexUtil.isComplexProcVarVisible TF:267 ms C:241com.prefvendor.plm.assignmentlist.imp.AssignmentListReservedCollection.prepareOneRow TF:379 ms C:100com.prefvendor.mat.scheme.ControlStub.schemeatText TF:289 ms C:62com.prefvendor.mat.scheme.ControlStub.schemeatValue TF:288 ms C:61com.prefvendor.mat.scheme.ctrl.schemeat.ValueSchemeatterStub.schemeat TF:287 ms C:60com.prefvendor.mat.schemeext.ctrl.schemexschemesctrl.SysSchemesListValueSchemeatter.schemeat TF:283 ms C:58com.prefvendor.mat.scheme.ctrl.LinkStub.renderStart TF:287 ms C:57com.prefvendor.mat.schemeext.ctrl.schemeext.SysSchemesLinkStub.renderLinkStart TF:287 ms C:57com.prefvendor.mat.schemeext.ctrl.schemexschemesctrl.SysSchemesListValueSchemeatter.schemeatSingleValue TF:278 ms C:53com.prefvendor.mat.schemeext.ctrl.action.ActionMultiselectCheckboxStub.renderEnd TF:344 ms C:44
Heavy Method by Netweblogic.servlet.jsp.TagFileClassLoader.findClass F:514 ms N:514 mscom.prefvendor.tools.infomodel.util.SchemaUtility.getSchema F:273 ms N:273 mscom.prefvendor.mat.schemeext.ctrl.schemePLMSysSchemesProcorFactory.newInstance F:1745 ms N:245 mscom.prefvendor.mat.schemeext.ctrl.schemexschemesctrl.SysSchemesAssignmentList.updateControl F:244 ms N:238 msweblogic.servlet.jsp.TagFileClassLoader.findClass F:198 ms N:198 mscom.prefvendor.mat.scheme.ctrl.infobound.DbgridStub.findColumnName F:190 ms N:190 msweblogic.servlet.jsp.TagFileClassLoader.findClass F:183 ms N:183 mscom.prefvendor.plm.db.db.DAOHelper.getStorageMapping F:628 ms N:182 mscom.prefvendor.mat.schemeext.ctrl.schemexschemesctrl.SysSchemesListValueSchemeatter.schemeat F:178 ms N:175 msweblogic.servlet.jsp.TagFileClassLoader.findClass F:150 ms N:150 ms
Heavy Method by Total Fullcom.prefvendor.mat.scheme.ControlStub.doEndStub TF:9020 ms TN:8 ms C:3
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
8
com.prefvendor.mat.scheme.ControlStub.doEndStub TF:1533 ms TN:8 ms C:207weblogic.servlet.jsp.JspClassLoader.loadClass TF:1522 ms TN:0 ms C:19weblogic.servlet.jsp.JspClassLoader.findClass TF:1522 ms TN:1 ms C:19weblogic.servlet.jsp.TagFileClassLoader.findClass TF:1521 ms TN:1521 ms C:19weblogic.servlet.jsp.TagFileClassLoader.loadClass TF:1521 ms TN:0 ms C:19com.prefvendor.mat.scheme.ControlStub.doStartStub TF:1120 ms TN:1 ms C:98com.prefvendor.pcomp.schemetray.SysSchemesAssignmentListModule.getAttrDescriptor TF:741 ms TN:0 ms C:2com.prefvendor.mat.schemeext.action.ActionService.getActionDef TF:579 ms TN:4 ms C:40com.prefvendor.mat.scheme.ControlStub.getControl TF:519 ms TN:1 ms C:109
Heavy Method by Total Netweblogic.servlet.jsp.TagFileClassLoader.findClass TF:1521 ms TN:1521 ms C:19com.prefvendor.mat.schemeext.action.ActionService.newInstance TF:463 ms TN:463 ms C:18com.prefvendor.mat.scheme.ctrl.infobound.DbgridStub.findColumnName TF:191 ms TN:191 ms C:2com.prefvendor.mat.schemeext.ctrl.schemexschemesctrl.SysSchemesListValueSchemeatter.schemeat TF:221 ms TN:177 ms C:43
Heavy by CPU usageTotal CPU time: 3.48 sec. Total Average CPU Server Utilization: 12.59%CPU Time 2.04 sec CPU Server Utilization 24.49%
java.io.FileInputStream.readBytes(Native Method)java.io.FileInputStream.read(FileInputStream.java:220)
weblogic.utils.io.DataIO.readFully(DataIO.java:351)weblogic.utils.io.DataIO.readFully(DataIO.java:328)
weblogic.utils.classloaders.FileSource.getBytesInternal(FileSource.java:80)CPU Time 0.67 sec CPU Server Utilization 6.90%
java.io.FileInputStream.readBytes(Native Method)java.io.FileInputStream.read(FileInputStream.java:220)
weblogic.utils.io.DataIO.readFully(DataIO.java:351)weblogic.utils.io.DataIO.readFully(DataIO.java:328)
weblogic.utils.classloaders.FileSource.getBytesInternal(FileSource.java:80)Total SQL execution
F:150 ms C:23 1.59% of the method execution
weblogic.servlet.internal.WebAppModule.start F:7238 ms N:1 msExecution highlights
Repeated Sub Method Executioncom.prefvendor.imp.util.reflection.proxy.ProxyClassGenerator.methodMethod TF:1750 ms C:1468com.prefvendor.thirdparty.javassist.CtNewMethod.make TF:1458 ms C:1300com.prefvendor.thirdparty.javassist.CtNewMethod.make TF:1457 ms C:1300com.prefvendor.thirdparty.javassist.compiler.Javac.compile TF:1395 ms C:1289com.prefvendor.thirdparty.javassist.compiler.Javac.compileMethod TF:1201 ms C:1142com.prefvendor.thirdparty.javassist.compiler.ast.MethodDecl.accept TF:763 ms C:728com.prefvendor.thirdparty.javassist.compiler.CodeGen.atMethodDecl TF:763 ms C:728com.prefvendor.thirdparty.javassist.compiler.CodeGen.atMethodBody TF:722 ms C:689com.prefvendor.thirdparty.javassist.compiler.MemberCodeGen.atTryStmnt TF:714 ms C:681
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
9
com.prefvendor.thirdparty.javassist.compiler.Parser.parseMethod2 TF:274 ms C:264Heavy Method by Net
com.prefvendor.com.Consumer.getLocalClient F:4122 ms N:874 mscom.prefvendor.xml.jaxp.PlDocumentBuilderImpl.parse F:221 ms N:219 mscom.prefvendor.imp.objectprotocol.AbstractObjectProtocol.deserializePersistentBrands F:164 ms N:162 mscom.prefvendor.xml.jaxp.PlDocumentBuilderFactoryImpl.setAttribute F:88 ms N:88 mscom.prefvendor.PlNewIntermethodLockImpl.acquire F:98 ms N:86 mscom.prefvendor.imp.session.SessionFactory.newSession F:424 ms N:82 ms
Heavy Method by Total Fullcom.prefvendor.mat.element.AdviceComptroller.getListerners TF:2351 ms TN:0 ms C:3com.prefvendor.mat.element.AdviceComptroller.getListenersFromConfigFile TF:2351 ms TN:45 ms C:3com.prefvendor.mat.schemeext.config.HttpConfigReader.loadConfigFiles TF:2002 ms TN:96 ms C:48com.prefvendor.mat.schemeext.config.HttpConfigReader.loadConfigFiles TF:1885 ms TN:5 ms C:10com.prefvendor.mat.schemeext.config.HttpConfigReader.loadConfigFiles TF:1222 ms TN:50 ms C:120com.prefvendor.mat.schemeext.config.ConfigFile.loadXML TF:724 ms TN:6 ms C:459com.prefvendor.imp.util.reflection.proxy.ProxyClassGenerator.methodInterface TF:713 ms TN:2 ms C:18com.prefvendor.imp.util.reflection.proxy.ProxyClassGenerator.methodMethod TF:665 ms TN:8 ms C:440com.prefvendor.mat.schemeext.config.ConfigFile.loadXML TF:664 ms TN:2 ms C:351com.prefvendor.mat.element.AdviceComptroller$ApplicationEventAdviceSender.notifyStartEventForListener TF:567 ms TN:0 ms C:2
Heavy Method by Total Netcom.prefvendor.xml.jaxp.PlDocumentBuilderImpl.parse TF:427 ms TN:425 ms C:122com.prefvendor.xml.jaxp.PlDocumentBuilderFactoryImpl.newDocumentBuilder TF:256 ms TN:255 ms C:256com.prefvendor.xml.jaxp.PlFactoryFinder.find TF:240 ms TN:233 ms C:240com.prefvendor.xml.jaxp.PlDocumentBuilderFactoryImpl.newDocumentBuilder TF:208 ms TN:208 ms C:206com.prefvendor.xml.jaxp.PlFactoryFinder.find TF:193 ms TN:188 ms C:193com.prefvendor.imp.objectprotocol.AbstractObjectProtocol.deserializePersistentBrands TF:167 ms TN:163 ms C:3com.prefvendor.xml.jaxp.PlDocumentBuilderFactoryImpl.newDocumentBuilder TF:149 ms TN:149 ms C:148com.prefvendor.xml.jaxp.PlDocumentBuilderImpl.parse TF:139 ms TN:139 ms C:126com.prefvendor.xml.jaxp.PlFactoryFinder.find TF:134 ms TN:130 ms C:134com.prefvendor.mat.schemeext.config.HttpConfigReader.loadConfigFiles TF:2002 ms TN:96 ms C:48
Heavy by CPU usageTotal CPU time: 5.05 sec. Total Average CPU Server Utilization: 28.71%CPU Time 2.12 sec CPU Server Utilization 28.71%
java.net.SocketInputStream.socketRead0(Native Method)java.net.SocketInputStream.read(SocketInputStream.java:129)
com.prefvendor.imp.util.io.DataPipe.readSocket(Unknown Root)com.prefvendor.imp.util.io.DataPipe.readLength(Unknown Root)
com.prefvendor.imp.util.io.DataPipe.getIncomingMessageLength(Unknown Root)CPU Time 2.93 sec CPU Server Utilization 28.71%
java.util.zip.ZipFile.getEntry(Native Method)java.util.zip.ZipFile.getEntry(ZipFile.java:161)
java.util.jar.JarFile.getEntry(JarFile.java:208)java.util.jar.JarFile.getJarEntry(JarFile.java:191)
sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:757)Total SQL execution
F:45 ms C:7 0.62% of the method execution
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
10
weblogic.servlet.internal.ServletRequestImpl.run F:6672 ms N:1 msExecution highlights
Repeated Sub Method Executioncom.prefvendor.PlObject.getFileEx2 TF:780 ms C:40com.prefvendor.filling.imp.FillingComptroller.getFile TF:763 ms C:40com.prefvendor.filling.imp.FillingComptroller.namedGetFile TF:345 ms C:40com.prefvendor.filling.imp.FillingComptroller.getFile TF:345 ms C:40com.prefvendor.methodmanager.configuration.info.action.service.imp.AssignmentSpaceSelectionMethodDefinitionFactory.getSelectionMethodDefinition TF:1185 ms C:30com.prefvendor.methodmanager.configuration.info.action.service.imp.AssignmentSpaceSelectionMethodDefinitionFactory.getListSelectionMethod TF:521 ms C:21com.prefvendor.methodmanager.configuration.info.action.service.imp.ParameterValueSqlListSelectionMethod.execQuery TF:449 ms C:18com.prefvendor.methodmanager.configuration.info.action.service.imp.ParameterValueSqlListSelectionMethod.setSelectItem TF:447 ms C:16com.prefvendor.services.set.imp.SetSyncServiceImpl.load TF:158 ms C:12com.prefvendor.util.synchronization.imp.DestinationPortfolio.getFilling TF:97 ms C:10
Heavy Method by Netcom.prefvendor.plm.app.ReserveComptrollerBuilder.init F:571 ms N:495 mscom.prefvendor.imp.util.io.InfoPipe.readSocket F:258 ms N:258 mscom.prefvendor.imp.util.io.InfoPipe.readSocket F:81 ms N:81 mscom.prefvendor.imp.util.io.InfoPipe.readSocket F:73 ms N:73 ms
Heavy Method by Total Fullcom.prefvendor.methodmanager.configuration.set.AssignmentSpaceSetListener.loadConfigurableActions TF:1576 ms TN:33 ms C:2com.prefvendor.methodmanager.configuration.configmanager.converter.SetConverterFactory.createSetConverter TF:1539 ms TN:15 ms C:2com.prefvendor.methodmanager.configuration.configmanager.converter.ActionSetItemConverter.loadSetItems TF:1524 ms TN:2 ms C:2com.prefvendor.methodmanager.configuration.utils.ConfigServiceUtil.getActionFromElement TF:1021 ms TN:29 ms C:7com.prefvendor.methodmanager.configuration.utils.ConfigServiceUtil.getActionParameter TF:990 ms TN:2 ms C:3com.prefvendor.methodmanager.configuration.utils.ConfigServiceUtil.getActionParamValue TF:988 ms TN:1 ms C:3com.prefvendor.methodmanager.configuration.set.AssignmentSpaceSetListener.cacheReroots TF:968 ms TN:0 ms C:2com.prefvendor.methodmanager.res.AssignmentSpaceConfigureableReroots.cacheReroots TF:968 ms TN:1 ms C:2com.prefvendor.methodmanager.configuration.info.action.service.imp.AssignmentSpaceSelectionMethodDefinitionFactory.getSelectionMethodDefinition TF:845 ms TN:2 ms C:16com.prefvendor.PlObject.getFileEx2 TF:780 ms TN:0 ms C:40
Heavy Method by Total Netcom.prefvendor.imp.util.io.InfoPipe.readSocket TF:316 ms TN:316 ms C:17com.prefvendor.imp.util.io.InfoPipe.readSocket TF:169 ms TN:169 ms C:118com.prefvendor.imp.util.io.InfoPipe.readSocket TF:122 ms TN:122 ms C:14com.prefvendor.services.set.imp.RerootWrapper.loadBundleDefinition TF:169 ms TN:105 ms C:4com.prefvendor.imp.util.io.InfoPipe.readSocket TF:98 ms TN:98 ms C:12com.prefvendor.util.synchronization.imp.DestinationPortfolio.getFilling TF:97 ms TN:97 ms C:10com.prefvendor.imp.util.io.InfoPipe.readSocket TF:96 ms TN:96 ms C:12com.prefvendor.imp.util.io.InfoPipe.readSocket TF:83 ms TN:83 ms C:56com.prefvendor.imp.util.io.InfoPipe.readSocket TF:81 ms TN:81 ms C:18com.prefvendor.imp.util.io.InfoPipe.readSocket TF:67 ms TN:67 ms C:47
Total SQL executionF:611 ms C:59 9.16% of the method execution
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
11
Repeated SQL executionselect b.brand_name, b.stamp_text from plmbrand_info a, plmdd_brand_info b where (any a.superbrand='plm_file' and not superbrand='plm_portfolio' and not superbrand = 'plm_rm_schemeal_record' and not superbrand = 'plm_rm_schemeal_rec_structure') and (a.brand_name = b.brand_name) and (b.nls_key = 'en') and (b.business_rule_id = '1126734901') and not (b.life_state = 3) order by 1,2
TF:340 ms C:2
Heavy SQLselect b.brand_name, b.stamp_text from plmbrand_info a, plmdd_brand_info b where (any a.superbrand='plm_file' and not superbrand='plm_portfolio' and not superbrand = 'plm_rm_schemeal_record' and not superbrand = 'plm_rm_schemeal_rec_structure') and (a.brand_name = b.brand_name) and (b.nls_key = 'en') and (b.business_rule_id = '1126734901') and not (b.life_state = 3) order by 1,2
F:259 ms
select b.brand_name, b.stamp_text from plmbrand_info a, plmdd_brand_info b where (any a.superbrand='plm_file' and not superbrand='plm_portfolio' and not superbrand = 'plm_rm_schemeal_record' and not superbrand = 'plm_rm_schemeal_rec_structure') and (a.brand_name = b.brand_name) and (b.nls_key = 'en') and (b.business_rule_id = '1126734901') and not (b.life_state = 3) order by 1,2
F:81 ms
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
12
Heavy Methods by Total Net
The section lists the methods with longest total net time, which are directly responsible for the duration of the execution.
Net time is calculated as full duration time minus full duration time of methods that are called directly from the method in question. The list could contain low-level methods, including I/O methods and other event waits.
Top 20 displayed.
Method Total Duration (ms)Executed Number of Times
com.prefvendor.mat.schemeext.comp.Reserve$ClearReserveMonitor.run 120010 4
com.prefvendor.mat.SessionSync.lock0 53330 97
com.prefvendor.imp.util.io.InfoPipe.readSocket 29403 21088
weblogic.servlet.internal.ChunkOutput.writeStream 23046 58
com.prefvendor.tools.infomodel.imp.DBImpl.loadDocument 7035 6987
com.prefvendor.pls.utils.SysPathUtils.getValue 6603 6438
weblogic.servlet.internal.ChunkOutput.flush 4916 2525
weblogic.servlet.internal.ServletStubImpl.execute 3723 339
Heavy Methods by Total Net Duration
125k
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
13
weblogic.servlet.internal.FilterChainImpl.add 3130 53
weblogic.servlet.jsp.TagFileClassLoader.findClass 2507 91
weblogic.servlet.jsp.JspClassLoader.findClass 1500 135
com.prefvendor.imp.util.io.InfoPipe.writeSocket 1044 1044
com.prefvendor.com.Consumer.getLocalClient 874 1
com.prefvendor.xml.jaxp.PlDocumentBuilderImpl.parse 829 348
com.prefvendor.mat.schemeext.action.ActionService.newInstance 792 41
com.prefvendor.res.RerootBundle.loadBundle 685 56
com.prefvendor.xml.jaxp.PlDocumentBuilderFactoryImpl.newDocumentBuilder 680 678
weblogic.servlet.FileServlet.service 644 95
com.prefvendor.thirdparty.javassist.compiler.MemberResolver.lookupMethod 621 1459
com.prefvendor.xml.jaxp.PlFactoryFinder.find 614 630
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
14
All Queries Totals
The section highlights portion of the overall execution time that was spend on database queries.
The data could be one of the quick indicators on whether the performance issues are database related.
Total Duration (ms) CountAll Queries Total: 17224(ms) 8593
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
15
Heavy Queries
The section lists twenty individual queries with the longest execution time.
In many cases, these queries are the "low hanging fruit" for performance improvement; optimization of the queries could be one of the first steps in enhancing the application performance.
Top 20 displayed.
Statement Duration (ms) Executed Method
select b.brand_name, b.stamp_text from plmbrand_info a, plmdd_brand_info b where (any a.superbrand='plm_file' and not superbrand='plm_portfolio' and not superbrand = 'plm_rm_schemeal_record' and not superbrand = 'plm_rm_schemeal_rec_structure') and (a.brand_name = b.brand_name) and (b.nls_key = 'en') and (b.business_rule_id = '1126734901') and not (b.life_state = 3) order by 1,2
259com.prefvendor.methodmanager.configuration.info.action.service.imp.ParameterValueSqlListSelectionMethod.execQuery
select b.brand_name, b.stamp_text from plmbrand_info a, plmdd_brand_info b where (any a.superbrand='plm_file' and not superbrand='plm_portfolio' and not superbrand = 'plm_rm_schemeal_record' and not superbrand = 'plm_rm_schemeal_rec_structure') and (a.brand_name = b.brand_name) and (b.nls_key = 'en') and (b.business_rule_id = '1126734901') and not (b.life_state = 3) order by 1,2
81com.prefvendor.methodmanager.configuration.info.action.service.imp.ParameterValueSqlListSelectionMethod.execQuery
select sum(col7) as new_salary, sum(col4*col7/col3) as new_bonus from plm_acme_complex_hinfo where col0 in (select employee_id from acme_employee_portfolio 80 dbyte.demo.CalculateSalaryIncreaseEx.calc
ulateDepartmentalAdjustmentsOpt
select sum(col7) as new_salary, sum(col4*col7/col3) as new_bonus from plm_acme_complex_hinfo where col0 in (select employee_id from acme_employee_portfolio 69 dbyte.demo.CalculateSalaryIncreaseEx.calc
ulateDepartmentalAdjustmentsOpt
select upper(entity_name),link_id,entity_name,entity_brand,link_cnt,link_owner from plm_portfolio where (is_reference is null or is_reference = 0) order by 1 68 com.prefvendor.mat.schemeext.ctrl.db.DBPo
rtfolioTreeNode.addChildNodes
SELECT X.* ,sd1.col0 AS sd1_col0,sd1.col1 AS sd1_col1,sd1.col2 AS sd1_col2,sd1.col5 AS sd1_col5,sd1.col6 AS sd1_col6,wi.link_id AS wlink_id,wi.plm_def_id AS wplm_def_id,wi.flow_id AS wflow_id,sd1.link_id AS sd1_link_id FROM (SELECT q.filling_brand AS q_filling_brand,q.item_brand AS q_item_brand,q.dependency_brand AS q_dependency_brand,q.routeid AS q_routeid,q.event AS q_event,q.item_name AS q_item_name,q.assignment_subject AS q_assignment_subject,q.assignment_name AS q_assignment_name,q.name AS q_name,q.sent_by AS q_sent_by,q.link_id AS q_link_id,q.priority AS q_priority,q.point_id AS q_item_id,q.date_sent AS q_date_sent,q.assignment_state AS q_assignment_state,q.due_date AS q_due_date,q.assignment_number AS q_assignment_number,q.source_db AS q_source_db,q.source_event AS q_source_event FROM plm rank q WHERE ((q.delete_flag=0 AND q.dependency_brand IN ('0','1','2','3','4','5','6'))) ENABLE(RETURN_RANGE 1 101 101 'q.date_sent DESC,q.link_id ASC', ROW_BASED)) X LEFT
65com.prefvendor.plm.assignmentlist.imp.AssignmentListReservedCollection.runSQLInternal
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
16
OUTER JOIN plm_acme_complex_hinfo sd1 ON sd1.flow_id=X.q_routeid LEFT OUTER JOIN plmactionitem wi ON wi. rank_id=X.q_link_id ORDER BY X.q_date_sent DESC,X.q_link_id ASC
select link_id, entity_name, portfolio_id, portfolio_path, position from plm_portfolio where link_id in (select ancestoid from plm_portfolio where link_id in ('1210665227') and is_hidden = false) order by link_id, position 64 com.prefvendor.imp.objectpath.query.BaseQ
uery.getBaseQueryImpl
SELECT X.* ,sd1.col0 AS sd1_col0,sd1.col1 AS sd1_col1,sd1.col2 AS sd1_col2,sd1.col5 AS sd1_col5,sd1.col6 AS sd1_col6,wi.link_id AS wlink_id,wi.plm_def_id AS wplm_def_id,wi.flow_id AS wflow_id,sd1.link_id AS sd1_link_id FROM (SELECT q.filling_brand AS q_filling_brand,q.item_brand AS q_item_brand,q.dependency_brand AS q_dependency_brand,q.routeid AS q_routeid,q.event AS q_event,q.item_name AS q_item_name,q.assignment_subject AS q_assignment_subject,q.assignment_name AS q_assignment_name,q.name AS q_name,q.sent_by AS q_sent_by,q.link_id AS q_link_id,q.priority AS q_priority,q.point_id AS q_item_id,q.date_sent AS q_date_sent,q.assignment_state AS q_assignment_state,q.due_date AS q_due_date,q.assignment_number AS q_assignment_number,q.source_db AS q_source_db,q.source_event AS q_source_event FROM plm rank q WHERE ((q.delete_flag=0 AND q.dependency_brand IN ('0','1','2','3','4','5','6'))) ENABLE(RETURN_RANGE 1 101 101 'q.date_sent DESC,q.link_id ASC', ROW_BASED)) X LEFT OUTER JOIN plm_acme_complex_hinfo sd1 ON sd1.flow_id=X.q_routeid LEFT OUTER JOIN plmactionitem wi ON wi. rank_id=X.q_link_id ORDER BY X.q_date_sent DESC,X.q_link_id ASC
63com.prefvendor.plm.assignmentlist.imp.AssignmentListReservedCollection.runSQLInternal
SELECT X.* ,sd1.col0 AS sd1_col0,sd1.col1 AS sd1_col1,sd1.col2 AS sd1_col2,sd1.col5 AS sd1_col5,sd1.col6 AS sd1_col6,wi.link_id AS wlink_id,wi.plm_def_id AS wplm_def_id,wi.flow_id AS wflow_id,sd1.link_id AS sd1_link_id FROM (SELECT q.filling_brand AS q_filling_brand,q.item_brand AS q_item_brand,q.dependency_brand AS q_dependency_brand,q.routeid AS q_routeid,q.event AS q_event,q.item_name AS q_item_name,q.assignment_subject AS q_assignment_subject,q.assignment_name AS q_assignment_name,q.name AS q_name,q.sent_by AS q_sent_by,q.link_id AS q_link_id,q.priority AS q_priority,q.point_id AS q_item_id,q.date_sent AS q_date_sent,q.assignment_state AS q_assignment_state,q.due_date AS q_due_date,q.assignment_number AS q_assignment_number,q.source_db AS q_source_db,q.source_event AS q_source_event FROM plm rank q WHERE ((q.delete_flag=0 AND q.dependency_brand IN ('0','1','2','3','4','5','6'))) ENABLE(RETURN_RANGE 1 101 101 'q.date_sent DESC,q.link_id ASC', ROW_BASED)) X LEFT OUTER JOIN plm_acme_complex_hinfo sd1 ON sd1.flow_id=X.q_routeid LEFT OUTER JOIN plmactionitem wi ON wi. rank_id=X.q_link_id ORDER BY X.q_date_sent DESC,X.q_link_id ASC
63com.prefvendor.plm.assignmentlist.imp.AssignmentListReservedCollection.runSQLInternal
select sum(col7) as new_salary, sum(col4*col7/col3) as new_bonus from plm_acme_complex_hinfo where col0 in (select employee_id from acme_employee_portfolio 62 dbyte.demo.CalculateSalaryIncreaseEx.calc
ulateDepartmentalAdjustmentsOpt
SELECT X.* ,sd1.col0 AS sd1_col0,sd1.col1 AS sd1_col1,sd1.col2 AS sd1_col2,sd1.col5 AS sd1_col5,sd1.col6 AS sd1_col6,wi.link_id AS wlink_id,wi.plm_def_id AS wplm_def_id,wi.flow_id AS wflow_id,sd1.link_id AS sd1_link_id FROM (SELECT q.filling_brand AS q_filling_brand,q.item_brand AS q_item_brand,q.dependency_brand AS q_dependency_brand,q.routeid AS q_routeid,q.event AS q_event,q.item_name AS q_item_name,q.assignment_subject AS q_assignment_subject,q.assignment_name AS q_assignment_name,q.name AS q_name,q.sent_by AS q_sent_by,q.link_id AS q_link_id,q.priority AS q_priority,q.point_id AS q_item_id,q.date_sent AS q_date_sent,q.assignment_state AS q_assignment_state,q.due_date AS q_due_date,q.assignment_number AS q_assignment_number,q.source_db AS q_source_db,q.source_event AS q_source_event FROM plm rank q WHERE ((q.delete_flag=0 AND q.dependency_brand IN ('0','1','2','3','4','5','6'))) ENABLE(RETURN_RANGE 1 101 101 'q.date_sent DESC,q.link_id ASC', ROW_BASED)) X LEFT OUTER JOIN plm_acme_complex_hinfo sd1 ON sd1.flow_id=X.q_routeid LEFT OUTER JOIN plmactionitem wi ON wi. rank_id=X.q_link_id ORDER BY X.q_date_sent DESC,X.q_link_id ASC
60com.prefvendor.plm.assignmentlist.imp.AssignmentListReservedCollection.runSQLInternal
59
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
17
SELECT X.* ,sd1.col0 AS sd1_col0,sd1.col1 AS sd1_col1,sd1.col2 AS sd1_col2,sd1.col5 AS sd1_col5,sd1.col6 AS sd1_col6,wi.link_id AS wlink_id,wi.plm_def_id AS wplm_def_id,wi.flow_id AS wflow_id,sd1.link_id AS sd1_link_id FROM (SELECT q.filling_brand AS q_filling_brand,q.item_brand AS q_item_brand,q.dependency_brand AS q_dependency_brand,q.routeid AS q_routeid,q.event AS q_event,q.item_name AS q_item_name,q.assignment_subject AS q_assignment_subject,q.assignment_name AS q_assignment_name,q.name AS q_name,q.sent_by AS q_sent_by,q.link_id AS q_link_id,q.priority AS q_priority,q.point_id AS q_item_id,q.date_sent AS q_date_sent,q.assignment_state AS q_assignment_state,q.due_date AS q_due_date,q.assignment_number AS q_assignment_number,q.source_db AS q_source_db,q.source_event AS q_source_event FROM plm rank q WHERE ((q.delete_flag=0 AND q.dependency_brand IN ('0','1','2','3','4','5','6'))) ENABLE(RETURN_RANGE 1 101 101 'q.date_sent DESC,q.link_id ASC', ROW_BASED)) X LEFT OUTER JOIN plm_acme_complex_hinfo sd1 ON sd1.flow_id=X.q_routeid LEFT OUTER JOIN plmactionitem wi ON wi. rank_id=X.q_link_id ORDER BY X.q_date_sent DESC,X.q_link_id ASC
com.prefvendor.plm.assignmentlist.imp.AssignmentListReservedCollection.runSQLInternal
SELECT X.* ,sd1.col0 AS sd1_col0,sd1.col1 AS sd1_col1,sd1.col2 AS sd1_col2,sd1.col5 AS sd1_col5,sd1.col6 AS sd1_col6,wi.link_id AS wlink_id,wi.plm_def_id AS wplm_def_id,wi.flow_id AS wflow_id,sd1.link_id AS sd1_link_id FROM (SELECT q.filling_brand AS q_filling_brand,q.item_brand AS q_item_brand,q.dependency_brand AS q_dependency_brand,q.routeid AS q_routeid,q.event AS q_event,q.item_name AS q_item_name,q.assignment_subject AS q_assignment_subject,q.assignment_name AS q_assignment_name,q.name AS q_name,q.sent_by AS q_sent_by,q.link_id AS q_link_id,q.priority AS q_priority,q.point_id AS q_item_id,q.date_sent AS q_date_sent,q.assignment_state AS q_assignment_state,q.due_date AS q_due_date,q.assignment_number AS q_assignment_number,q.source_db AS q_source_db,q.source_event AS q_source_event FROM plm rank q WHERE ((q.delete_flag=0 AND q.dependency_brand IN ('0','1','2','3','4','5','6'))) ENABLE(RETURN_RANGE 101 201 101 'q.date_sent DESC,q.link_id ASC', ROW_BASED)) X LEFT OUTER JOIN plm_acme_complex_hinfo sd1 ON sd1.flow_id=X.q_routeid LEFT OUTER JOIN plmactionitem wi ON wi. rank_id=X.q_link_id ORDER BY X.q_date_sent DESC,X.q_link_id ASC
58com.prefvendor.plm.assignmentlist.imp.AssignmentListReservedCollection.runSQLInternal
SELECT X.* ,sd1.col0 AS sd1_col0,sd1.col1 AS sd1_col1,sd1.col2 AS sd1_col2,sd1.col5 AS sd1_col5,sd1.col6 AS sd1_col6,wi.link_id AS wlink_id,wi.plm_def_id AS wplm_def_id,wi.flow_id AS wflow_id,sd1.link_id AS sd1_link_id FROM (SELECT q.filling_brand AS q_filling_brand,q.item_brand AS q_item_brand,q.dependency_brand AS q_dependency_brand,q.routeid AS q_routeid,q.event AS q_event,q.item_name AS q_item_name,q.assignment_subject AS q_assignment_subject,q.assignment_name AS q_assignment_name,q.name AS q_name,q.sent_by AS q_sent_by,q.link_id AS q_link_id,q.priority AS q_priority,q.point_id AS q_item_id,q.date_sent AS q_date_sent,q.assignment_state AS q_assignment_state,q.due_date AS q_due_date,q.assignment_number AS q_assignment_number,q.source_db AS q_source_db,q.source_event AS q_source_event FROM plm rank q WHERE ((q.delete_flag=0 AND q.dependency_brand IN ('0','1','2','3','4','5','6'))) ENABLE(RETURN_RANGE 1 101 101 'q.date_sent DESC,q.link_id ASC', ROW_BASED)) X LEFT OUTER JOIN plm_acme_complex_hinfo sd1 ON sd1.flow_id=X.q_routeid LEFT OUTER JOIN plmactionitem wi ON wi. rank_id=X.q_link_id ORDER BY X.q_date_sent DESC,X.q_link_id ASC
58com.prefvendor.plm.assignmentlist.imp.AssignmentListReservedCollection.runSQLInternal
SELECT X.* ,sd1.col0 AS sd1_col0,sd1.col1 AS sd1_col1,sd1.col2 AS sd1_col2,sd1.col5 AS sd1_col5,sd1.col6 AS sd1_col6,wi.link_id AS wlink_id,wi.plm_def_id AS wplm_def_id,wi.flow_id AS wflow_id,sd1.link_id AS sd1_link_id FROM (SELECT q.filling_brand AS q_filling_brand,q.item_brand AS q_item_brand,q.dependency_brand AS q_dependency_brand,q.routeid AS q_routeid,q.event AS q_event,q.item_name AS q_item_name,q.assignment_subject AS q_assignment_subject,q.assignment_name AS q_assignment_name,q.name AS q_name,q.sent_by AS q_sent_by,q.link_id AS q_link_id,q.priority AS q_priority,q.point_id AS q_item_id,q.date_sent AS q_date_sent,q.assignment_state AS q_assignment_state,q.due_date AS q_due_date,q.assignment_number AS q_assignment_number,q.source_db AS q_source_db,q.source_event AS q_source_event FROM plm rank q WHERE ((q.delete_flag=0 AND q.dependency_brand IN ('0','1','2','3','4','5','6'))) ENABLE(RETURN_RANGE 101 201 101 'q.date_sent DESC,q.link_id ASC', ROW_BASED)) X LEFT OUTER JOIN plm_acme_complex_hinfo sd1 ON sd1.flow_id=X.q_routeid LEFT OUTER JOIN plmactionitem wi ON wi. rank_id=X.q_link_id ORDER BY X.q_date_sent DESC,X.q_link_id ASC
57com.prefvendor.plm.assignmentlist.imp.AssignmentListReservedCollection.runSQLInternal
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
18
SELECT X.* ,sd1.col0 AS sd1_col0,sd1.col1 AS sd1_col1,sd1.col2 AS sd1_col2,sd1.col5 AS sd1_col5,sd1.col6 AS sd1_col6,wi.link_id AS wlink_id,wi.plm_def_id AS wplm_def_id,wi.flow_id AS wflow_id,sd1.link_id AS sd1_link_id FROM (SELECT q.filling_brand AS q_filling_brand,q.item_brand AS q_item_brand,q.dependency_brand AS q_dependency_brand,q.routeid AS q_routeid,q.event AS q_event,q.item_name AS q_item_name,q.assignment_subject AS q_assignment_subject,q.assignment_name AS q_assignment_name,q.name AS q_name,q.sent_by AS q_sent_by,q.link_id AS q_link_id,q.priority AS q_priority,q.point_id AS q_item_id,q.date_sent AS q_date_sent,q.assignment_state AS q_assignment_state,q.due_date AS q_due_date,q.assignment_number AS q_assignment_number,q.source_db AS q_source_db,q.source_event AS q_source_event FROM plm rank q WHERE ((q.delete_flag=0 AND q.dependency_brand IN ('0','1','2','3','4','5','6'))) ENABLE(RETURN_RANGE 201 301 101 'q.date_sent DESC,q.link_id ASC', ROW_BASED)) X LEFT OUTER JOIN plm_acme_complex_hinfo sd1 ON sd1.flow_id=X.q_routeid LEFT OUTER JOIN plmactionitem wi ON wi. rank_id=X.q_link_id ORDER BY X.q_date_sent DESC,X.q_link_id ASC
57com.prefvendor.plm.assignmentlist.imp.AssignmentListReservedCollection.runSQLInternal
SELECT X.* ,sd1.col0 AS sd1_col0,sd1.col1 AS sd1_col1,sd1.col2 AS sd1_col2,sd1.col5 AS sd1_col5,sd1.col6 AS sd1_col6,wi.link_id AS wlink_id,wi.plm_def_id AS wplm_def_id,wi.flow_id AS wflow_id,sd1.link_id AS sd1_link_id FROM (SELECT q.filling_brand AS q_filling_brand,q.item_brand AS q_item_brand,q.dependency_brand AS q_dependency_brand,q.routeid AS q_routeid,q.event AS q_event,q.item_name AS q_item_name,q.assignment_subject AS q_assignment_subject,q.assignment_name AS q_assignment_name,q.name AS q_name,q.sent_by AS q_sent_by,q.link_id AS q_link_id,q.priority AS q_priority,q.point_id AS q_item_id,q.date_sent AS q_date_sent,q.assignment_state AS q_assignment_state,q.due_date AS q_due_date,q.assignment_number AS q_assignment_number,q.source_db AS q_source_db,q.source_event AS q_source_event FROM plm rank q WHERE ((q.delete_flag=0 AND q.dependency_brand IN ('0','1','2','3','4','5','6'))) ENABLE(RETURN_RANGE 1 101 101 'q.date_sent DESC,q.link_id ASC', ROW_BASED)) X LEFT OUTER JOIN plm_acme_complex_hinfo sd1 ON sd1.flow_id=X.q_routeid LEFT OUTER JOIN plmactionitem wi ON wi. rank_id=X.q_link_id ORDER BY X.q_date_sent DESC,X.q_link_id ASC
57com.prefvendor.plm.assignmentlist.imp.AssignmentListReservedCollection.runSQLInternal
SELECT X.* ,sd1.col0 AS sd1_col0,sd1.col1 AS sd1_col1,sd1.col2 AS sd1_col2,sd1.col5 AS sd1_col5,sd1.col6 AS sd1_col6,wi.link_id AS wlink_id,wi.plm_def_id AS wplm_def_id,wi.flow_id AS wflow_id,sd1.link_id AS sd1_link_id FROM (SELECT q.filling_brand AS q_filling_brand,q.item_brand AS q_item_brand,q.dependency_brand AS q_dependency_brand,q.routeid AS q_routeid,q.event AS q_event,q.item_name AS q_item_name,q.assignment_subject AS q_assignment_subject,q.assignment_name AS q_assignment_name,q.name AS q_name,q.sent_by AS q_sent_by,q.link_id AS q_link_id,q.priority AS q_priority,q.point_id AS q_item_id,q.date_sent AS q_date_sent,q.assignment_state AS q_assignment_state,q.due_date AS q_due_date,q.assignment_number AS q_assignment_number,q.source_db AS q_source_db,q.source_event AS q_source_event FROM plm rank q WHERE ((q.delete_flag=0 AND q.dependency_brand IN ('0','1','2','3','4','5','6'))) ENABLE(RETURN_RANGE 201 301 101 'q.date_sent DESC,q.link_id ASC', ROW_BASED)) X LEFT OUTER JOIN plm_acme_complex_hinfo sd1 ON sd1.flow_id=X.q_routeid LEFT OUTER JOIN plmactionitem wi ON wi. rank_id=X.q_link_id ORDER BY X.q_date_sent DESC,X.q_link_id ASC
56com.prefvendor.plm.assignmentlist.imp.AssignmentListReservedCollection.runSQLInternal
select sum(col7) as new_salary, sum(col4*col7/col3) as new_bonus from plm_acme_complex_hinfo where col0 in (select employee_id from acme_employee_portfolio 53 dbyte.demo.CalculateSalaryIncreaseEx.calc
ulateDepartmentalAdjustmentsOpt
select distinct flow_id from plm_acme_complex_hinfo where col0 in (select employee_id from acme_employee_portfolio) 52 dbyte.demo.CalculateSalaryIncreaseEx.calculateDepartmentalAdjustments
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
19
Heavy Queries by Total Duration
While one execution of the query doesn't take long time to execute, the queries listed in this section were executed enough times to account for the significant total execution time; hence, impacting overall performance of the application.
If single execution of the query takes long time, and the query is executed multiple times, it might get listed in the 'Heavy Queries' section as well. If the queries could not be executed fewer times, retrieval and cashing of the data may represent one of the viable solutions improving efficiency.
Top 20 displayed.
1 SQL statement that was executed more that 300 times
StatementTotal
Duration (ms)
Count Executed Method
select link_id, modify_date from plm_brand_info where complex_name = 'acme_complex_hinfo' 13020 7741 com.prefvendor.pls.utils.DBUtils.executeQuery
Discovered Byte © 2013. All rights reserved www.DiscoveredByte.com
20