Files
chatwoot/app/controllers/super_admin/instance_statuses_controller.rb
TOMMY 9203b097d2 chore: Show chatwoot_edition in Instance details (#7200)
- Displays the chatwoot edition in the instance details
2023-06-05 17:32:21 +05:30

56 lines
1.8 KiB
Ruby

class SuperAdmin::InstanceStatusesController < SuperAdmin::ApplicationController
def show
@metrics = {}
chatwoot_version
sha
postgres_status
redis_metrics
chatwoot_edition
end
def chatwoot_edition
@metrics['Chatwoot edition'] = if ChatwootApp.enterprise?
'Enterprise'
elsif ChatwootApp.custom?
'Custom'
else
'Community'
end
end
def chatwoot_version
@metrics['Chatwoot version'] = Chatwoot.config[:version]
end
def sha
sha = `git rev-parse HEAD`
@metrics['Git SHA'] = sha.presence || 'n/a'
end
def postgres_status
@metrics['Postgres alive'] = if ActiveRecord::Base.connection.active?
'true'
else
'false'
end
end
def redis_metrics
r = Redis.new(Redis::Config.app)
if r.ping == 'PONG'
redis_server = r.info
@metrics['Redis alive'] = 'true'
@metrics['Redis version'] = redis_server['redis_version']
@metrics['Redis number of connected clients'] = redis_server['connected_clients']
@metrics["Redis 'maxclients' setting"] = redis_server['maxclients']
@metrics['Redis memory used'] = redis_server['used_memory_human']
@metrics['Redis memory peak'] = redis_server['used_memory_peak_human']
@metrics['Redis total memory available'] = redis_server['total_system_memory_human']
@metrics["Redis 'maxmemory' setting"] = redis_server['maxmemory']
@metrics["Redis 'maxmemory_policy' setting"] = redis_server['maxmemory_policy']
end
rescue Redis::CannotConnectError
@metrics['Redis alive'] = false
end
end