Frontend app average response times/calls not including backend times/calls
search cancel

Frontend app average response times/calls not including backend times/calls

book

Article ID: 217431

calendar_today

Updated On:

Products

CA Application Performance Management (APM / Wily / Introscope)

Issue/Introduction

Frontend app average response times/calls not including the backend times/calls.

Resolution

The default dotnet.pbd that comes with the .NET agent installation should be able to pick up the async calls in the common .net implementation. The customer can customize the dotnet.pbd if they are aware of any specific async implementation patterns used in their .net apps and not already being covered by the default dotnet.pbd.

Additional Information

From the uploaded autoprobe logs, most of the classes/methods shown being instrumented appeared to be async methods, e.g.

 

Processing method [EnhancedShippingWebApp]Nbs.WebApp.Program::Main;[System.Private.CoreLib]System.Void([System.Private.CoreLib]System.String[])
Processing method [System.Net.Http]System.Net.Http.HttpClient::SendAsync;[System.Private.CoreLib]System.Threading.Tasks.Task([System.Net.Http]System.Net.Http.HttpRequestMessage)
Processing method [System.Net.Http]System.Net.Http.HttpClient::SendAsync;[System.Private.CoreLib]System.Threading.Tasks.Task([System.Net.Http]System.Net.Http.HttpRequestMessage)
Processing method [System.Net.Http]System.Net.Http.HttpClient::SendAsync;[System.Private.CoreLib]System.Threading.Tasks.Task([System.Net.Http]System.Net.Http.HttpRequestMessage;[System.Net.Http]System.Net.Http.HttpCompletionOption;[System.Private.CoreLib]System.Threading.CancellationToken)
Processing method [System.Net.Http]System.Net.Http.HttpClient::SendAsync;[System.Private.CoreLib]System.Threading.Tasks.Task([System.Net.Http]System.Net.Http.HttpRequestMessage;[System.Net.Http]System.Net.Http.HttpCompletionOption;[System.Private.CoreLib]System.Threading.CancellationToken)
Processing method [Microsoft.AspNetCore.Mvc.Core]Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker::InvokeAsync;[System.Private.CoreLib]System.Threading.Tasks.Task()
Processing method [Microsoft.AspNetCore.Mvc.ViewFeatures]Microsoft.AspNetCore.Mvc.Controller::OnActionExecutionAsync;[System.Private.CoreLib]System.Threading.Tasks.Task([Microsoft.AspNetCore.Mvc.Abstractions]Microsoft.AspNetCore.Mvc.Filters.ActionExecutingContext;[Microsoft.AspNetCore.Mvc.Abstractions]Microsoft.AspNetCore.Mvc.Filters.ActionExecutionDelegate)
Processing method [Microsoft.AspNetCore.Mvc.ViewFeatures]Microsoft.AspNetCore.Mvc.Controller::OnActionExecuting;[System.Private.CoreLib]System.Void([Microsoft.AspNetCore.Mvc.Abstractions]Microsoft.AspNetCore.Mvc.Filters.ActionExecutingContext)
Processing method [EnhancedShippingWebApp]Nbs.WebApp.Controllers.View.ErrorController::Index;[System.Private.CoreLib]System.Threading.Tasks.Task([System.Private.CoreLib]System.Int32)
Processing method [Microsoft.AspNetCore.Mvc.ViewFeatures]Microsoft.AspNetCore.Mvc.Controller::OnActionExecuted;[System.Private.CoreLib]System.Void([Microsoft.AspNetCore.Mvc.Abstractions]Microsoft.AspNetCore.Mvc.Filters.ActionExecutedContext)
Processing method [EnhancedShippingWebApp]Nbs.WebApp.Controllers.View.ErrorController+<Index>d__3::MoveNext;[System.Private.CoreLib]System.Void()
 

By design, async calls would usually return without waiting for the completion of the backend routines.  Thus, their execution times would not likely cover the times used for backend routine executions.