lib/zold/node/front.rb in zold-0.21.1 vs lib/zold/node/front.rb in zold-0.21.2

- old
+ new

@@ -1,8 +1,8 @@ # frozen_string_literal: true -# Copyright (c) 2018 Yegor Bugayenko +# Copyright (c) 2018-2019 Zerocracy, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the 'Software'), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell @@ -28,10 +28,11 @@ require 'json' require 'sinatra/base' require 'concurrent' require 'backtrace' require 'zache' +require 'total' require_relative '../version' require_relative '../size' require_relative '../wallet' require_relative '../age' require_relative '../copies' @@ -222,10 +223,11 @@ platform: RUBY_PLATFORM, load: settings.zache.get(:load, lifetime: settings.opts['no-cache'] ? 0 : 60) do require 'usagewatch_ext' Object.const_defined?('Usagewatch') ? Usagewatch.uw_load.to_f : 0.0 end, + total_mem: total_mem, threads: "#{Thread.list.select { |t| t.status == 'run' }.count}/#{Thread.list.count}", wallets: total_wallets, remotes: all_remotes.count, nscore: all_remotes.map { |r| r[:score] }.inject(&:+) || 0, farm: settings.farm.to_json, @@ -361,10 +363,15 @@ score: score.to_h, wallets: total_wallets ) end + get '/wallets' do + content_type('text/plain') + settings.wallets.all.map(&:to_s).join('\n') + end + get '/remotes' do content_type('application/json') pretty( version: settings.opts['expose-version'], alias: settings.node_alias, @@ -438,9 +445,18 @@ def check_header(name) name = "HTTP-#{name}".upcase.tr('-', '_') header = request.env[name] return unless header yield header + end + + def total_mem + settings.zache.get(:total_mem, lifetime: settings.opts['no-cache'] ? 0 : 60) do + Total::Mem.new.bytes + rescue Total::CantDetect => e + @log.error(e.message) + 0 + end end def total_wallets settings.zache.get(:wallets, lifetime: settings.opts['no-cache'] ? 0 : 60) do settings.wallets.count