From time to time we get to experience situations onsite that get us thinking about Foglight values that so often we take for granted and in many cases validate what we are trying to do with Foglight.
One of the features that I always found to be very useful with Foglight Java cartridge was tag and follow – the ability to see the call tree of requests including plain old java objects, without having to ask a developer what classes they developed and without having to change the instrumentation every time the code changes. Working with other tools in the past I was always frustrated to find in traces the last instrumented class that was causing problems just to discover that the class was calling an entire tree of custom classes that I had to then instrument and wait for the application to break again so I can see where the problem was. In some case, with other tools, I had to repeat that process multiple times to find the custom java class that was causing problems. With Foglight java cartridge that is not the case, the tag and follow capability, out of the box will show you the call tree of the request including the custom classes. This important Foglight capability is even more useful if the code was developed by people that are not in the same building as you are, and is priceless if the code was developed by 3rd party and/or in a different geographical location.
I recently had the opportunity to see this at onsite, an administrator that was using another product had to repeatedly check with developers what classes existed so he could instrument them to continue investigating problems and was happy to see Foglight Java agent showing the call tree, including custom java classes, out of the box, without having to ask for class names or repeatedly modify the instrumentation. For me this validated the advantages that I see with Foglight on a daily basis and the value that it gives to customers.
To demonstrate this capability I took the demo application we use for JProbe (Java developer profiler) demos.
I ran a trace and as you can I was able see custom classes (com.quoteme.stocktrack.StockDataCartAdapter ) as well as Quest JClass classes that were used for this application (com.kld.jclass.JCServerChart ) with the out of the box agent with no questions to the developer or instrumentation changes.
I hope you find this information useful, with questions and comments don’t hesitate to contact me at firstname.lastname@example.org