gustamms/prometheus-laravel

There is no license information available for the latest version (1.1.1) of this package.

Lib for prometheus connector

This package's canonical repository appears to be gone and the package has been frozen as a result.

1.1.1 2023-10-18 17:58 UTC

This package is auto-updated.

Last update: 2025-03-28 20:41:45 UTC


README

To use

Run this command

    composer require gustamms/prometheus-laravel

Copy the config/prometheus.php to your laravel/lumen implementation

https://github.com/gustamms/prometheus-laravel/blob/main/src/config/prometheus.php

In bootstrap/app.php add this configure

$app->configure('prometheus');

In bootstrap/app.php add this register provider

$app->register(\Gustamms\PrometheusLaravel\Providers\PrometheusServiceProvider::class);

In bootstrap/app.php add this middleware

$app->middleware([
    ...
    \Gustamms\PrometheusLaravel\Middleware\PrometheusRouteMiddleware::class
]);

In .env add and change the values of this lines

PROMETHEUS_STORAGE_ADAPTER=redis
PROMETHEUS_REDIS_HOST=localhost
PROMETHEUS_REDIS_PORT=6379
PROMETHEUS_REDIS_TIMEOUT=0.1
PROMETHEUS_REDIS_READ_TIMEOUT=10
PROMETHEUS_REDIS_PERSISTENT_CONNECTIONS=0
PROMETHEUS_REDIS_PREFIX=PROMETHEUS_
PROMETHEUS_NAMESPACE=application_name

How use for personal metrics?

use Gustamms\PrometheusLaravel\PrometheusCollector;

class DoSomething 
{
    private $collector;
    
    public function __construct() {
        $this->collector = new PrometheusCollector();
    }
    
    public function do(){
        $this->collector->getOrRegisterCounter(
            'do_method_use',
            'Pass in Do method'
        );
        
        $this->collector->getOrRegisterHistogram(
            'histogram_sample',
            'Histogram are made',
            1.2,
            ['label1'],
            ['labelvalue1']
        );
    }
}