PHPackages                             engvanntha/kardal-trace - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. engvanntha/kardal-trace

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

engvanntha/kardal-trace
=======================

Cross-version request trace propagation for Laravel services

00PHPCI failing

Since Feb 20Pushed 2mo agoCompare

[ Source](https://github.com/engvanntha/kardal-trace)[ Packagist](https://packagist.org/packages/engvanntha/kardal-trace)[ RSS](/packages/engvanntha-kardal-trace/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

engvanntha/kardal-trace
=======================

[](#engvannthakardal-trace)

Shared trace propagation package for any Laravel project.

Supports Laravel `5.8` to `11.x`.

Install
-------

[](#install)

Option A: local monorepo path repository

```
{
  "repositories": [
    {
      "type": "path",
      "url": "../packages/kardal-trace",
      "options": {
        "symlink": true
      }
    }
  ],
  "require": {
    "engvanntha/kardal-trace": "^1.0"
  }
}
```

Option B: install from Git repository (recommended for other projects)

```
{
  "repositories": [
    {
      "type": "vcs",
      "url": "git@github.com:engvanntha/kardal-trace.git"
    }
  ],
  "require": {
    "engvanntha/kardal-trace": "^1.0"
  }
}
```

Then run:

```
composer update engvanntha/kardal-trace --with-all-dependencies
```

Register middleware
-------------------

[](#register-middleware)

Laravel 11 (`bootstrap/app.php`)

```
->withMiddleware(function (Middleware $middleware) {
    $middleware->append(\Kardal\Trace\Http\Middleware\TraceMiddleware::class);
})
```

Laravel 5.8-10 (`app/Http/Kernel.php`)

```
protected $middleware = [
    // ...
    \Kardal\Trace\Http\Middleware\TraceMiddleware::class,
];
```

What it does
------------

[](#what-it-does)

- Extracts incoming trace/correlation/request id headers.
- Generates one when absent.
- Stores the id in request context (`correlation_id` by default).
- Adds the trace id to response header (`X-Correlation-Id` by default).
- Injects trace id into logs via Monolog tap processor.
- Provides helper APIs for outbound `Http`, `Guzzle`, and `curl` requests.

Header priority
---------------

[](#header-priority)

By default inbound headers are checked in this order:

1. `X-Correlation-Id`
2. `X-Request-Id`
3. `X-Trace-Id`

Outbound usage
--------------

[](#outbound-usage)

Laravel Http Client:

```
Http::withTrace()->post($url, $payload);
```

Guzzle:

```
$stack = \GuzzleHttp\HandlerStack::create();
$stack->push(trace_guzzle_middleware());
$client = new \GuzzleHttp\Client(['handler' => $stack]);
```

cURL:

```
$headers = trace_curl_headers(['Accept: application/json']);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
```

Named log usage (example `portals`):

```
trace_log('portals', 'User login request', [
    'user_id' => $user->id,
    'email' => $user->email,
]);
```

This writes log context with:

- `correlation_id`
- `service_name` (value: `portals`)

Config (optional)
-----------------

[](#config-optional)

Publish config file:

```
php artisan vendor:publish --tag=trace-config
```

kardal-trace
============

[](#kardal-trace)

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance56

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity14

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/1b565b4fa4eb4aa1a71af511cda41516cb61de7673f6567514f5f9676cbe15d9?d=identicon)[engvanntha](/maintainers/engvanntha)

---

Top Contributors

[![engvanntha](https://avatars.githubusercontent.com/u/74441847?v=4)](https://github.com/engvanntha "engvanntha (3 commits)")

### Embed Badge

![Health badge](/badges/engvanntha-kardal-trace/health.svg)

```
[![Health](https://phpackages.com/badges/engvanntha-kardal-trace/health.svg)](https://phpackages.com/packages/engvanntha-kardal-trace)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
