spiral / roadrunner-bridge

🌉 RoadRunner bridge to Spiral Framework
https://spiral.dev/docs/packages-roadrunner-bridge
MIT License
13 stars 6 forks source link

Added RoadRunner metrics support #21

Closed butschster closed 2 years ago

butschster commented 2 years ago

Add Spiral\RoadRunnerBridge\Bootloader\MetricsBootloader to application bootloaders list:

use Spiral\RoadRunnerBridge\Bootloader as RoadRunnerBridge;

protected const LOAD = [
    // ...
    RoadRunnerBridge\MetricsBootloader::class, 
    // ...
];

First, you have to register a metric in your configuration file:

metrics:
  address: localhost:2112
  collect:
    app_metric_counter:
      type: counter
      help: "Application counter."

or declare metrics in PHP code

use Spiral\RoadRunner\Metrics\MetricsInterface;
use Spiral\RoadRunner\Metrics\Collector;

class AppBootloader extends Bootloader
{
    //...

    public function boot(MetricsInterface $metrics): void
    {
        $metrics->declare(
            'app_metric_counter',
            Collector::counter()->withHelp('Application counter.')
        );
    }
}

To populate metric from application use Spiral\RoadRunner\Metrics\MetricsInterface:

use Spiral\RoadRunner\Metrics\MetricsInterface; 

// ...

public function index(MetricsInterface $metrics): void
{
    $metrics->add('app_metric_counter', 1);
}
codecov[bot] commented 2 years ago

Codecov Report

Merging #21 (d4c06c6) into master (fc1371c) will increase coverage by 0.02%. The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master      #21      +/-   ##
============================================
+ Coverage     92.97%   92.99%   +0.02%     
- Complexity      198      199       +1     
============================================
  Files            39       40       +1     
  Lines           555      557       +2     
============================================
+ Hits            516      518       +2     
  Misses           39       39              
Impacted Files Coverage Δ
src/Bootloader/MetricsBootloader.php 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update fc1371c...d4c06c6. Read the comment docs.