--- /dev/null
+package OpenILS::Dashboard::ReqHandler;
+
+ use 5.006;
+ use strict;
+ use base qw(JSON::RPC::Legacy::Procedure); # Perl 5.6 or more than
+ use Storable qw(retrieve);
+
+ my %result;
+ my $saved_data = '/tmp/janus_data';
+
+ sub getCPU : Public {
+ getData('cpu');
+ return \%result;
+ }
+
+ sub getMemoryUsage : Public {
+ getData('mem');
+ return \%result;
+ }
+
+ sub getCurrenLoad : Public {
+ getData('load');
+ return \%result;
+ }
+
+ sub getDiskSpace : Public {
+ getData('disk');
+ return \%result;
+ }
+
+ sub getTotalProcesses : Public {
+ getData('proc');
+ return \%result;
+ }
+
+ sub getData : Private {
+ my $perf_data_ref;
+ if (-e $saved_data){ #if exists file with data
+ $perf_data_ref = retrieve($saved_data); #retrieve data
+ } else {
+ die "File with data does not exist!";
+ }
+ my $type = shift; #get type of requested value
+ %result = (); #clear result hash
+ foreach my $host (keys $perf_data_ref){
+ $result{$host} = $perf_data_ref->{$host}{$type}; #add value to result hash
+ }
+ }
+
+1;
\ No newline at end of file