module Sidekiq::UsageDbMonitor::WebExtension
Public Class Methods
registered(app)
click to toggle source
# File lib/sidekiq/usage-db-monitor/web_extension.rb, line 4 def self.registered(app) app.get '/usage-db-monitor' do view_path = File.join(File.expand_path("..", __FILE__), "views") asset_path = File.join(File.expand_path("..", __FILE__), "assets") render(:erb, File.read(File.join(view_path, "usage_db_monitor.erb")), locals: {view_path: view_path, asset_path: asset_path}) end app.get '/table-duration' do min_since_epoch = params['min_since_epoch'].to_i - 1 action = params['type'] @redis = Redis.new({}) durations = @redis.hgetall("sidekiq-job-planner-by-table-duration-#{action}-#{min_since_epoch}") tables = ActiveRecord::Base.connection.tables tables.each do |table, value| durations[table] = durations[table].to_i / 1000.0 end payload = { durations: durations, metadata: { min_since_epoch: min_since_epoch } } json(payload) end app.get '/table-count' do min_since_epoch = params['min_since_epoch'].to_i - 1 action = params['type'] @redis = Redis.new({}) counts = @redis.hgetall("sidekiq-job-planner-by-table-count-#{action}-#{min_since_epoch}") tables = ActiveRecord::Base.connection.tables tables.each do |table, value| counts[table] = counts[table].to_i end payload = { counts: counts, metadata: { min_since_epoch: min_since_epoch } } json(payload) end end