If you ever wrote back-end applications in Node.js, you know that tracing the same HTTP request through log entries is a problem. Usually your logs look something like this: [07/Nov/2018:15:48:11 +0000] User sign-up: starting request validation [07/Nov/2018:15:48:11 +0000] User sign-up: starting request validation [07/Nov/2018:15:48:12 +0000] User sign-up: request validation success [07/Nov/2018:15:48:13 +0000] User sign-up: request validation failed. Reason: ... Here, log entries are mixed up and there is no way to determine which of them belong to the same request. While you would probably prefer to see something like this: [07/Nov/2018:15:48:11 +0000] [request-id:550e8400-e29b-41d4-a716-446655440000] User sign-up: starting request validation [07/Nov/2018:15:48:11 +0000] [request-id:340b4357-c11d-31d4-b439-329584783999] User sign-up: starting request validation [07/Nov/2018:15:48:12 +0000] [request-id:550e8400-e29b-41d4-a716-446655440000] User sign-up: request validation success...