For supported frameworks, Atatus .NET agent automatically captures transactions. Use StartTransaction() or CaptureTransaction() to instrument unsupported frameworks or background operations.
Required Imports
copy
using Atatus;
using Atatus.Api;
1. StartTransaction
Use StartTransaction() to create a custom transaction. You must call End() to complete the transaction.
Syntax
var transaction = Atatus.Agent.Tracer.StartTransaction(name, type);
Parameter
| Parameter | Type | Description |
|---|---|---|
| name | String (Required) | Transaction name. |
| type | String (Required) | Transaction type. Use ApiConstants.TypeRequest for web requests or ApiConstants.TypeApp for background tasks. |
Example
copy
using Atatus;
using Atatus.Api;
var transaction = Atatus.Agent.Tracer.StartTransaction("GET /users", ApiConstants.TypeRequest);
try
{
// Your code here
}
catch (Exception ex)
{
transaction.CaptureException(ex);
}
finally
{
transaction.End();
}
2. CaptureTransaction
Use CaptureTransaction() to create a transaction with automatic lifecycle management. The transaction ends automatically when the callback completes.
Syntax
Atatus.Agent.Tracer.CaptureTransaction(name, type, action);
Parameter
| Parameter | Type | Description |
|---|---|---|
| name | String (Required) | Transaction name. |
| type | String (Required) | Transaction type. |
| callback | callback (Required) | Callback function that receives the transaction instance. |
Example
copy
using Atatus;
using Atatus.Api;
Atatus.Agent.Tracer.CaptureTransaction("HealthCheckDB", ApiConstants.TypeApp, (t) =>
{
try
{
using var conn = new SqlConnection(connectionString);
conn.Open();
// Your database operations
conn.Close();
}
catch (Exception ex)
{
t.CaptureException(ex);
}
});
3. CurrentTransaction
Use CurrentTransaction to access the active transaction within the current execution context.
Syntax
var transaction = Atatus.Agent.Tracer.CurrentTransaction;
Example
copy
using Atatus;
using Atatus.Api;
var transaction = Atatus.Agent.Tracer.CurrentTransaction;
if (transaction != null)
{
transaction.SetLabel("operation", "health-check");
}
+1-415-800-4104