The correlation ID is a unique identifier value attached to requests and messages that reference a particular transaction or an event chain.
The correlation ID is generated at the first point of the transaction and passed through the entire transaction process. As the transaction traverses several services, each service appends its log of events to this correlation ID.
For the Concord node, all the processes are handled in batches with each batch receiving a unique sequence number. When the batch process is initiated, the sequence number and the list of the correlation IDs are logged. Any subsequent batches are logged with the sequence number only.
For troubleshooting a problem with a transaction, you can search the correlation ID logs generated by the request in each service to pinpoint where the error occurred. For example, you can view logs for a specific
correlation_id value in vRealize Log Insight.
Verify that you have vRealize Log Insight installed and configured. See vRealize Log Insight Documentation.
Familiarize yourself with the vRealize Log Insight dashboard and filtering menu items.
- Log in to vRealize Log Insight.
- To access the collected logs, click the Interactive Analytics tab.
From this tab, you can search and filter log events, and create queries to extract events based on timestamp, text, source, and text boxes in log events. You can view charts of the query results and save these charts for later on the Dashboards tab.
- Add the correlation_id value in the search dialog box.
If you do not have the correlation_id available, skip to step four.
- Navigate to the Field Table sub-tab.
Source- Replica or Client node source IP address.
Service - daml_ledger_api, daml_execution_engine, or concord.
- Select the correlation_id value.
- In the Add Filter section, enter the correlation_id value.
You can identify the correlation ID value from the table and detect where the error occurred in the transaction to troubleshoot the problem.