Popularity
1.1
Growing
Activity
5.1
-
14
4
6

Description

Adapter for easy exporting your collected metrics from your application to the Prometheus! It is based on Prometheus Ruby Mmap Client, that uses mmap'ed files to share metrics from multiple processes. This allows efficient metrics processing for Ruby web apps running in multiprocess setups like Unicorn or Puma (clustered mode).

Monthly Downloads: 45,581
Programming language: Ruby
License: MIT License
Latest version: v0.1.1

Yabeda::Prometheus::Mmap alternatives and similar gems

Based on the "Performance Monitoring" category.
Alternatively, view Yabeda::Prometheus::Mmap alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Yabeda::Prometheus::Mmap or a related project?

Add another 'Performance Monitoring' Gem

README

Yabeda::Prometheus::Mmap

Adapter for easy exporting your collected metrics from your application to the Prometheus! It is based on Prometheus Ruby Mmap Client, that uses mmap'ed files to share metrics from multiple processes. This allows efficient metrics processing for Ruby web apps running in multiprocess setups like Unicorn or Puma (clustered mode).

Installation

Add this line to your application's Gemfile:

gem 'yabeda-prometheus-mmap'

And then execute:

$ bundle

Usage

  1. Exporting from running web servers:

    Place following in your config.ru before running your application:

    require 'yabeda/prometheus/mmap'
    
    use Yabeda::Prometheus::Exporter
    

    Metrics will be available on /metrics path (configured by :path option).

    Also you can mount it in Rails application routes as standalone Rack application.

  2. Run web-server from long-running processes (delayed jobs, …):

    require 'yabeda/prometheus/mmap'
    
    Yabeda::Prometheus::Exporter.start_metrics_server!
    

    WEBrick will be launched in separate thread and will serve metrics on /metrics path.

    See yabeda-sidekiq for example.

    Listening address is configured via PROMETHEUS_EXPORTER_BIND env variable (default is 0.0.0.0).

    Port is configured by PROMETHEUS_EXPORTER_PORT or PORT variables (default is 9394).

Development with Docker

Get local development environment working and tests running is very easy with docker-compose:

docker-compose run app bundle
docker-compose run app bundle exec rspec

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/yabeda-rb/yabeda-prometheus-mmap.

License

The gem is available as open source under the terms of the MIT License.


*Note that all licence references and agreements mentioned in the Yabeda::Prometheus::Mmap README section above are relevant to that project's source code only.