Kibana version: 8.1.2
Elasticsearch version: 8.1.2
APM Server version: 8.1.2
APM Agent language and version: .NET Agent v1.18.0
I was doing profiler auto instrumentation of Nop Commerce application - GitHub - nopSolutions/nopCommerce: ASP.NET Core eCommerce software. nopCommerce is a free and open-source shopping cart.
While going through the stacktrace of db spans I found that its doesnt contain any stackframe with function calls from NopCommerce source code, all where library calls.
Scenario: Adding items to cart
Transaction name: POST ShoppingCart/AddProductToCart_Details{productId/shoppingCartTypeId}
Span name: SELECT FROM Customer
Stacktrace:
C:\Users\jenkins\workspace\net_apm-agent-dotnet-mbp_v1.18.0\apm-agent-dotnet\src\Elastic.Apm\Model\Span.cs in End at line 471
C:\Users\jenkins\workspace\net_apm-agent-dotnet-mbp_v1.18.0\apm-agent-dotnet\src\Elastic.Apm\Model\DbSpanCommon.cs in EndSpan at line 77
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in CommandExecuteReaderWithBehaviorAsyncIntegration.OnAsyncMethodEnd.NpgsqlCommand.DbDataReader
C:\Users\jenkins\workspace\net_apm-agent-dotnet-mbp_v1.18.0\apm-agent-dotnet\src\Elastic.Apm.Profiler.Managed\CallTarget\Handlers\Continuations\TaskContinuationGenerator`1.cs in ContinuationAction at line 87
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in MoveNext
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in RunCallback
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in RunContinuations
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in TrySetResult
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in ExecuteDbDataReaderAsync
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in MoveNext
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in RunOrScheduleAction
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in RunContinuations
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in TrySetResult
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in SetExistingTaskResult
C:\Users\jenkins\workspace\net_apm-agent-dotnet-mbp_v1.18.0\apm-agent-dotnet\src\Elastic.Apm.Profiler.Managed\CallTarget\Handlers\Continuations\TaskContinuationGenerator`1.cs in ContinuationAction at line 101
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in MoveNext
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in RunCallback
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in RunContinuations
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in TrySetResult
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in ExecuteReader
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in MoveNext
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in RunOrScheduleAction
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in RunContinuations
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in TrySetResult
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in SetExistingTaskResult
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in NextResult
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in MoveNext
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in RunOrScheduleAction
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in RunContinuations
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in TrySetResult
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in <ReadMessage>g__ReadMessageLong|213_0
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in MoveNext
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in RunOrScheduleAction
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in RunContinuations
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in TrySetResult
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in <Ensure>g__EnsureLong|41_0
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in MoveNext
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in InvokeContinuation
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in OnCompleted
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.11\System.Private.CoreLib.dll in PerformIOCompletionCallback
Concerns:
- All the db span stack frames contains only library calls and missing functions calls from Controller, Service or Repository layers of Nop Commerce application source code, even though the controller invokes service and repository layer functions.
Controller function - Nop Commerce source code - How to get good stack trace for async functions?
- Is it possible to get information of all function calls that occurred for a particular transaction using the agent?