Download the PHP package saimaz/laravel-prometheus without Composer

On this page you can find all versions of the php package saimaz/laravel-prometheus. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-prometheus

Laravel Prometheus

Latest Version on Packagist GitHub Tests Action Status Total Downloads License

Zero-config Prometheus metrics for Laravel. Install the package, set one env var, and your app starts exporting HTTP metrics, Horizon queue stats, and custom application metrics — ready for Grafana.

Built on promphp/prometheus_client_php.

What you get out of the box

Requirements

Installation

Add to your .env:

That's it. Visit /metrics to see your metrics.

Optional configuration

Publish the config file only if you need to customize defaults:

Configuration

All configuration is done via environment variables — no config file needed for most setups.

Variable Default Description
PROMETHEUS_ENABLED false Enable/disable metrics collection
PROMETHEUS_NAMESPACE APP_NAME Metric name prefix (e.g. myapp_http_requests_total)
PROMETHEUS_STORAGE redis Storage driver: redis, apc, in_memory
PROMETHEUS_REDIS_CONNECTION default Laravel Redis connection name
PROMETHEUS_PREFIX PROMETHEUS_ Redis key prefix
PROMETHEUS_ALLOWED_IPS (empty) Comma-separated IPs allowed to scrape /metrics
PROMETHEUS_ENDPOINT metrics Path for the metrics endpoint

Storage

Redis is recommended for production (metrics persist across PHP processes). The package automatically falls back to in-memory storage when:

Built-in metrics

HTTP metrics (automatic)

Registered as global middleware — no setup needed.

Metric Type Labels
{ns}_http_requests_total Counter route, method, status
{ns}_http_request_duration_seconds Histogram route, method, status

Routes are identified by name (e.g. api.users.index) or URI pattern (e.g. api/users/{user}) to prevent label cardinality explosion.

Ignoring routes — by default, metrics and horizon.* are ignored. Customize in config:

Horizon metrics (automatic)

Auto-detected when laravel/horizon is installed. No configuration needed.

Metric Type Labels
{ns}_horizon_status Gauge
{ns}_horizon_master_supervisors Gauge
{ns}_horizon_jobs_per_minute Gauge
{ns}_horizon_recent_jobs Gauge
{ns}_horizon_failed_jobs_per_hour Gauge
{ns}_horizon_current_workload Gauge queue
{ns}_horizon_current_processes Gauge queue
{ns}_horizon_queue_wait_time_seconds Gauge queue

Custom metrics

1. Define a metric enum

2. Record metrics

Inject MetricsRegistryInterface or use the Prometheus facade:

Or with the facade:

Custom collectors

Collectors run on each /metrics scrape — useful for point-in-time metrics.

Register in config/prometheus.php:

Custom HTTP labels

Add tenant, brand, or other labels to HTTP metrics by implementing HttpLabelProvider:

Set in config:

Prometheus scrape config

Add your Laravel app as a target in prometheus.yml:

Testing

Changelog

Please see CHANGELOG for more information on what has changed recently.

License

The MIT License (MIT). Please see License File for more information.


All versions of laravel-prometheus with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/contracts Version ^11.0|^12.0|^13.0
illuminate/http Version ^11.0|^12.0|^13.0
illuminate/routing Version ^11.0|^12.0|^13.0
illuminate/support Version ^11.0|^12.0|^13.0
promphp/prometheus_client_php Version ^2.6
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package saimaz/laravel-prometheus contains the following files

Loading the files please wait ...