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).
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.
-
ScoutApm Ruby Agent
ScoutAPM Ruby Agent. Supports Rails, Sinatra, Grape, Rack, and many other frameworks
SaaSHub - Software Alternatives and Reviews
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Yabeda::Prometheus::Mmap or a related project?
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
Exporting from running web servers:
Place following in your
config.rubefore running your application:require 'yabeda/prometheus/mmap' use Yabeda::Prometheus::ExporterMetrics will be available on
/metricspath (configured by:pathoption).Also you can mount it in Rails application routes as standalone Rack application.
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
/metricspath.See yabeda-sidekiq for example.
Listening address is configured via
PROMETHEUS_EXPORTER_BINDenv variable (default is0.0.0.0).Port is configured by
PROMETHEUS_EXPORTER_PORTorPORTvariables (default is9394).
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.