Skip to content

Request ID & Correlation ID

Nguyễn Ngọc Tường Minh edited this page Oct 30, 2023 · 6 revisions

Table of Contents


General

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.

X-Request-ID

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.

X-Correlation-ID

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.

Differences

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.