Hi Team,
I am testing a simple ASP.NET Core async application with AppDynamics .NET Agent.
The agent is successfully detecting:
- Business Transactions
- HTTP Exit Calls
- Database Calls
- Service Topology
- Async timings
I can see the transaction flow map correctly between ServiceA and ServiceB, and database calls are also visible.
However, in the Transaction Snapshot -> Call Graph / Function Trace view, the “Exit Calls / Threads” column is empty for async execution.
Application Flow:
1. ASP.NET Core endpoint receives request
2. Async HTTP call using HttpClient
3. Async SQLite DB operations
4. Response returned successfully
Sample Code:
```csharp
using Microsoft.AspNetCore.Builder;
using Microsoft.Data.Sqlite;
using Microsoft.Extensions.Hosting;
using System.Net.Http;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
string dbPath = "Data Source=test.db";
using (var conn = new SqliteConnection(dbPath))
{
conn.Open();
var cmd = conn.CreateCommand();
cmd.CommandText =
"CREATE TABLE IF NOT EXISTS Test (Id INTEGER PRIMARY KEY, Name TEXT)";
cmd.ExecuteNonQuery();
}
app.MapGet("/call", async () =>
{
var httpClient = new HttpClient();
var response =
await httpClient.GetStringAsync("http://localhost:5002/api/hello");
using var conn = new SqliteConnection(dbPath);
await conn.OpenAsync();
var insertCmd = conn.CreateCommand();
insertCmd.CommandText =
"INSERT INTO Test (Name) VALUES ('APM Test')";
await insertCmd.ExecuteNonQueryAsync();
var selectCmd = conn.CreateCommand();
selectCmd.CommandText = "SELECT COUNT(*) FROM Test";
var count =
(long)await selectCmd.ExecuteScalarAsync();
return new
{
message = "Service A response",
serviceB = response,
dbCount = count
};
});
app.Run();
Questions:
I have attached screenshots of:
Any clarification would be helpful.
Thanks.