Project

General

Profile

Actions

Idea #12512

closed

[Workbench] Implement X-Request-ID to enable request tracing

Added by Tom Morris over 6 years ago. Updated over 6 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
-
Target version:
-
Story points:
-

Description

This is a rename of header which was implemented in #10029.

What was client_session_id/current_request_id should instead use the (semi-)standard X-Request-ID header. If a request ID has already been generated by an upstream component such as a proxy, firewall, or load balancer, that request ID should be reused.

This may be able to use the standard Rails module to do this ActionDispatch::RequestId

For downstream requests, the same request ID should be propagated unless multiple child requests are going to be made to the same server in which case a unique ID for each request can be created by appending an unique suffix to the upstream request ID.

An NGINX article which describes the motivation for this and how to configure NGINX for it is available here:
https://www.nginx.com/blog/application-tracing-nginx-plus/


Related issues

Related to Arvados - Feature #10029: [Workbench] Send a request ID with each API request so it's visible in the API logsResolvedLucas Di Pentima09/13/2016Actions
Related to Arvados - Feature #12167: [SDKs] [API] [keepstore] [keepproxy] Facilitate request tracing for all servicesResolvedTom Clegg08/24/2017Actions
Actions #1

Updated by Tom Morris over 6 years ago

  • Description updated (diff)
Actions #2

Updated by Tom Morris over 6 years ago

  • Assigned To set to Tom Clegg
Actions #3

Updated by Tom Clegg over 6 years ago

  • Status changed from New to Resolved
  • Target version deleted (To Be Groomed)

done in #12167

Actions #4

Updated by Tom Clegg over 6 years ago

  • Related to Feature #12167: [SDKs] [API] [keepstore] [keepproxy] Facilitate request tracing for all services added
Actions

Also available in: Atom PDF