-
Notifications
You must be signed in to change notification settings - Fork 0
Request ID & Correlation ID
When it comes to unexpected behaviour, it's a powerful way to explore what happened if you have as much information as detailed as possible. Especially when a requests is going its path through a variety of processes and procedures, it is helpful to find every modification on the data among this path.
Therefore, Qilin.Cloud, has implemented two identifiers for this.
When a customer submits a bug report or requests support, they only need to provide the request ID. With this information, all details such as exact route information, ingress payload, egress payload, intermediate steps, modifiers, identifiers, status codes and so on can be obtained from the Qilin.Cloud logs.
You should tag your requests with a request identifier using the header x-request-id
. Qilin.Cloud endpoint will forward this value to the response, be it a success or a failure. If no value is provided, a UUID will be generated on the incoming request and this value will be attached to the response as the x-request-id
. While you can use any string as the request identifier, we recommend using a UUID to uniquely identify your requests or group of requests.
💡 The maximum allowed length for x-request-id
is 36 chars.
While the x-request-id not only helps on debugging when getting in exchange with the Qilin.Cloud crew, it also helps you to identify the link between a request and its response, especially in asynchronous environments.
In addition to the x-request-id HTTP header, Qilin.Cloud endpoints response will also carry a x-correlation-id
HTTP header (sometimes also known as transit-id). This is an auto-generated unique that is unique to every request. It is used to trace the chain within Qilin.Cloud.
While both header are for tracing information, the x-request-id identifies every HTTP request involved in the operation processing and should be generated by the caller side and passed to the callee. The x-correlation-id instead is attached to requests and messages from internal message broker that allow reference to a particular transaction and event chain.
You have found missing, confusing or even wrong information?
Please help us to correct them! We welcome your message in our discussions area or alternatively to development@qilin.cloud. Thank you for your efforts to improve the work for the Qilin.Core developer community 💪