Duplicate instrumentation errors in logfile

I am trying to monitor a Non-IIS, .Net application. The application crashes frequently for no known reason.

The application runs a file called servicehost.exe which has its own xml configuration file called servicehost.exe.config. (not to be confused with svchost.exe… )

The config file now contains the following stanza:

<appSettings>
    <add key="NewRelic.AgentEnabled" value="true" />
    <add key="NewRelic.AppName" value="servicehost.exe" />
</appSettings>

The NewRelic logfile shows the following:

[Info ] 2016-08-12 14:01:50 Logger initialized.
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [System.Web.Http]System.Web.Http.Controllers.ApiControllerActionInvoker.InvokeActionAsync() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [System]System.Net.HttpWebRequest.GetResponse() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [System.Data]System.Data.OleDb.OleDbCommand.ExecuteReader(System.Data.CommandBehavior) was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [System.Data]System.Data.Odbc.OdbcCommand.ExecuteReader(System.Data.CommandBehavior) was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [System.Data]System.Data.OleDb.OleDbCommand.ExecuteNonQuery() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [System.Data]System.Data.Odbc.OdbcCommand.ExecuteNonQuery() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [System.Data]System.Data.OleDb.OleDbCommand.ExecuteScalar() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [System.Data]System.Data.Odbc.OdbcCommand.ExecuteScalar() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [System.Data]System.Data.SqlClient.SqlCommand.ExecuteReader(System.Data.CommandBehavior,System.String) was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [System.Data]System.Data.SqlClient.SqlCommand.ExecuteNonQuery() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [System.Data]System.Data.SqlClient.SqlCommand.ExecuteScalar() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [System.Data]System.Data.SqlClient.SqlCommand.ExecuteXmlReader() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [System.Data.OracleClient]System.Data.OracleClient.OracleCommand.ExecuteReader(System.Data.CommandBehavior) was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [System.Data.OracleClient]System.Data.OracleClient.OracleCommand.ExecuteNonQuery() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [System.Data.OracleClient]System.Data.OracleClient.OracleCommand.ExecuteScalar() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [Oracle.DataAccess]Oracle.DataAccess.Client.OracleCommand.ExecuteReader(System.Boolean,System.Boolean,System.Data.CommandBehavior) was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [Oracle.DataAccess]Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [Oracle.DataAccess]Oracle.DataAccess.Client.OracleCommand.ExecuteScalar() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [Oracle.DataAccess]Oracle.DataAccess.Client.OracleCommand.ExecuteXmlReader() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [Oracle.ManagedDataAccess]Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(System.Boolean,System.Boolean,System.Data.CommandBehavior) was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [Oracle.ManagedDataAccess]Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteNonQuery() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [Oracle.ManagedDataAccess]Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteScalar() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [Oracle.ManagedDataAccess]Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteXmlReader() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [MySql.Data]MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(System.Data.CommandBehavior) was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [MySql.Data]MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [Devart.Data.MySql]Devart.Data.MySql.MySqlCommand.ExecuteReader(System.Data.CommandBehavior) was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [Devart.Data.MySql]Devart.Data.MySql.MySqlCommand.ExecuteNonQuery() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [Npgsql]Npgsql.NpgsqlCommand.ExecuteReader() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [Npgsql]Npgsql.NpgsqlCommand.ExecuteNonQuery() was found and will be ignored
[Info ] 2016-08-12 14:01:50 Duplicate instrumentation for [Npgsql]Npgsql.NpgsqlCommand.ExecuteScalar() was found and will be ignored

There is nothing appearing in the NewRelic dashboard.

Any assistance you could offer would be greatly appreciated.

Hi Rabie,

You’re on the right track to get your non-IIS application instrumented for monitoring by the .NET agent.

First off, you don’t need to worry about the “duplicate instrumentation” warnings in the profiler logs. Those are totally normal. They’re just telling you that two different files contain instrumentation information for the same methods. It does not affect the actual instrumentation of any code.

The entries you put in your applications config file are the first step to getting this working. They tell the .NET agent that it should pay attention to your custom application and try to instrument it.

However, the agent has no default frame of reference for what code should be monitored in non-IIS applications, so it requires that you create custom transactions that will tell the agent exactly which methods are important to you and how they should be reported to the New Relic servers.

There is an in-depth walkthrough of this process in this forum post that should help you get up and running. Give it a shot and let me know how it goes. I’d be happy to answer any additional questions you have about this.

Thanks!

Don