Add the following to your Gemfile:
gem 'heroku-api'
Put heroku.rb in your jobs folder and add the contents of heroku.html into your layout.
Add the following to your Gemfile:
gem 'heroku-api'
Put heroku.rb in your jobs folder and add the contents of heroku.html into your layout.
| <li data-row="1" data-col="1" data-sizex="1" data-sizey="1"> | |
| <div data-id="heroku_dyno_web" data-view="Meter" data-title="Web Dynos" data-min="0" data-max="10"></div> | |
| </li> | |
| <li data-row="1" data-col="2" data-sizex="1" data-sizey="1"> | |
| <div data-id="heroku_dyno_worker" data-view="Meter" data-title="Workers" data-min="0" data-max="10"></div> | |
| </li> |
| require 'heroku-api' | |
| key = ENV['HEROKU_API_KEY'] | |
| app_name = ENV['HEROKU_APP_NAME'] | |
| heroku = Heroku::API.new(:api_key => key) | |
| SCHEDULER.every '15s', :first_in => 0 do |job| | |
| ps = heroku.get_ps(app_name) | |
| dynos = ps.body.map { |p| p['process'] } | |
| process_counts = dynos.reduce({}) do |hash, dyno| | |
| process, i = dyno.split(".") | |
| hash[process] ||= 0 | |
| hash[process] += 1 | |
| hash | |
| end | |
| process_counts.each do |ps, n| | |
| send_event("heroku_dyno_#{ps}", { value: n }) | |
| end | |
| end |