This page applies to an earlier version of the AppDynamics App IQ Platform.
For documentation on the latest version, see the 4.4 Documentation.


Skip to end of metadata
Go to start of metadata

On this page:

Related pages:

Your Rating:
Results:
PatheticBadOKGoodOutstanding!
47 rates

AppDynamics automatically detects entry points for client requests to ASP.NET applications. If the request occurs on an originating tier, the method or operation marks the beginning of a business transaction and defines the transaction name. In most cases, this type of entry point maps to a user request or action such as "Cart/Checkout". AppDynamics allows you to configure transaction naming based upon the ASP.NET request.

Default Automatic Naming for ASP.NET Transactions

By default, the AppDynamics auto-detection naming scheme identifies all ASP.NET transactions using the first two segments of the URI. 

For example, the following URI represents the checkout operation in an online store:

http://onlinestore.example.com/Cart/Checkout

AppDynamics automatically names the transaction:

/Cart/Checkout

For another example, the following URI represents a funds transfer operation in an online bank:

http://webbank.mybank.com/Account/Transferfunds/NorthernCalifornia

AppDynamics automatically names the transaction:

/Account/Transferfunds

Customize the Automatic Naming Scheme

AppDynamics lets you customize the auto-detected naming scheme to best fit your environment:

You can modify automatic naming for applications or tiers on the .NET tab under Configuration > Instrumentation > Transaction Detection.

    • If necessary, click Enabled under Transaction Monitoring and Discover Transactions automatically for ASP.NET requests.
      If you disable Discover Transactions automatically for ASP.NET, the agent doesn't discover ASP.NET transactions even if you configure custom naming.
    • Click Configure Naming for the ASP.NET type in the in the Entry Points panel.

The following sections provide examples to help you decide how to configure the naming scheme.

Identify Transactions Using URI Segments

AppDynamics offers the following options to automatically name ASP.NET transactions based upon the URI:

 Consider the following URL that represents the checkout operation in an online store:

http://example.com/Web/Store/Checkout

The first two segments of the URI don't provide a significant name for the business transaction:

/Web/Store

Identify a more meaningful name using one of the following options:

  • Click Use the full URI to identify the transaction by all URI segments. For example:

    /Web/Store/Checkout

  • Click Use the first or Use the last n segments to use two contiguous segments at the beginning or end of the URI, where n is the number of segments.

   For example, to identify the checkout transaction using the last two segments of the URI:

  /Store/Checkout

  • If you need more flexibility, such as using non-contiguous segments in the name, click Name Transactions dynamically using part of the requests and specify the segments with the Use URI segments in Transaction names option.
  • To name the transaction for specific URI segments, click Use URI segment(s) in Transaction names. This enables you to skip URI segments or use non-contiguous segments in the naming scheme.
    Enter the segment numbers separated by commas.

    For example the following URL represents the checkout transaction requested by a customer with ID 1234: http://example.com/Store/cust1234/Checkout .
    The checkout transaction is the same regardless of the customer, so it makes sense to name the transaction based upon the first and third segments of the URI.

AppDynamics names the transaction:

StoreCheckout

Identify Transactions Using Headers, Cookies, and Other Parts of HTTP Requests

  • To identify all your ASP.NET transactions using particular parts of the HTTP request, use the Name Transactions dynamically using part of the request option.

  • To use HTTP parameter values in transaction names, click Use a parameter value in Transaction names and enter the Parameter Name.
    For example, consider the following URL: http://example.com/Store/Inventory?category=electronics

AppDynamics names the transaction to include the category parameter value: /Store/Inventory.electronics

  • To use a header value in transaction names, click Use header value in transaction names and enter a Header Name. 
    For example, consider a site that uses the custom header "Version", AppDynamics names transactions with the header value as follows: /Store/Inventory.v2.5
  • To use a cookie value in transaction names, click Use a cookie value in Transaction names and enter the Cookie Name.
    For example, a website tracks a user's loyalty status in a cookie. Set the Cookie Name to "loyalty". AppDynamics names transactions for the loyalty cookie value: /Store/Inventory.Status=Gold
  • To Use a session attribute value in transaction names, Click Use a session attribute in Transaction names and enter the Session Attribute Key.
    For example, a website stores a customer's region in the session property. Set the Session Attribute name to "region". AppDynamics names transactions for the region session attribute value: /Store/Inventory.NorthAmerica
  • To use the request method in Transaction names, click Use the request method (GET/POST/PUT) in Transaction names.
    For example: /Store/Inventory.GET
  • To use the request host in Transaction names, click Use the request host in Transaction names.
    For example: /Store/Inventory.192.0.2.0
  • To use the request originating address in Transaction names, click Use the request originating address in Transaction names.
    AppDynamics names transactions for the ip address of the request client. For example: /Store/Inventory.192.0.2.10

Use Custom Expressions for Transaction Naming

Custom expressions enable you to name transactions using getter chain(s) for HttpRequest properties and methods.

To specify a custom expression, click Apply a custom expression on HttpRequest and use the result in Transaction Names and enter your custom expression getter chain as follows:

  • Enclose getter chains inside braces: ${} . The custom expression may contain multiple getter chains.
  • Use getter chain syntax.
  • Use any HttpRequest request attributes or methods.

For example, consider this URL:

http://mystore.example.com/Store/Inventory-Furniture 

The following custom expression uses two getter chains:

    • The first getter chain fetches the URL, splits it on the dash character ("-"), and uses the second string in the array.
    • The second getter chain fetches the HttpRequest.UserAgent property.
    • The literal dash character "-" separates the two getter chains. 

 ${Url.ToString().Split(Char[]/-).[2]}-${UserAgent}

The result is the following business transaction name:

Furniture-Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko

Custom Match Rules for ASP.NET Transactions

Custom match rules provide greater flexibility for transaction naming. When you define a match rule, AppDynamics uses the rule name for the business transaction name.

For steps to access the Custom Match Rules pane, see To create custom match rules for. NET entry points.

When AppDynamics detects a requests matching your specified criteria, it identifies the request using your custom name:

Method: Match on the HTTP request method, GET, POST, PUT or DELETE.

WIth automatic discovery for ASP.NET transactions enabled, configuring the match on GET or POST causes the the agent to discover both GET and POST requests. If you only want either GET or POST requests for the transaction, consider the following options:

    • Disable automatic discovery for ASP.NET transactions.
    • Create an exclude rule for the method you don’t want: GET or POST.

URI: Set the conditions to match for the URI.

HTTP Parameter: Match on HTTP parameter existence or a specific HTTP parameter value.

Header: Match on a specific HTTP header's (parameter's) existence or a specific HTTP header value.

Hostname: Match on the server host name. Optionally click the gear icon to set a NOT condition.

Port: Match on the server port number. Optionally click the gear icon to set a NOT condition.

Class Name: Match on the ASP.NET class name. Optionally click the gear icon to set a NOT condition.

Cookie: Match on cookie existence or a specific a specific cookie value.

When you create the rule, it appears in the Custom Match Rule list. The business application or tier you customized displays a green check in the Select Application or Tier pane.
After the agent receives the updated configuration, it discovers the new business transaction and displays it in the Business Transactions List.

Split custom ASP.NET transactions

AppDynamics lets you further refine ASP.NET custom transaction names using transaction splitting. See Transaction Splitting for Dynamic Discovery.

After the agent receives the updated configuration, it discovers the new business transaction and displays it in the Business Transactions List.