Automate profiling on a web application project
I'm looking for a way to automate my web application (MVC 3) profiling.
The best scenario would be a way to use a web performance test as "script" to run with DotTrace, but so far I didn't find a way to do that.
The use of a web performance test is better, as I could provide information about poste data, query string parameters, etc.
Really, profiling a web application manually is tedious, to say the least, especially when you have to repeat each time the same browsing flow.
Maybe this can be already done with dotTrace: in this case I simply don't know how to achieve this result.
Any idea?
Please sign in to leave a comment.
Hi Andrea, did you receive my e-mail from support@jetbrains.com?
Hello Asia.
No, I didn't receive the message you're mentioning.
I've double checked in my inbox (and in the spam folder, even thoug jetbarin's domain is whitelisted), but I'm afraind there is nothing.
Ok, then here it is :)
There's no difference for dotTrace what to profile - it requires only .NET. So I guess your scenario is possible; the only question is what application type to choose.
As far as I understand, your tests are not usual unit tests like MSTest or nUnit, right? So profiling unit tests won't work.
If all the tests are launched from one "root" process, just profile it with "Profile child processes" option enabled.
Also you can use "profile any .NET process started" mode: launch dotTrace as administrator, click Profile -> ".NET Process" -> specify parameters -> click run - profiling session will start; and then run your tests - they will be recognized and profiled by dotTrace, and several snapshots will be made.
Plese let me know if you have any other questions or requests.
Hello again Asia.
First of all, accept my apologies, as I've indeed received the message you've just sent me: I've simply missed it.
I've tried to follow your instruction, but I'm still unable to profile in such way.
Thanks to your tip, I've simply ran a profiling to IIS (after moving my wepapplication from a Dev Server to IIS) and ran a performance test without running the browser.
It seems that is such way dotTrace was able to collect profiling data. It took ages to shom me the list of functions as I've mistakenly tried with a 10 minutes and 50 users test, but at least it worked.
Thanks a lot Asia!
You're welcome!
BTW, you don't have to move to IIS, dotTrace is able to profile development server as well - just select "Profile" -> "WebDev Application".
Yes I know, thank you.
However I've recently found handy to set an IIS application, with a permament http port: easier to address especially when profiling and running performance tests at the same time.
Also, setting the web application in IIS makes generaly easier to find possible folders/file permission issues (something that with WebDev is impossible).