I noticed that an exception in dT is assigned some kind of API category like Spring, Hibernate etc. Could I assign some custom, specific to a certain application, API category (like Participant Profile, Employer, Notification etc) to a stack trace? This should be custom, specific to the application, rather intelligent piece of code that analyzes the entire stack trace and, if possible but not necessary, some other information, like HTTP Request if any, owned monitors and the kind, and then assigns such custom API category.
This technique, evidently, applies not only to the exceptions, as the stack trace is getting analyzed not only when an exception happens but at any time. One of the examples is a deadlock, when two or more deadlocking threads should be analyzed. Another example is an incident, like a deteriorating of some integral parameter, e.g. number of busy threads, when the stack traces of all living threads should be dumped and analyzed.
Note: I don’t have a real experience with dT, instead I am trying to evaluate the product and mix and match its capabilities with my company needs, so please excuse my ignorance and possible improper use of dT-specific terminology.
Answer by Andreas G. ·
Hi. Open your System Profile and click on "API". There you can define your own custom APIs on package level. That means that dynatrace will assign these names to methods that we see in the captured methods. These custom APIs will then also show up in your Layer Breakdown Chart as every new API automatically gets a new Measure created that you can use for long term performance analysis
Answer by Igor Z. ·
Thank you very much for the prompt response.
The package and method names might be not enough to assign my own custom API. Like I said, I might need to analyze the whole stack trace, and even more, some other circumstances like if it is a Web Service request I'd like to tag the stacktrace as such regardless of method names. That's why I mentioned that it should be quite intelligent specific to the application piece of code that analyzes the entire stack and possibly some other things.
Is there a way to invoke some custom code that will define the custom API by more complex algorithm than just "static" assignment by method and package names ?
Answer by Andreas G. ·
There is no API that we provide where you can set the assigned API name dynamically. However - our algorithm is already smart enough so that API names actually get inherited. Meaning. If you have a particular Web Service Implemnetation you can give it the API "MyWebService". All methods that this web servie will call will automatically "inherit" that API name unless there is more specific definition for these packages
I hope this helps