Your data. Anywhere you go.

New Relic for iOS or Android


Download on the App Store    Android App on Google play


New Relic Insights App for iOS


Download on the App Store


Learn more

Close icon

Relic Solution: Profiler log says "This application pool (<APP_POOL_ID>) is not explicitly configured to be instrumented or not but application pools are set to be disabled by default"


#1

This post is part of a series of posts designed to guide you through troubleshooting common issues in the .NET agent. For more context, please see <Troubleshooting with .NET agent log files>. If you were linked here directly, you should also take a look at the post I just linked to in order to make sure you’re looking at the log files that represent the application you are trying to monitor.

The issue

  • The .NET agent profiler log for your application’s process says This application pool (<APP_POOL_ID>) is not explicitly configured to be instrumented or not but application pools are set to be disabled by default.
  • Make sure the third-to-last word is “disabled”, not “enabled”. If it says that app pools are set to be enabled by default, these instructions do not apply.

What it means.

  • In your global newrelic.config file (C:\ProgramData\New Relic\.NET Agent), the line <defaultBehavior instrument="false"/> is set, meaning that the agent will not instrument any app pools unless they are explicitly declared.
  • The application pool displayed inside the parenthesis of the message in the profiler log is not explicitly declared to be instrumented in the newrelic.config file.

The solution

  • If you want to instrument all app pools by default, change the line <defaultBehavior instrument="false"/> to <defaultBehavior instrument="true"/>.
<applicationPools>
  <defaultBehavior instrument="true"/>
</applicationPools>
  • If you want to enable instrumentation for only this app pool, leave the defaultBehavior line set to false, then explicitly declare the app pool to be instrumented.
<applicationPools>
  <defaultBehavior instrument="false"/>
  <applicationPool name="MyAppPool" instrument="true"/>
</applicationPools>
  • Issue a command-line iisreset.

Official Documentation


Relic Solution: Common .NET Agent Profiler Log Issues
#2

Also check for a newrelic.config in the application folder and also New Relic settings in the app.config or web.config which could be overriding the agent settings.

Learnt those from experience :rolling_eyes:


#3

In this case, localized configuration like web.config and local newrelic.config files can’t affect the issue.

Thie profiler is incapable of seeing localized newrelic.config files for IIS app pools and, if instrumentation is disabled in the global config file, then the web.config setting is never read by the agent.

But I agree, you should always check to make sure you know where all the settings are placed.