PHPackages                             renoki-co/horizon-exporter - 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. renoki-co/horizon-exporter

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

renoki-co/horizon-exporter
==========================

Export Laravel Horizon metrics using this Prometheus exporter.

2.0.0(4y ago)24152.9k↑31.3%6[6 PRs](https://github.com/renoki-co/horizon-exporter/pulls)Apache-2.0PHPPHP ^8.0CI passing

Since Sep 22Pushed 6mo ago1 watchersCompare

[ Source](https://github.com/renoki-co/horizon-exporter)[ Packagist](https://packagist.org/packages/renoki-co/horizon-exporter)[ Docs](https://github.com/renoki-co/horizon-exporter)[ GitHub Sponsors](https://github.com/rennokki)[ RSS](/packages/renoki-co-horizon-exporter/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (6)Dependencies (7)Versions (15)Used By (0)

Laravel Horizon Prometheus Exporter
===================================

[](#laravel-horizon-prometheus-exporter)

[![CI](https://github.com/renoki-co/horizon-exporter/workflows/CI/badge.svg?branch=master)](https://github.com/renoki-co/horizon-exporter/workflows/CI/badge.svg?branch=master)[![codecov](https://camo.githubusercontent.com/d9bf3d99f38c4e66fc06738d295d4e019046c525d3aa912e16ba4e4018d62611/68747470733a2f2f636f6465636f762e696f2f67682f72656e6f6b692d636f2f686f72697a6f6e2d6578706f727465722f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/renoki-co/horizon-exporter/branch/master)[![StyleCI](https://camo.githubusercontent.com/cfdedb0f02b1361cf29277d6af9444c146b755fc6296dc22315ed8413d324686/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f3430393135353335332f736869656c643f6272616e63683d6d6173746572)](https://github.styleci.io/repos/409155353)[![Latest Stable Version](https://camo.githubusercontent.com/106a351b91d95eeefe5db9e656dba706a4d511e218edade0d945ad6913d93b37/68747470733a2f2f706f7365722e707567782e6f72672f72656e6f6b692d636f2f686f72697a6f6e2d6578706f727465722f762f737461626c65)](https://packagist.org/packages/renoki-co/horizon-exporter)[![Total Downloads](https://camo.githubusercontent.com/ccfbde3c7eb3f318cdf4cd27174748acb0162deaf02f8932eaaaf378d657b9b5/68747470733a2f2f706f7365722e707567782e6f72672f72656e6f6b692d636f2f686f72697a6f6e2d6578706f727465722f646f776e6c6f616473)](https://packagist.org/packages/renoki-co/horizon-exporter)[![Monthly Downloads](https://camo.githubusercontent.com/6c4c55673cf67d85f686b6cb4e63971996e78f2aae5653f117be190176f559d1/68747470733a2f2f706f7365722e707567782e6f72672f72656e6f6b692d636f2f686f72697a6f6e2d6578706f727465722f642f6d6f6e74686c79)](https://packagist.org/packages/renoki-co/horizon-exporter)[![License](https://camo.githubusercontent.com/1773403ab0e1ff9f08db461fbc984d29e33733301c4d8910479b41a9fad74ba2/68747470733a2f2f706f7365722e707567782e6f72672f72656e6f6b692d636f2f686f72697a6f6e2d6578706f727465722f6c6963656e7365)](https://packagist.org/packages/renoki-co/horizon-exporter)

Export Laravel Horizon metrics using this Prometheus exporter. This package leverages [Exporter Contracts](https://github.com/renoki-co/laravel-exporter-contracts).

🤝 Supporting
------------

[](#-supporting)

**If you are using one or more Renoki Co. open-source packages in your production apps, in presentation demos, hobby projects, school projects or so, sponsor our work with [Github Sponsors](https://github.com/sponsors/rennokki). 📦**

[![](https://camo.githubusercontent.com/70fb550353e763dc7e0b7615310b500fa7718f4cac1cf77de468faea65cf0028/68747470733a2f2f6769746875622d636f6e74656e742e73332e66722d7061722e7363772e636c6f75642f7374617469632f32392e6a7067)](https://github-content.renoki.org/github-repo/29)

🚀 Installation
--------------

[](#-installation)

You can install the package via composer:

```
composer require renoki-co/horizon-exporter
```

Publish the config:

```
$ php artisan vendor:publish --provider="RenokiCo\HorizonExporter\HorizonExporterServiceProvider" --tag="config"
$ php artisan vendor:publish --provider="RenokiCo\LaravelExporter\LaravelExporterServiceProvider" --tag="config"
```

🙌 Usage
-------

[](#-usage)

This package is pretty straightforward. Upon installing it, it will register the route at `/exporter/group/horizon-metrics` and you can point Prometheus towards it for scraping.

Please keep in mind that the metrics are not calculated by-process, but as a whole across all supervisors. Point your Prometheus scraper to one of the instances for horizontally-scaled environments.

```
# HELP laravel_horizon_master_status That status of the Master Horizon process. 0 = inactive, 1 = paused, 2 = running.
# TYPE laravel_horizon_master_status gauge
laravel_horizon_master_status{name="master-1",pid="10082"} 2

# HELP laravel_horizon_queue_runtime Get total jobs runtime by queue.
# TYPE laravel_horizon_queue_runtime gauge
laravel_horizon_queue_runtime{queue="default"} 41.085

# HELP laravel_horizon_queue_throughput Get total jobs throughput by queue.
# TYPE laravel_horizon_queue_throughput gauge
laravel_horizon_queue_throughput{queue="default"} 4

# HELP laravel_horizon_job_runtime Get total workload runtime by job name.
# TYPE laravel_horizon_job_runtime gauge
laravel_horizon_job_runtime{job="RenokiCo\\HorizonExporter\\Test\\Jobs\\BasicJob"} 53.666666666667
laravel_horizon_job_runtime{job="RenokiCo\\HorizonExporter\\Test\\Jobs\\BasicJob2"} 3.34

# HELP laravel_horizon_job_throughput Get total workload throughput by job name.
# TYPE laravel_horizon_job_throughput gauge
laravel_horizon_job_throughput{job="RenokiCo\\HorizonExporter\\Test\\Jobs\\BasicJob"} 3
laravel_horizon_job_throughput{job="RenokiCo\\HorizonExporter\\Test\\Jobs\\BasicJob2"} 1

# HELP laravel_horizon_jobs_by_type Get total processed jobs into all queues by specific type (i.e. completed, pending, etc.).
# TYPE laravel_horizon_jobs_by_type gauge
laravel_horizon_jobs_by_type{type="completed"} 4
laravel_horizon_jobs_by_type{type="failed"} 1
laravel_horizon_jobs_by_type{type="pending"} 1
laravel_horizon_jobs_by_type{type="recent"} 6
laravel_horizon_jobs_by_type{type="recent_failed"} 1

# HELP php_info Information about the PHP environment.
# TYPE php_info gauge
php_info{version="8.0.10"} 1

```

🐛 Testing
---------

[](#-testing)

```
vendor/bin/phpunit
```

🤝 Contributing
--------------

[](#-contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

🔒 Security
----------

[](#--security)

If you discover any security related issues, please email  instead of using the issue tracker.

🎉 Credits
---------

[](#-credits)

- [Alex Renoki](https://github.com/rennokki)
- [All Contributors](../../contributors)

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance46

Moderate activity, may be stable

Popularity40

Moderate usage in the ecosystem

Community12

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 74.3% 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 ~39 days

Recently: every ~49 days

Total

6

Last Release

1592d ago

Major Versions

0.2.0 → 1.0.02021-09-27

1.2.0 → 2.0.02022-04-09

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/21983456?v=4)[rennokki](/maintainers/rennokki)[@rennokki](https://github.com/rennokki)

---

Top Contributors

[![rennokki](https://avatars.githubusercontent.com/u/21983456?v=4)](https://github.com/rennokki "rennokki (55 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (19 commits)")

---

Tags

broadcasteventsexportergrafanahacktoberfesthorizonjobslaravelphpprometheusqueuequeuingphplaravelexporterqueuejobqueueshorizonprometheusgrafana

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/renoki-co-horizon-exporter/health.svg)

```
[![Health](https://phpackages.com/badges/renoki-co-horizon-exporter/health.svg)](https://phpackages.com/packages/renoki-co-horizon-exporter)
```

###  Alternatives

[lkaemmerling/laravel-horizon-prometheus-exporter

A small package to gain and export long time information from Laravel &amp; Horizon for Prometheus.

1612.2M](/packages/lkaemmerling-laravel-horizon-prometheus-exporter)[stackkit/laravel-google-cloud-tasks-queue

Google Cloud Tasks queue driver for Laravel

89714.3k](/packages/stackkit-laravel-google-cloud-tasks-queue)[webparking/laravel-queue-ensurer

This composer package provides a Laravel queue ensurer.

6416.2k](/packages/webparking-laravel-queue-ensurer)[pmatseykanets/artisan-beans

Easily manage your Beanstalkd job queues right from the Laravel artisan command

4282.5k](/packages/pmatseykanets-artisan-beans)[iamfarhad/laravel-rabbitmq

Native ext-amqp RabbitMQ queue driver for Laravel production workloads with connection pooling, publisher confirms, Horizon support, Octane support, quorum queues, and high-performance workers

3421.2k](/packages/iamfarhad-laravel-rabbitmq)[romalytar/yammi-jobs-monitoring-laravel

Queue monitoring and observability for Laravel. Tracks job lifecycle, retries, failures and a dead-letter queue across all queue drivers (Redis, SQS, database, sync), with failure fingerprinting, scheduled-task monitoring, worker heartbeats, duration-anomaly detection and alerts (Slack, mail, PagerDuty, Opsgenie, webhook).

261.3k](/packages/romalytar-yammi-jobs-monitoring-laravel)

PHPackages © 2026

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