Copyright Johan Kronberg 2009-2024 Latest posts RSS feed X: johankronberg LinkedIn Profile GitHub: krompaco
Site generated by: Record Collector

Episerver and Application Insights test drive

As you probably know Application Insights is Azure's option for application monitoring and visitor tracking. It's not New Relic APM/Browser and it's not Google Analytics but it's a lot of both. I've been running the preview on this blog for a while now and here's some reporting.

Setup steps needed have been bundled into Visual Studio for a while. This Getting Started with Application Insights for ASP.NET article shows how easy it is to install. I had no problems at all getting it setup on this blog which is an almost latest version Episerver MVC site hosted on Azure. The setup results in stuff being part your application. For comparison New Relic acts from an agent that you install outside of the application.

Once up and running and when I browsed around the reports I didn't need long to remove Google Analytics tracking entirely. For my needs Application Insights is more than good replacement.

For another New Relic comparison you can do a View Source of a page that has Application Insights set up, check the HEAD element and take a look at the tracking script; I think we can all agree that it's much nicer and neat than the horrific equivalent that New Relic Browser spits out into your markup. Even though New Relic's profiling agent has caused some major headache for us I still do like New Relic but anyway; a neat script says something to me about quality.

Custom events

As Application Insights sits as part of your application you have the the possibility to track events and shoot other data from server side. Here's an example from this site.

using Microsoft.ApplicationInsights;
..
var tc = new TelemetryClient();
tc.TrackEvent("Form spam detected");

I also shoot an event named "Initialization" from an Episerver initialization module just to see how often an application start occurs.

Custom events

Alerting and monitoring

Typical URL ping tests can be configured and alerting can be sent based on ping result or any of the client and server profiling metrics to for example get notified on slower than threshold client response times or exception count.

Performance data

A lot of metrics are available, here's an example of calls outside of the Web App.

Remote dependencies

Basic tracking reports

Page views

Users

Sessions

Conclusion

A thing to note is that during Preview phase Application Insights data goes to US data centers only. Once out of preview I would have no problem recommending it based on the current features only. You can use it from any type of platform or hosting and pricing should hopefully be reasonable.

Published and tagged with these categories: Episerver, ASP.NET, Development