Hello everybody.
Need your advise with the next.
We have .Net Rich client which communicated with .Net server application and then SQL DB. We have installed agents on Workstation and Server part. By default the agent didn't find any entry point. We founded them thanks to CPU sampling, but right now we have one PurePath like a 5-10 minutes of data (time then rich app is open). So PurePath starts after Rich application opens, and terminates then the agent has been disconnected. .NET WPF and .NET WIndows Forms sensors are enabled.
Another thing, that rich client and app server queries to the same database. We can see connection strings in PurePath and bind values, but there are information regarding no SQL statements.
Answer by Vlad S. ·
Hello Andreas!
OnClick event handler was in one PurePath session with instrumented Main Method. But I didn't share it. It is in the end of PurePath
Maybe it sounds strange, but I see no information in the Method Hotspots dashlet.
I will investigate it tomorrow and let you know regarding reluslts.
Thanks a lot for your help
Answer by Andreas G. ·
So - it seems that now dynatrace is automatically picking up the OnClick event handler. This didnt work before as you had the Main Method instrumented which already started the PurePath. Seems like the out-of-the-box sensors at least pick up some clicks. You should be able to open the GUI Controls Dashlet - this will give you an overview of user interactions (click, select, ...) on each control (button, grid, menu, ...). from there you can drill to your purepaths
In the two purepaths you sent me i can already see a lot of interesting patterns, e.g: Button.OnClick making 35 roundtrips to the backend server which makes 44 calls to SQL. The second PurePath that seems to be capturing a lot of startup activity shows that most of the time is spent in dynamically compiling C# code. I could find that by drilling from that PurePath to the Methods Hotspot dashlet.
I suggest you keep using this set of sensors. I think the out-of-the-box will most likely work now. If you dont see all user interactions then we could explore more options on custom sensors on your UI Framework Event Handler Methods
Answer by Andreas G. ·
Seems like you have instrumented the Main method. This is the method that gets executed as the first method and runs until the end. thats why you have an endless/timedout purepath. Looking at this PurePath I rather suggest to put Entry Point Sensors on things like the MainFormWorkplace.ShowWorkplace or some of the Controller classes in your own code base.
That will give you PurePaths that complete which you can then better analyze. I would then focus my analysis on the WCF calls that your app is making. You should open the Remoting Dashlet and analyze all the calls to your service classes
Andi
Hello Andreas!
Thanks for your help. So I've changed sensors and now I see 2 complete PurePaths sessionTrying to get infromation from devs regarding correct method. I thought that Entry Points should be discovered out of the box for Rich .net apps
you are absolutely right. this should be picked up out of the box through our WPF Sensors. The only explanation I have is that you use a very customized UI Framework that leverages non standard event handler interfaces. I see if there is anything else I can find out by looking at the new session file you just sent me
andi
Answer by Andreas G. ·
Hi
If you have PurePaths that run for the entire time I suggest you find different entry points. You picked a method "too high up" in the execution chain. As you are talking about a .NET Rich Client App I wonder why you didnt see any PurePaths out-of-the-box. Can you double check that the WPF & WinForm Sensors are configured as "active and start PurePath"?.
As for the database. Any chance you can export your PurePaths? Maybe also your CPU Sampling Session? Maybe your app uses an ADO.NET Provider that we dont fully support
Andi
Hello!
WPF & WinForm Sensors are configured. I cheked it twice.
Please find sessions attachned
JANUARY 15, 3:00 PM GMT / 10:00 AM ET