Answered by:
Missing performance data for azure web role

Question
-
I have configured an azure web role to use application insights.
Most of the data is coming in fine, exceptions, metrics (cpu, network usage,...). The only thing missing is performance data.
What am I missing?
Tuesday, January 28, 2014 9:28 AM
Answers
-
Hello Sven,
I'm afraid AI might have a limited visibility into performance of async MVC controllers, however exceptions should still be collected.
Almost the same story applies to Azure Storage - AI will collect time spent in calls to Storage if they were synchronous (I may be mistaken here and will need to talk to guys who know better...)
There should be an opportunity in AI to collect custom counters from the system, so if you have such a counter implemented in your app (e.g. processing time) - you can create an entry in Collection Plan, so AI Agent will report this counter from the system and you can choose it on the dashboard to see the metrics you care about.
Let's see if there are any other replies with ideas on how to properly support MVC4 Async.
Dmitry Matveev
- Proposed as answer by Dmitry G MatveevMicrosoft employee Friday, February 14, 2014 9:34 PM
- Marked as answer by Dmitry G MatveevMicrosoft employee Thursday, April 24, 2014 12:02 AM
Thursday, January 30, 2014 8:44 PM
All replies
-
Hello GroteGust,
On the screenshot I see that there are no slow requests detected for this app and also Avg. Response Time is near to zero. This might mean that this app is quick and performing well or AI didn't report the calls (or application does not have an ongoing load to report on).
There might be a few suggestions based on the above:
1. Application is not under load, so you get the platform counters for the process but not app-related statistics - try to put more load on the app, execute some scenarios involving this app.
2. Application is mostly fast and async at the same time, so AI didn't measure execution time well for transactions.
3. Application does not have external dependencies to report on Dependencies chart (SQL, HTTP, Azure SDK) or all dependencies are not monitored by AI.
4. Some AI workflow failed on the role - you can try to open Remote Desktop to the role and take a look at the event viewer for the possible indicators (Operations Manager log)
These are all guesses, it's hard to tell what exactly can be wrong at this stage.
Dmitry Matveev
Tuesday, January 28, 2014 8:49 PM -
Hello Dmitry,
1. The application is used in a production environment, it definitely has (some) load.
2. The app is an MVC 4 web application in a web role. The controller is indeed an async controller, and I have indeed done my best to achieve fast response times. ;-) However the response times are around 110 ms, not 0 ms.
3. The app uses azure storage, no sql server,... I have followed the steps to add a new application as follows:
Would you like to collect data from a server component? Yes
What technology is your application built on? .Net framework
Is your application running in Azure? Yes
Does your application run in a Cloud Service or Virtual Machine? Cloud service (Has this last question been added / changed recently?)
4. No erros in the operations manager logs.
Are there any other places I should look for performance data, files which should be created on the VM, tables in azure storage, ...
Sven
Wednesday, January 29, 2014 8:38 AM -
Hello Sven,
I'm afraid AI might have a limited visibility into performance of async MVC controllers, however exceptions should still be collected.
Almost the same story applies to Azure Storage - AI will collect time spent in calls to Storage if they were synchronous (I may be mistaken here and will need to talk to guys who know better...)
There should be an opportunity in AI to collect custom counters from the system, so if you have such a counter implemented in your app (e.g. processing time) - you can create an entry in Collection Plan, so AI Agent will report this counter from the system and you can choose it on the dashboard to see the metrics you care about.
Let's see if there are any other replies with ideas on how to properly support MVC4 Async.
Dmitry Matveev
- Proposed as answer by Dmitry G MatveevMicrosoft employee Friday, February 14, 2014 9:34 PM
- Marked as answer by Dmitry G MatveevMicrosoft employee Thursday, April 24, 2014 12:02 AM
Thursday, January 30, 2014 8:44 PM -
Hello Dmitry,
Do you have any more information regarding Application insights and MVC async?
Sven
Tuesday, April 1, 2014 8:57 AM -
Hello Sven,
I don't have any additional information on the MVC async support, only silly things like "It's on our roadmap" which I bet isn't really helpful...
The idea with the exposed counters is all I have... You can also check if Application Insights SDKs give you some opportunity to submit the data you need about the request..
Dmitry Matveev
Tuesday, April 1, 2014 7:07 PM