Filtering App Insights Client-Side successful dependencies

So, I found that our client JavaScript was recording quite a lot of successful dependency messages for loading 3rd party scripts:

These are all analytics tools, and to be honest, I don’t care about them. Sure, it can be useful to know how long they take to load, but these are loaded after the page is ready, so even if they are slow they shouldn’t impact performance. And I don’t really think I need to know every time a user loads these analytics tools.

Therefore, I wrote a telemetry filter to block sending them. I could just use sampling – but I’d prefer to have none.

onInit: function (sdk) {
	/*	Once the application insights instance has loaded and initialized this method will be called 
	    This filter will block successful remote dependency requests being logged. */
	sdk.addTelemetryInitializer(function(envelope) {
		if (envelope.baseType === 'RemoteDependencyData')
		{
			if (envelope.baseData.success)
			{
				return false;
			}
		}
	});
},

From my testing, if the user blocks loading of a remote dependency I don’t see any kind of message being returned – even a failure, which is good.

Filtering App Insights Client-Side successful dependencies

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.