PHPackages                             pmg/queue-profiling - 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. [Queues &amp; Workers](/categories/queues)
4. /
5. pmg/queue-profiling

ActiveLibrary[Queues &amp; Workers](/categories/queues)

pmg/queue-profiling
===================

Profile running queues with various libraries and SaaS products.

0.1.0(9y ago)08.8k[1 issues](https://github.com/AgencyPMG/queue-profiling/issues)Apache-2.0PHPPHP ~5.6|~7.0

Since Aug 28Pushed 9y ago9 watchersCompare

[ Source](https://github.com/AgencyPMG/queue-profiling)[ Packagist](https://packagist.org/packages/pmg/queue-profiling)[ RSS](/packages/pmg-queue-profiling/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (3)Versions (2)Used By (0)

Queue Profiling
===============

[](#queue-profiling)

Provides a `ProfilingConsumer` and set of handler decorators that can profile messages once or while the queue is running via `SIGUSR1` (or other) posix signals.

Usage
-----

[](#usage)

### Pick an appropriate handler for your setup.

[](#pick-an-appropriate-handler-for-your-setup)

- `PMG\Queue\Handler\BlackfireProfilingHandler` - Profile with [blackfire.io](https://blackfire.io/)

All profiling handlers are [decorators](https://en.wikipedia.org/wiki/Decorator_pattern), so you'll create a real message handler and decorate it with the profiling handler.

```
use PMG\Queue\Message;
use PMG\Queue\ProfilingConsumer;
use PMG\Queue\Handler\CallableHandler;
use PMG\Queue\Handler\BlackfireProfilingHandler;

$realHandler = new CallableHandler(function (Message $message) {
    // do stuff
});

$profilingHandler = BlackfireProfilingHandler::createDefault($realHandler);
```

If you plan on forking new processes to handle messages with `PcntlForkingHandler`, decorate the profiling handler with it.

```
use PMG\Queue\Handler\PcntlForkingHandler;

$forkingHandler = new PcntlForkingHandler($profilingHandler);
```

### Instantiate a Consumer Like Normal

[](#instantiate-a-consumer-like-normal)

```
use PMG\Queue\ProfilingConsumer

$consumer = new ProfilingConsumer($driver, $profilingHandler);
```

### Enable or Disable Profiling or Let the Signal Handlers Take Care of It

[](#enable-or-disable-profiling-or-let-the-signal-handlers-take-care-of-it)

```
// let the signal handler do their thing(s)
$consumer->run('SomeQueue');

// or enable/disable profiling manually
$consumer->enableProfiling();
$consumer->once('SomeQueue');

$consumer->disableProfiling();
$consumer->once('SomeQueue');
```

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3593d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d396af79150164dd4d28f3e816b377e2f3c04df431d8338477517efa0013664c?d=identicon)[chrisguitarguy](/maintainers/chrisguitarguy)

---

Top Contributors

[![chrisguitarguy](https://avatars.githubusercontent.com/u/1010392?v=4)](https://github.com/chrisguitarguy "chrisguitarguy (8 commits)")

---

Tags

phppmg-queuepmg-queue-driverqueue

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/pmg-queue-profiling/health.svg)

```
[![Health](https://phpackages.com/badges/pmg-queue-profiling/health.svg)](https://phpackages.com/packages/pmg-queue-profiling)
```

###  Alternatives

[league/geotools

Geo-related tools PHP 7.3+ library

1.4k5.5M30](/packages/league-geotools)[illuminate/bus

The Illuminate Bus package.

6045.5M508](/packages/illuminate-bus)[uecode/qpush-bundle

Asynchronous processing for Symfony using Push Queues

1672.5M2](/packages/uecode-qpush-bundle)[mayconbordin/l5-stomp-queue

Stomp Queue Driver for Laravel 5

121.1k](/packages/mayconbordin-l5-stomp-queue)

PHPackages © 2026

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