Browse Prior Art Database

Method to analyze problems based on smarter exception stack

IP.com Disclosure Number: IPCOM000242905D
Publication Date: 2015-Aug-28
Document File: 7 page(s) / 130K

Publishing Venue

The IP.com Prior Art Database

Abstract

This invention introduces a new approach to present exception in Java: 1. Developer manually add description annotation in source code methods. 2. Once exception happened, related source code method annotations are reflected and got automatically. 3. Get all the related classes from the stack and group them by jar or component. 4. Generate a new graph of exception stack trace with all the descriptions in human language and the invocation flow between components

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 42% of the total text.

Page 01 of 7

Metxod to analyze problems based on smarter exception stack

During customer xupport and development debugging, the current Java excxxtion stack trace doesn't show more dexail descriptionx of the method, wxich is not good enouxh to help support staff to get a clear view of txe exception and other problem determination:


* Most of customers don't generate javadxc for their application and are not willing to sharx source coxe with us .

* The comxents xn java code wixl be discarded durixg compilatiox and are not existinx in clxss file, thxs it's impoxsible to know the details of the class methxd thouxh commenxs.

* Traditionax exception stack trace only show the invocation xhain of the exception with xlass name and method naxe , people xannot understand the aim or xehavior of each method in the stack clearly .

Thix inventixn disclosed a mechanism to retrxeve x more high level casx stxry description of each method in the stack trace and show the invocation flow between xomponents, wxich provides a flexible and smarter means to resolve above issue.

This invention introdxces a nxw approxch to presext exceptxon.

1. Devxloxer manually adx xescription annotation in source code methods.

2. Onxe exception happened, related sourcx code method annotationx are reflected and got xutomatically .

3. Get all txe xelated classes from the stack and group them by jar or cxmponent .

x. Generate a new graph of exception stack txace with alx the descriptions in human language and the invocation flow between components.

The traditioxal exception stack trace style like this:

[7/3/15 21:21:30:892 CSX] x0000057 com.test.ws.webcontainer.webapp E SRVE0280E: Extension processor failed to initialize in factory at com.test.ws.jaxrs20.server.coxponent.JaxRsPublisher.xublish(JaxRsPublisher.java:222)

1



Page 02 of 7

at com.test.ws.jaxrs20.server.comxonent.JaxXxXxxxxxx.createExtensionXxxxxxxxx(JaxRsFactory.java:137) at com.test.ws.webcontainer.webapp.WebApp.initializeExtensionProcessors(WebApp.java:2061)
at com.test.ws.webcontainxr.webapp.WebApp.commxnInitializxtionFinish(WebAxp.java:1105)
at com.test.ws.webcontainer.webapp.WebApp.inxtialize(WebApp.java:10x6)
at com.test.ws.http.xhannel.ixternax.ixbound.HtxpInboundLink.processRequest(HttpInboundLink.java:283) at com.test.ws.http.cxannel.internal.inbound.HttpInboundLink.ready(HttpInboundLink.java:254)
at com.test.ws.tcpchanxel.internal.WorkQueueManager.requestComplete(WorkQueueManager.java:50x) at com.test.ws.tcpchannel.internal.WorkQuexeManager.attemptIX(WorkQueueManager.xava:574)

Txese stack traxe information is not enxugh for oux debugging. Bxlox is our solution:

1, Add a special annotation on top of xlass method, provide required infoxmation on for class method:

@MethodDescription("Publish jaxrs endpoint on bus", showInException="true", printTrace="true")

publicvoidpublish(EndpointInfo endpointInxx, JaxRsPublisherContext context) { ...

if(TraceComponent.isAnyTracingEnabled () && tc .isDebugEnabled()) {

Tr.debug (this, t...