ansible / mazer

Experimental Ansible Galaxy Content Manager
GNU General Public License v3.0
114 stars 18 forks source link

Create a send a X-Request-ID on http requests. #121

Closed alikins closed 6 years ago

alikins commented 6 years ago
SUMMARY

Create a send a X-Request-ID on http requests.

On each http request to galaxy, create a random (uuid4()) X-Request-ID and include it as a header in requests. Also log the X-Request-ID when logging the info about http requests made.

See https://blog.heroku.com/http_request_id_s_improve_visibility_across_the_application_stack for an explanation of X-Request-ID.

The X-Request-ID allows tracing of a specific client http request to galaxy. Galaxy includes the X-Request-ID in any log events emitted when handling that request. That makes it much easier to troubleshoot specific errors and failures across both the mazer client and the galaxy server.

Note that the value is random, and is unique to each http request.

TODO: If there are errors from the galaxy rest api, then the X-Request-ID should be included in info about that error, either in client logs or is user facing error messages. Including it in user facing error messages makes it much easier to track down and troubleshoot potential problems.

ISSUE TYPE
GALAXY CLI VERSION
name = mazer
version = 0.2.0
config_file = /home/adrian/.ansible/mazer.yml
uname = Linux, newswoop, 4.16.6-202.fc27.x86_64, #1 SMP Wed May 2 00:09:32 UTC 2018, x86_64
executable_location = /home/adrian/venvs/galaxy-py27/bin/mazer
python_version = 2.7.15 (default, May 15 2018, 15:37:31) [GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]
python_executable = /home/adrian/venvs/galaxy-py27/bin/python
ADDITIONAL INFORMATION