I am working on a WPF desktop application on top of a 4.5 .NET framework. Its a client-server architecture based on MVVM design pattern. The aim here is to find the most accurate response times for the transactions done in the application. As its a thick client I am currently focusing only on the client side instrumentation. We have instrumented WPF actions and got purepaths (DT 6.5) for user actions like clicking a button etc.. The development team also has logging enabled for the transactions. Using this we concluded that DT doesn't capture the transaction end-to-end. For this I asked the developer to give me the start and the end method for a specific transaction and instrumented the same. I added the method and started purepath on invocation of this method and the difference between their timing matches the time given by the logs. Also these methods are not to be seen in the purepath captured by WPF action inspite of keeping them only on active mode. I am guessing there is a context switch and some work is done on other thread hence DT not able to capture it in the same purepath. For this I have enabled thread tagging, added multiple System.Threading methods and also even instrumented the parent method (main) of the application in active mode. But this has not helped much. Any suggestions for the above scenario? See image for more details. dt.png
We have been experimenting with a different approach to monitoring Rich Client Apps. We have built a prototype which has been used by several customers that allows your developers to bring UEM into your Rich Client App. Here is the link to the community project: https://community.dynatrace.com/community/display/...
This might solve your problem as it gives you UEM like performance data. It does require manual instrumentation though and it doesnt give you the flexiblity of the sensors.
But please have a look at this and tell me if this would in general solve your problem. We are currently working on an updated version of that approach and are always looking for feedback