Enable the transactions processor
The Transactions tab breaks a service into its operations, and - for services that emit transaction data - breaks each operation into its segments in the drilldown. That segment breakdown appears only once the Coralogix transactions processor is running. This guide walks through enabling it.
Use this guide if an operation's drilldown shows only its spans list with no segment breakdown, or if you are setting up a new service and want segment-level visibility from day one.
What you need
- Coralogix Application Performance Monitoring (APM) installed and configured.
- Span Metrics enabled for the service.
- An OpenTelemetry Collector running version
0.130.0or later. - For Kubernetes deployments, the Coralogix Kubernetes Complete Observability integration on Helm chart
v0.0.203or later.
How it works
By default, OpenTelemetry lets you aggregate the performance of a single operation (span or endpoint) over time. It does not natively aggregate the performance of multiple connected operations over time as a single logical unit. The Coralogix transactions processor fills that gap, generating the segment-level data the operation drilldown uses.
You can continue using pure OpenTelemetry while adding transaction data through a lightweight, open processor contributed by Coralogix to the OpenTelemetry community. This approach adds no vendor-locked SDKs or agents and requires no modifications to the OpenTelemetry SDK. See the v0.130.0 enhancements in the OpenTelemetry Collector Contrib changelog.
The processor automatically identifies the transaction root span within each transaction and applies transaction attributes to all spans in that transaction:
- Transaction root identification: the processor finds the span with no parent span ID (or whose parent is not in the current trace) and marks it as the transaction root.
- Transaction attributes: all spans from the same service that are part of traces containing a transaction root receive the following attributes:
cgx.transaction: set to the name of the transaction root span.cgx.transaction.root: set totruefor the root span only.
Configure the processor
Configure the Coralogix transactions processor for your deployment.
- Kubernetes integration
- Custom OpenTelemetry deployments
The Coralogix Kubernetes Complete Observability integration ships the transactions processor as a preset in the values.yaml.
To enable the Coralogix transactions processor in your own collector configuration:
-
Add
coralogixandgroupbytrace/transactionsprocessors in theprocessorssection:processors:groupbytrace/transactions:wait_duration: 5snum_traces: 1000coralogix:transactions:enabled: trueNoteThe
groupbytrace/transactionsprocessor must be added before thecoralogixprocessor. This ensures that all spans belonging to the same trace are grouped and processed together. -
Add
coralogixandgroupbytrace/transactionsprocessors to yourtracespipeline:service:pipelines:traces:processors:- groupbytrace/transactions- coralogix
Once configured, the transactions processor starts generating segment-level visibility, and the segment breakdown appears in each operation's drilldown.
Next steps
Group a service's failures by status code in Errors.