cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Alex.Riley
AppDynamics Team

.NET Core Application Workflow for Agent Business Transaction Detection

Contents

Who would use this workflow?

If you have a .NET core application and the .NET agent is not detecting any Business Transaction even though the application is under load you may need to validate the aspdotnet-core-instrumentation node property. 

The .NET agent, by default, assumes that the application is using the default routing mechanism for its .NET core version. However, this is not always the case, and, in some instances, this can prevent the agent from registering Business Transactions.  

How to check and adjust?  

The simplest way to check would be to review the AgentLog file at the below locations based on the underlying OS 

  • For Windows, the default location is %programdata%\appdynamics\DotNetAgent\Logs
  • For Linux, the default location is tmp/appd/dotnet
  • For Azure Site Extension, the default location is %home%\LogFiles\AppDynamics

In the AgentLog file there will be a startup log entry that will list the .NET core version in use as well as the inspected object: 

INFO [com.appdynamics.tm.AspDotNetCoreInterceptorFactory] AspNetCore version: 3.1.32.0 (used object type Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal.SocketConnection via Microsoft.AspNetCore.Http.Features.IFeatureCollection [Microsoft.AspNetCore.Http.Features.IFeatureCollection]) 

Next, the agent will write what the determined routing is: 

INFO [com.appdynamics.tm.AspDotNetCoreInterceptorFactory] Determined ASP.NET Core routing being used is Mvc 

However, the agent detected the routing as MVC which was deprecated in .NET Core 3, and this is not a viable option.  

Refer to this AppDynamics Documentation 

Resolution

To resolve this issue, we will need to add a node property called aspdotnet-core-instrumentation at the tier level and apply it to all nodes under the tier. 

Since our application is using 3.1, we have the following options: 

The different values have their advantages and disadvantages listed here: AppDynamics Docs

If the application routing middleware is heavily customized, HTTP might be the only viable option to ensure the required Business Transactions/entry points are captured. 

Version history
Last update:
‎08-12-2024 10:44 AM
Updated by:
Join Us On December 10
Learn how Splunk and AppDynamics are redefining observability


Register Now!

Observe and Explore
Dive into our Community Blog for the Latest Insights and Updates!


Read the blog here