Skip to content

acseo/SyliusPrometheusMetricsPlugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ACSEO

Sylius Prometheus Metrics

Features

Observability

We use the artprima/prometheus-metrics-bundle (https://github.com/artprima/prometheus-metrics-bundle) bundle to collect metrics in the Prometheus format, which can then be used to build a dashboard with Grafana. These metrics are visible at the /metrics/prometheus URL of the website.

Default metrics are generated. It is possible to create custom metrics to track "Business" data, such as the number of created orders or the order amount.

Installation

  1. Run $ composer require acseo/sylius-prometheus-metrics-plugin.

  2. Add these few lines to the config/state_machine/sylius_payment.yaml

winzou_state_machine:
   sylius_payment:
      callbacks:
         after:
            sylius_order_items_complete_collector:
               on: 'complete'
               do: ['@metrics.order_collector', 'incrementPrometheusCounters']
               args: ["object.getOrder()"]

Installation without Symfony Flex

  1. Run $ composer require acseo/sylius-prometheus-metrics-plugin.

  2. Enable the plugin in bundles.php

<?php
// config/bundles.php

return [
    // ...
    Artprima\PrometheusMetricsBundle\ArtprimaPrometheusMetricsBundle::class => ['all' => true],
    Acseo\SyliusPrometheusMetricsPlugin\SyliusPrometheusMetricsPlugin::class => ['all' => true],
];
  1. Add this file config/packages/prometheus_metrics.yaml
artprima_prometheus_metrics:
    namespace: myapp
    storage: '%env(PROM_METRICS_DSN)%'

    ignored_routes:
        - prometheus_bundle_prometheus
        - _wdt

    # used to disable default application metrics
    #disable_default_metrics: false

    # Recommended to disable default metrics from promphp/prometheus_client_php
    # see https://github.com/PromPHP/prometheus_client_php/issues/62
    disable_default_promphp_metrics: true

    # used to enable console metrics
    #enable_console_metrics: false

when@test:
    artprima_prometheus_metrics:
        storage: in_memory
  1. Add the metrics routes config/routes/metrics.yaml
app_metrics:
    resource: '@ArtprimaPrometheusMetricsBundle/Resources/config/routing.xml'
  1. Add environment variables
###> artprima/prometheus-metrics-bundle ###
PROM_METRICS_DSN=apcu
###< artprima/prometheus-metrics-bundle ###

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages