Our PurePaths look to be truncated because the Truncated icon shows up and not all the functions are being captured. See picture below. We are expecting more function calls inside _processCommands().
We would like to capture all the functions under _processCommands() since we are trying to tune that method. Is that possible? I tried changing the Buffer Size and Buffer Count in the Agent Mapping, but the PurePath is still truncated.
The other question is what happens to the time spent in truncated functions. Is it added up to the caller? In the screenshot, _processCommands Exec column shows 6684.33. Does that number include the functions that were truncated/not instrumented?
Answer by Roland M. ·
Hi Rebecca ,
maybe disabling the tagging of asynchronous timer invocations (asynchronous calls will be added to own PurePaths and not added to the same PurePath) or excluding / including selected Java Script files may help.
See the following link for more details: https://apmcommunity.compuware.com/community/display/DOCDT42/Browser+Diagnostics#BrowserDiagnostics-BrowserSensors
Answer by Roman S. ·
Hi Rebecca,
A PurePath that is truncated means it has reached the default limit of 100000 byte code instrumented methods. There is a setting to chance this to higher values but that often causes other issues as the server is tested/supported with the 100k limit. Is setting the entries points deeper into the call tree an option for you? That way you would not get one long PP with a lot of methods but a number of smaller ones, hopefully below the limit.
Btw - which version of dynaTrace are you currently using?
Best, Roman
Hi Roman,
Yes, I can set the entry points deeper into the call tree. How do I do that? I'm using dynaTrace 4.2 and the browser agent is version 4.2.0.3220. How about the second question in the original post? Does the ~6684ms include the time spent in the non-instrumented methods?
Thx,
Rebecca
Sorry, didn't look at your screenshot closely enough to see that you are actually seeing all those calls in the Browser agent - where you have no manual control over the entry points
Execution time is usually the total time of a method (start to end) minus all the sub method calls. So in your example above the exec time of _processCommands includes the times for the various setTimeout calls.
Couldn't find the setting for changing the 100k limit, I hope someone else in the forum here knows the answer.
Best, Roman
This setting can be changed in the server.config.xml and is called maxnodes. Please BE CAREFUL when changing this setting. As Roman said - it can have implications - especially when you run in high-load production or test environments. In your case it shouldnt be a problem as you mainly use dynaTrace for Browser Diagnostics
You also need to restart the server after changing that setting
Andi
JANUARY 15, 3:00 PM GMT / 10:00 AM ET