dragon-code / laravel-request-tracker
Laravel adapter for dragon-code/request-tracker to trace inter-service request chains
Package info
github.com/TheDragonCode/laravel-request-tracker
pkg:composer/dragon-code/laravel-request-tracker
Requires
- php: ^8.2
- dragon-code/request-tracker: ^1.4
- illuminate/http: ^11.0 || ^12.0 || ^13.0
- illuminate/support: ^11.0 || ^12.0 || ^13.0
Requires (Dev)
- dragon-code/codestyler: ^6.3
- orchestra/testbench: ^9.0 || ^10.0 || ^11.0
- pestphp/pest: ^3.0 || ^4.0
- pestphp/pest-plugin-type-coverage: ^3.0 || ^4.0
- symfony/var-dumper: ^6.0 || ^7.0 || ^8.0
README
Laravel adapter for dragon-code/request-tracker to trace inter-service request chains.
Installation
You can install the Laravel Request Tracker package via Composer:
composer require dragon-code/laravel-request-tracker
You can publish the config file with:
php artisan vendor:publish --tag="tracker"
Basic Usage
That's all 🙂
Middleware is automatically registered in the application kernel and Http Client.
How It Works
When the application is initialized, a unique UUIDv7 is generated and written to the Laravel context information.
Laravel automatically adds this information when writing logs.
Default context information:
[
'tracker' => [
'traceId' => '019d6cc2-7456-7a78-bdbf-62569a688c78',
],
]
In addition, when incoming HTTP requests to the application, the middleware automatically retrieves the tracker headers and adds them to the context information if they are present in the request, otherwise new ones are generated.
In this case, the traceId value is replaced with the new value, and the existing value is transferred to
parentTraceId.
For outgoing requests, middleware is automatically registered for the Http facade, which adds tracker headers to outgoing requests.
License
This package is licensed under the MIT License.