This page applies to the .NET Agent in the Azure App services environment. It describes how the .NET Agent names your virtual application tiers and nodes by default, and how to customize the names of tiers.

An Azure Web App consists of the main application and its sub-applications. Together, these applications are called "virtual applications". Once you instrument an Azure Web App with the .NET Agent, restart the application and apply load to it, the .NET Agent reports metrics for the application and virtual applications. The .NET Agent names your virtual application tiers using either a default or custom method:

  • Default: Splunk AppDynamics creates new tiers for each virtual directory. Each tier contains a node representing the virtual directory.
  • Custom: When you specify a tier name in the AppDynamicsConfig.json file, all virtual directory applications will report as nodes under this tier.

Default Tier Names 

By default, each virtual application node appears under a separate tier named <webapp-name>/<pathname-of-sub-app>in the Controller UI. For example, if an Azure Web App named demomultiapp has three virtual apps (the main application and two sub applications named billing and reports),  the sub application tiers are named demomultiapp, demomultiapp/billing, and demomultiapp/reports. The node name is the tier name prepended with the name of the virtual machine on which it runs. For example, demomultiapp/billing may have a node named  RD001550D5449FA-demomultiapp/billing.

You can manually edit the tier name in the Controller UI.

Custom Tier Names

Rather than creating a tier for each virtual application, all virtual applications can report as nodes under a single tier. You can specify the tier name in the AppDynamicsConfig.json file.

  • When you instrument your application using the .NET Agent site extension, the .NET Agent automatically instruments all virtual directories and applications. However, all AppSettings set at the root app are inherited by all virtual applications.
  • For NuGet-based deployments, the agent uses the AppDynamicsConfig.json file deployed in the same path as the Profiler DLL and ignores the AppDynamicsConfig.json file settings for individual virtual apps in the deployment.

By default, the tier name of the application in the AppDynamicsConfig.json file is null. The following edited version of the AppDynamics.Config.json file shows a tier name of Business App 15. Note that the node name cannot be changed as its value is automatically updated as the application scales vertically and horizontally:

{
  "controller": {
    "host": "PUT_YOUR_VALUE_HERE",
    "port": 0,
    "account": "PUT_YOUR_VALUE_HERE",
    "password": "PUT_YOUR_VALUE_HERE",
    "ssl": false,
    "enable_tls12": false,
    "proxy": true
  },
  "application": {
    "name": "Demo Multi App",
    "tier": "Business App 15",
    "node": null
  },
  "instrumentors": {
    "customCorrelationConfig": null,
    "enable": [],
    "disable": []
  }
}
JSON


After the application is restarted, the virtual app tier name appears as Business App 15. When you expand the tier on the Tiers & Nodes Dashboard, you see the nodes of the virtual applications and the main (root) application. For example, if an Azure Web App named demomultiapp has three virtual apps (the main application and two sub applications named billing and reports),  there is just one tier named Business App 15. Within that tier, there are three nodes: RD001550D5449FA-demomultiappRD001550D5449FA-demomultiapp/billing, and RD001550D5449FA-demomultiapp/reports.

The Nodes Dashboard displays the nodes of the tier Business App 15 in a similar manner. Nodes of the virtual application are displayed in the Controller UI using the name of the virtual machine the app is running on, followed by the name of the virtual application as it appears in Azure Web Apps.

The current agent configuration file does not support targeting different virtual applications for customized tier naming, however, you can manually create .NET tiers and move the nodes to different tiers in the Controller UI.

Prevent Daas Instrumentation

You can prevent the agent from instrumenting the Daasrunner process by creating the environment variable AppDynamics.Processlist and setting it to w3wp.exe. This environment variable acts as an allowlist, where only the processes specified will be instrumented. Then delete the Daas tier and the Daasrunner node on the Tiers & Nodes Dashboard. You might also want to include WebJob processes in this list.  See Install the Splunk AppDynamics Azure Site Extension for .NET.

Limitations

In this version, you cannot customize the tier names of virtual sub-applications in the AppDynamicsConfig.json file.

Also, this version does not support monitoring virtual apps together with deployment slots.