Tracing requests end-to-end

In my environment, the vast majority of applications make requests that encompass several APIs.

What I need is to monitor each step of these requests. I understand that Kong generates a REQUEST-ID for each request it processes, but what I need is to have an ID that identifies everything from the first request to the result returned to the client.

The way Kong works, from what I understand, each step of this flow would have a different ID, and thus it would be complex to monitor by analyzing the logs.

Can I achieve this type of trace using only Kong? Can any plugin make this trace work? Or would I need another tool?

How about the Zipkin plugin + any established tracing tool such as OpenZipkin or Jaeger.

OpenTelemetry plugin probably works too, but I have no practical experience. However, I can recommend Zipkin for both kubernetes and simple local Docker environments.