PHPackages                             worksome/horizon-telemetry - 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. worksome/horizon-telemetry

ActiveLibrary

worksome/horizon-telemetry
==========================

An Opentelemetry implementation for Laravel Horizon and queues

v0.7.3(2mo ago)6256.6k↑17.1%1[1 PRs](https://github.com/worksome/horizon-telemetry/pulls)MITPHPPHP ^8.4CI passing

Since Jan 6Pushed 2mo ago10 watchersCompare

[ Source](https://github.com/worksome/horizon-telemetry)[ Packagist](https://packagist.org/packages/worksome/horizon-telemetry)[ Docs](https://github.com/worksome/horizon-telemetry)[ RSS](/packages/worksome-horizon-telemetry/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (20)Versions (19)Used By (0)

OpenTelemetry for Laravel Horizon and queues
============================================

[](#opentelemetry-for-laravel-horizon-and-queues)

[![Latest Version on Packagist](https://camo.githubusercontent.com/e90533fa1650ed240fe359e317411563ce252c02e88d00813ae2ebee39f3964f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f776f726b736f6d652f686f72697a6f6e2d74656c656d657472792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/worksome/horizon-telemetry)[![GitHub Tests Action Status](https://camo.githubusercontent.com/4031d251786221cafab07c8e42891b401b84afff164fa815641ac920565bbab7/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f776f726b736f6d652f686f72697a6f6e2d74656c656d657472792f74657374732e796d6c3f6272616e63683d6d61696e267374796c653d666c61742d737175617265266c6162656c3d5465737473)](https://github.com/worksome/horizon-telemetry/actions?query=workflow%3ATests+branch%3Amain)[![GitHub Static Analysis Action Status](https://camo.githubusercontent.com/e065bbd4ec802999d9aed102245d599393023b66a8c15d311fa9d669b479e1b2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f776f726b736f6d652f686f72697a6f6e2d74656c656d657472792f7374617469632e796d6c3f6272616e63683d6d61696e267374796c653d666c61742d737175617265266c6162656c3d537461746963253230416e616c79736973)](https://github.com/worksome/horizon-telemetry/actions?query=workflow%3A%22Static%20Analysis%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/9ee09c07cf29f7ed5f1623ce23b5e4306792522e5e7a735deb859063df8de2b6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f776f726b736f6d652f686f72697a6f6e2d74656c656d657472792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/worksome/horizon-telemetry)

This package adds support for creating various matrices on your queues with the usage of Horizon.

This package requires that the scheduler is running, as it is adding new scheduled commands.

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require worksome/horizon-telemetry
```

Usage
-----

[](#usage)

### Metrics

[](#metrics)

#### [`CurrentMasterSupervisorsMetric`](src/Metrics/CurrentMasterSupervisorsMetric.php)

[](#currentmastersupervisorsmetric)

The `CurrentMasterSupervisorsMetric` will register the current number of master supervisors.
The metric will be registered under the name `horizon_current_master_supervisors`.

The default schedule for this is every 10 minutes (`*/10 * * * *`), to configure this, add `MeterName::CurrentMasterSupervisors->value` under a `horizon` key in your `telemetry.php` config file.

#### [`CurrentProcessesMetric`](src/Metrics/CurrentProcessesMetric.php)

[](#currentprocessesmetric)

The `CurrentProcessesMetric` will register the current number of processes in each queue.
The metrics will be registered under the name `horizon_current_processes.`.

The default schedule for this is every 10 minutes (`*/10 * * * *`), to configure this, add `MeterName::CurrentProcesses->value` under a `horizon` key in your `telemetry.php` config file.

#### [`CurrentJobsMetric`](src/Metrics/CurrentJobsMetric.php)

[](#currentjobsmetric)

The `CurrentJobsMetric` will register the current number of jobs in each queue.
The metrics will be registered under the name `horizon_current_jobs.`.

The default schedule for this is every 10 minutes (`*/10 * * * *`), to configure this, add `MeterName::CurrentJobs->value` under a `horizon` key in your `telemetry.php` config file.

### Event Listeners

[](#event-listeners)

#### [`FailedJobsListener`](src/Listeners/FailedJobsListener.php)

[](#failedjobslistener)

The `FailedJobsListener` listener will create an observable counter that will increment each time a job fails. This metric will be registered under the name `horizon_failed_jobs`.

The default schedule for this is `true`, to disable this event listener, add `MeterName::FailedJobs->value => false` under a `horizon` key in your `telemetry.php` config file.

#### [`ProcessedJobsListener`](src/Listeners/ProcessedJobsListener.php)

[](#processedjobslistener)

The `ProcessedJobsListener` listener will create an observable counter that will increment each time a job is processed. This metric will be registered under the name `horizon_processed_jobs`.

The default schedule for this is `true`, to disable this event listener, add `MeterName::ProcessedJobs->value => false` under a `horizon` key in your `telemetry.php` config file.

#### [`ProcessedJobsPeakMemoryUsageListener`](src/Listeners/ProcessedJobsPeakMemoryUsageListener.php)

[](#processedjobspeakmemoryusagelistener)

The `ProcessedJobsPeakMemoryUsageListener` listener will create a histogram over peak memory usage each time a job is processed. This metric will be registered under the name `horizon_processed_jobs_peak_memory_usage`.

Two listeners are actually registered here, the secondary listener is [`ProcessedJobsPeakMemoryUsagePreparationListener`](src/Listeners/ProcessedJobsPeakMemoryUsagePreparationListener.php)which will take care of clearing the peak memory usage before a job starts, so for long-running queue workers, we get the correct number.

The default schedule for this is `true`, to disable this event listener, add `MeterName::ProcessedJobsPeakMemoryUsage->value => false` under a `horizon` key in your `telemetry.php` config file.

Testing
-------

[](#testing)

```
composer test
```

###  Health Score

55

—

FairBetter than 98% of packages

Maintenance86

Actively maintained with recent releases

Popularity40

Moderate usage in the ecosystem

Community18

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 72.7% 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

Every ~76 days

Recently: every ~188 days

Total

16

Last Release

77d ago

PHP version history (3 changes)v0.1.0PHP ^8.2

v0.7.1PHP ^8.3

v0.7.3PHP ^8.4

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1899334?v=4)[Owen Voke](/maintainers/owenvoke)[@owenvoke](https://github.com/owenvoke)

![](https://avatars.githubusercontent.com/u/5870441?v=4)[Oliver Nybroe](/maintainers/olivernybroe)[@olivernybroe](https://github.com/olivernybroe)

---

Top Contributors

[![owenvoke](https://avatars.githubusercontent.com/u/1899334?v=4)](https://github.com/owenvoke "owenvoke (24 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (4 commits)")[![lukeraymonddowning](https://avatars.githubusercontent.com/u/12202279?v=4)](https://github.com/lukeraymonddowning "lukeraymonddowning (3 commits)")[![laravel-shift](https://avatars.githubusercontent.com/u/15991828?v=4)](https://github.com/laravel-shift "laravel-shift (1 commits)")[![olivernybroe](https://avatars.githubusercontent.com/u/5870441?v=4)](https://github.com/olivernybroe "olivernybroe (1 commits)")

---

Tags

laravelworksomehorizon-telemetry

###  Code Quality

TestsPest

Static AnalysisPHPStan

### Embed Badge

![Health badge](/badges/worksome-horizon-telemetry/health.svg)

```
[![Health](https://phpackages.com/badges/worksome-horizon-telemetry/health.svg)](https://phpackages.com/packages/worksome-horizon-telemetry)
```

###  Alternatives

[worksome/envy

Automatically keep your .env files in sync.

6871.8M](/packages/worksome-envy)[worksome/request-factories

Test Form Requests in Laravel without all of the boilerplate.

6221.7M5](/packages/worksome-request-factories)[worksome/verify-by-phone

Verify your users by call or SMS

148550.4k](/packages/worksome-verify-by-phone)[worksome/exchange

Check Exchange Rates for any currency in Laravel.

123544.7k](/packages/worksome-exchange)[keepsuit/laravel-opentelemetry

OpenTelemetry integration for laravel

142347.8k](/packages/keepsuit-laravel-opentelemetry)[worksome/company-info

Lookup company information

33458.3k](/packages/worksome-company-info)

PHPackages © 2026

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