Transaction represents a single end-to-end trace across all services involved in handling a request — such as an inbound HTTP request, a message consumed from a queue, etc.
You can view the list of transactions for each of your services in the Transactions section:

Filtering and Searching
You can filter transactions by service, time period, or using the Errors only toggle. You can also search transactions by free text, returning any transactions where the search term appears in the transaction’s log entries:

Filters are combined using AND logic, so only transactions matching all applied filters are returned, including any already set in the Transactions screen, such as
Service or Time Period.
Transaction Detail
To view more details for a single transaction, click on it to see a full breakdown — including all spans, logs, and time taken across each component and service:



Errors
For transactions that fail, the transaction will appear as an error in Trace0, with the full error details and stack trace included:
Tags
Tags let you attach important business context to a transaction, such as a customer ID, order ID, tenant ID, etc. Tags use thetrace0.tag.* namespace and can be added through logs or span attributes.
1. Logs
Tags can be included in standard log messages:

Asynchronous Transactions
Asynchronous transactions are transactions triggered independently of the transaction that originally initiated them — for example, a Lambda function reading messages from an SQS queue, or an ECS task consuming messages from a Kafka topic. Unlike a typical synchronous call (e.g. an HTTP request), these transactions aren’t a direct extension of the transaction that triggered them. This creates two challenges for standard trace visualization:- Duration doesn’t roll up naturally. It wouldn’t make sense to include the duration of a downstream transaction (e.g. an SQS consumer) as part of the duration of the transaction that produced the message (e.g. the producer Lambda) — the two run independently, often at completely different times.
- A single transaction can have multiple sources. A consumer might process a batch of several messages in one invocation, and those messages could have been sent by different upstream transactions.
Consumed By— the downstream transaction(s) that consumed the message(s) this transaction sent.Produced By— the upstream transaction(s) that sent the message(s) this transaction consumed.


- Did any of my downstream async services fail?
- Which transaction sent the message that triggered this one?










