reference. One shared correlation_id ties those references together,
so an investigation starts from the whole transaction instead of one leg of it.
Correlation IDs covers what the field changes and what it
leaves alone.
Correlation or causation
Correlation is shared; causation points. If you find yourself putting the same
value on ten events, that is a correlation ID.
Choose the value
The right value identifies the business transaction, not a single request. Forcausation_id, send the event id that led directly to this event. It may
be an event your service sent or an upstream event, and Reconify accepts the
value even when it has not seen that event. It is not a reference, a shared
correlation_id, or the event that merely happened just before this one in time:
sequence is not causation.
Three kinds of value do not survive the hop:
- A per-request HTTP trace ID. It changes on every call, so two services rarely report the same one.
- A provider transaction ID. It exists only after the provider responds, so the earliest events cannot carry it.
- A value only one service can compute.
Add it to your events
Your services already pass some context around. The correlation ID rides along with it, and every event picks it up on the way out:"" or null is
rejected, while sending nothing is valid and leaves reference-based monitoring untouched.
A rollout works one service at a time. Events without the field keep working, and the
services that do send it start linking as soon as two of them share a value.
Example: a marketplace checkout
One checkout,chk_7Q2M0S, produces two monitored flows in two services.
The payments service reports the buyer payment under pay_9f2:
cURL
reference because
it is the same operation:
cURL
reference, same correlation_id:
cURL
pyt_31a, where its
deadline lives. The correlation ID is what lets you get from that finding back
to the checkout that produced the related evidence.
Investigate with it
The dashboard search accepts the correlation value, and it also accepts anyreference
whose events carry one.
Related results are labeled, so the evidence you asked for stays separate from
the evidence Reconify matched.
When related activity looks wrong, Troubleshooting
covers the two causes: a value only one service sends, and a value reused across
transactions.
Next
Correlation IDs
The model, the value rules, and what stays unchanged.
Troubleshoot
Work through rejected items, retries, and stalled events.