Disable Instrumentation for an IIS Application Pool

When you install the .NET Agent on a machine and use automatic tier naming, the agent instruments every IIS application by default. If you do not need to monitor all application pools, disable monitoring for selected pools.

  1. Open the config.xml Administer the .NET Agent
  2. Add the application-pools IIS .NET Agent Configuration Properties
    <application-pools>
    <!-- Do not instrument applications in DefaultAppPool when "enabled" attribute is set to false -->
    <application-pool name="DefaultAppPool" enabled="false" >
    <tier name="Disabled App Pool" />
    </application-pool>
    </application-pools>
    Note: tier is a required element even if you are disabling an app pool.
  3. Set the application-pool DefaultAppPool application-pool
  4. Restart the AppDynamics.Agent.Coordinator service.
  5. Restart IIS.

Configure Application Domain Monitoring

You can configure the .NET Agent to monitor ASP.NET applications with multiple Application Domains (AppDomains). This page assumes that you have a working knowledge of AppDomains and are familiar with the AppDomain implementation in your application.

This page does not describe the System Domain, Shared Domain, or DefaultDomain AppDomains that the CLR instantiates before it executes the managed code. If your standalone application runs in the DefaultDomain, see Instrument the DefaultDomain for Standalone Applications.

AppDomains in .NET

Windows uses processes to manage security and performance isolation between running applications. Process isolation ensures that the application's running code does not interfere with another application. However for applications that share data, making calls between Windows processes can introduce complications and performance issues. AppDomains enable developers to create several applications that run inside a single process but maintain application isolation.

Single Application Domain

When a single application runs inside its own process, the runtime host manages the AppDomain. The application executable and the AppDomain have the same name. The .NET Agent installs itself inside the single AppDomain and creates a node for the application.

AppDomain

Multiple Application Domains

When developers include multiple AppDomains in an application, all the AppDomains run inside a single process. The application executable may have the same name as one AppDomain, but there are other, uniquely-named AppDomains. By default, the agent installs itself inside all the AppDomains and creates nodes for them.

Multiple Application Domains

Configure Monitoring for Multiple Application Domains

If the application you monitor contains multiple AppDomains, the App Agent for .NET automatically instruments each AppDomain and creates a node. You can configure the .NET Agent to instrument only the AppDomains you specify. Use this to exclude AppDomains you do not want to monitor, and to limit the number of nodes in a tier.

You can configure application domain monitoring for:

  • Windows Services
  • Standalone Applications

Configure all instrumentation settings for the .NET Agent in the config.xml file. See Administer the .NET Agent.

  1. Identify the name of the AppDomains to instrument.
    Note: I

    If you have already instrumented your application, the AppDomain names display in the Node Dashboard.

    Click the node in the left navigation pane, then click CLR.

    Instrumentable AppDomains
  2. Launch a text editor as administrator.
  3. Edit the config.xml file as an administrator. See Administer the .NET Agent.
  4. Find the element that corresponds to your application with multiple AppDomains: Standalone Application element: <standalone-application executable="MyWindowsApplication.exe">
  5. Add the app-domain-name MyApp.exe AppDomain MyApp.exe
    <standalone-application executable="MyApp.exe" app-domain-name="MyApp.exe">
    <tier name="StandaloneApplication Tier"/>
    </standalone-application>
    Note: As soon as you instrument one AppDomain in the config.xml file, the agent instruments only the AppDomains you specify. Other AppDomains are not instrumented.
  6. To instrument additional AppDomains, add an element for each AppDomain as if they were separate applications.For example, to instrument MyAppDomain1 MyApp.exe
    <standalone-application executable="MyApp.exe" app-domain-name="MyAppDomain1">
    <tier name="StandaloneApplication Tier"/>
    </standalone-application>
  7. Save the config.xml file.
  8. Restart the AppDynamics.Agent.Coordinator service.
  9. Restart instrumented applications: Windows services or standalone applications.
Sample Standalone Application Configuration with Multiple AppDomains

This sample config.xml MyApp.exe config.xml MyApp.exe MyAppDomain2Standalone AppDomain (Sample)

<?xml version="1.0" encoding="utf-8"?>
<appdynamics-agent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<controller host="mycontroller.mycompany.com" port="8090" ssl=false">
<account name="customer1" password="changeme" />
<application name="MyDotNetApplication" />
</controller>
<machine-agent />
<app-agents>
<standalone-applications>
<standalone-application executable="MyApp.exe" app-domain-name="MyApp.exe">
<tier name="StandaloneApplication Tier"/>
</standalone-application>
<standalone-application executable="MyApp.exe" app-domain-name="MyAppDomain2">
<tier name="StandaloneApplication Tier"/>
</standalone-application>
</standalone-applications>
</app-agents>
</appdynamics-agent>

Enable Instrumentation for WCF Data Services

This page describes how to configure the .NET Machine agent to enable instrumentation for Windows Communication Foundation (WCF) Data Services including WCF RIA Services for Microsoft LightSwitch.

  1. Open the config.xml Administer the .NET Agent.
  2. Copy the code block below to a child element of the Machine Agent element. SeeFor example:The configuration syntax is enabled="true" .NET Agent Configuration Properties.
    <instrumentation>
    <instrumentor name="WCFDSEntryInstrumentor" enabled="true" />
    </instrumentation>
    <?xml version="1.0" encoding="utf-8"?>
    <appdynamics-agent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    ...
    <machine-agent>
    <!--Enable instrumentation for WCF Data Services correlation-->
    <instrumentation>
    <instrumentor name="WCFDSEntryInstrumentor" enabled="true" />
    </instrumentation>
    </machine-agent>
    ...
    </appdynamics-agent>
  3. Save the config.xml
  4. Restart the AppDyanmics.Agent.Coordinator
  5. Restart instrumented applications for your changes to take effect.