The .NET Agent automatically discovers many common backend types. Most backend types have a default discovery rule and a set of configurable properties.

For instructions to revise backend discovery rules, see Backend Detection Rules.

ADO.NET Backends

The .NET Agent automatically discovers ADO.NET data providers implementing standard Microsoft interfaces as database backends. For a complete list, see "Supported ADO.NET Clients" on .NET Supported Environments.

Because the ADO.NET API is interface-based, by default AppDynamics instruments all ADO.NET database providers that implement these interfaces.

For database identification, AppDynamics uses information from the ADO.NET connection string. The connection string specifies the server address and schema or the local file name. Most connection strings are formatted according to well-known rules that can be parsed and distilled to a database name. However, because there is no standard on the connection string, it is up to the ADO.NET provider implementer to choose the format.

For some providers, AppDynamics may fail to parse the connection string. In these cases, the .NET Agent uses the complete connection string minus any user password. The property is labeled ADO.NET connection string and the value shows the connection string minus any user password.

For example, the agent names following database backend using the connection string pattern <datasource name>-<database name>:

.\SQLEXPRESS-HowdyWorldDB

ADO.NET Configurable Properties

You can enable or disable the use of the following properties for ADO.NET exit points:

Configurable Properties

Default Detection and Naming Property?

Description

Host

Yes

data source or database server

Database

Yes

database name

Vendor

No

type of the client-side ADO.NET library

Connection String

No

full connection string with password filtered out

Port

No

port number

Directory Service Backends

The .NET Agent automatically discovers exit calls to directory services that use the System.DirectoryServices.Protocols (S.DS.P) libraries.

The agent names the backend for the server name. If the agent is unable to derive the server name from the request, it constructs a name using Domain Component (DC) values.

For example, activedirectory.example.com

HTTP Backends

AppDynamics automatically detects HTTP exit points (backends). 

.NET Agent for Windows

For the .NET Agent for Windows, the default HTTP automatic discovery rule uses the URL property.  From the enabled properties AppDynamics derives a display name using the URL.

For example,

http://api.example.com:8989/searchfares

.NET Agent for Linux

For the .NET Agent for Linux, the default HTTP automatic discovery rule for backends uses the host name and port number. 

For example:

http://api.example.com:8989

HTTP Configurable Properties

For both the Windows and Linux versions of the .NET Agent, you can enable or disable the use of the following properties for HTTP exit points:

Configurable Properties

Default Detection and Naming Property?

Description

.NET Agent for Windows.NET Agent for Linux

Host

No

YesHTTP host

Port

No

YesHTTP port number

URL

Yes

Nofull URL

Query String

No

YesHTTP parameters/query string

New in 4.5.13 You can now customize HTTP backend detection and naming for the .NET Agent for Linux through the Controller UI.
Customizing HTTP backend detection and naming is a feature preview in this agent version, recommended for pre-production systems. For information on enabling preview features, see Enable Preview Features.

Message Queue Backends

By default, AppDynamics automatically detects and identifies many message queue exit points. For a list of the supported message-oriented middleware products, see Supported Remote Service Detection for .NET.

The default queue automatic discovery rule uses the destination property to name the message queue backend.

For example:

HowdyWorldQueue$\HWT_MQ_Server1_MsgQ

Message Queue Configurable Properties

In general, the properties listed below are used for queue exit points. However, each message-oriented product is different and there may be variations in the properties or their names.

Configurable Properties

Default Detection and Naming Property?

Description

Host

No

queue server name

Destination

Yes

name of topic or queue

Destination Type

No

queue or topic

Vendor

No

vendor from the client library

For more information on specific queue types, see:

MongoDB Backends

By default the .NET Agent detects MongoDB exit calls for create, read, update, and delete (CRUD) operations using the C# and .NET MongoDB Driver versions 1.10, 2.0, 2.2, and 2.4.

The default MongoDB automatic discovery rule uses the host, port and database name to name the MongoDB backend. For example, mymongohost.27017.mymongodb.

MongoDB configurable properties

You can configure the use of the following properties for MongoDB exit points:

Configurable Properties

Default Detection and Naming Property?

Description

Host

Yes

MongoDB host

PortYesMongoDB port
DatabaseYesMongoDB database name

.NET Remoting

AppDynamics automatically detects and identifies remoting exit points (backends) when an application uses .NET remoting. 

The default remoting automatic discovery rule uses the URL property. For example, tcp://remoting.example.com:8648/MovieTicketBooking

See Enable Correlation for .NET Remoting to configure downstream correlation.

.NET Remoting configurable properties

You can configure the use of the following property for .NET Remoting exit points:

Configurable Properties

Default Detection and Naming Property?

Description

URL

Yes

Full URL

WCF Backends

AppDynamics automatically detects and identifies WCF exit points (backends) when an application uses the WCF client library. The default WCF automatic discovery rule uses the remote address property. The agent uses the enabled properties to derive a display name using the remote address.

For example, http://wcf.example.com:8205/Services/Service1.svc

Agent Compatibility 

The table below describes the WCF backend detection support for each variant of the .NET Agent. 

Agent and VersionWCF Backend Detection Support
.NET Agent for WindowsFully supported
.NET Agent for Linux, version 20.7.0 and later

Partially supported

  • Works with .NET Core, version 3.1 and later
  • Compatible with asynchronous calls over HTTP
  • Does not support the Operation Contract and SOAP Action properties
.NET Microservices AgentNot supported

WCF configurable properties

You can enable or disable the use of the following properties for WCF exit points:

Configurable Properties

Default Detection and Naming Property?

Description

Remote Address

Yes

URL minus the query, fragment and user information (name and password)

Operation Contract

No

WCF operation name

URL

No

Full URL

Host

No

Host portion of URL

Port

No

Port number if present in the URL, otherwise protocol default

SOAP Action

No

For web service calls, the SOAP action

.NET Web Services Backends

By default, AppDynamics automatically detects and identifies web services exit points (backends) when an application uses the Microsoft Web Services client library. The default web services automatic discovery rule uses the URL property. From the enabled properties AppDynamics derives a display name using the URL.

For example, http://webservice.example.com:8105/Services/Service1.asmx

Web Services configurable properties

You can enable or disable the use of the following properties for Web Services exit points:

Configurable Properties

Default Detection and Naming Property?

Description

Service

No

web service name

URL

Yes

full URL

Operation

No

web service operation name

Soap Action

No

SOAP action

All Other Traffic

For information on All Other Traffic transactions, see Business Transactions.

Custom Exit Points

If you want to monitor a backend that isn't listed under 'Remote Service Detection' on .NET Supported Environments, then configure a custom exit point.

 

By default, you have to restart the instrumented application for instrumentation changes to take effect. You can enable Runtime Reinstrumentation for the .NET Agent so that you don't need to restart your application and the AppDynamics.Agent.Coordinator after instrumentation changes.