Skip to content

[READ-ONLY] Uniquely identify each request across multiple projects

License

Notifications You must be signed in to change notification settings

eonx-com/easy-request-id

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

---eonx_docs--- title: Introduction weight: 0 ---eonx_docs---

Microservices infrastructures are common, one request can involve N different applications sending requests to each other, and it can be hard to link events occurring across them. This package objective is to create a standard way in PHP projects to resolve/share IDs across projects so linking requests becomes easier!

It is based on 2 different IDs:

  • request_id: ID of request specific to each project
  • correlation_id: shared ID across projects for the same initial request

On the top of resolving those IDs for you, this package also comes with bridges to different packages to automatically include those IDs in your:


Dependencies

This package has dependencies on the following packages, please see their documentation directly:


Require package (Composer)

The recommended way to install this package is to use Composer:

$ composer require eonx-com/easy-request-id

Usage

This package is based on a single service providing the requestId and correlationId anywhere you need them:

// src/Controller/MyController.php

namespace App\Controller;

use EonX\EasyRequestId\Interfaces\RequestIdServiceInterface;

final class MyController
{
    /**
     * @var \EonX\EasyRequestId\Interfaces\RequestIdServiceInterface
     */
    private $requestIdService;

    public function __construct(RequestIdServiceInterface $requestIdService)
    {
        $this->requestIdService = $requestIdService; 
    }

    public function __invoke()
    {
        $requestId = $this->requestIdService->getRequestId();
        $correlationId = $this->requestIdService->getCorrelationId();

        // Use the IDs in your logic...
    }
}

About

[READ-ONLY] Uniquely identify each request across multiple projects

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages