mirror of
https://git.proxmox.com/git/pmg-api
synced 2025-10-04 20:51:37 +00:00
pmgreport: add timespan parameter
This commit is contained in:
parent
2e2d48305c
commit
2f7031b7d0
@ -171,21 +171,7 @@ __PACKAGE__->register_method ({
|
||||
my (undef, undef, undef, $mday, $mon, $year) = localtime(time());
|
||||
my $daystart = timelocal(0, 0, 0, $mday, $mon, $year);
|
||||
|
||||
my $start;
|
||||
my $end;
|
||||
|
||||
if ($timespan eq 'today') {
|
||||
$start = $daystart;
|
||||
$end = $start + 86400;
|
||||
} elsif ($timespan eq 'yesterday') {
|
||||
$end = $daystart;
|
||||
$start = $end - 86400;
|
||||
} elsif ($timespan eq 'week') {
|
||||
$end = $daystart;
|
||||
$start = $end - 7*86400;
|
||||
} else {
|
||||
die "internal error";
|
||||
}
|
||||
my ($start, $end) = PMG::Utils::lookup_timespan($timespan);
|
||||
|
||||
my $hostname = PVE::INotify::nodename();
|
||||
|
||||
|
@ -130,15 +130,23 @@ __PACKAGE__->register_method ({
|
||||
type => 'string', format => 'email',
|
||||
optional => 1,
|
||||
},
|
||||
timespan => {
|
||||
description => "Select time span for included email statistics.\n\nNOTE: System and cluster performance data is always from current time (when script is run).",
|
||||
type => 'string',
|
||||
enum => ['today', 'yesterday'],
|
||||
default => 'today',
|
||||
optional => 1,
|
||||
},
|
||||
},
|
||||
},
|
||||
returns => { type => 'null'},
|
||||
code => sub {
|
||||
my ($param) = @_;
|
||||
|
||||
my $fqdn = PVE::Tools::get_fqdn($nodename);
|
||||
my $timespan = $param->{timespan} // 'today';
|
||||
my ($start, $end) = PMG::Utils::lookup_timespan($timespan);
|
||||
|
||||
my $end = time(); # fixme
|
||||
my $fqdn = PVE::Tools::get_fqdn($nodename);
|
||||
|
||||
my $vars = {
|
||||
hostname => $nodename,
|
||||
|
26
PMG/Utils.pm
26
PMG/Utils.pm
@ -13,6 +13,7 @@ use File::Basename;
|
||||
use MIME::Words;
|
||||
use MIME::Parser;
|
||||
use Time::HiRes qw (gettimeofday);
|
||||
use Time::Local;
|
||||
use Xdgmime;
|
||||
use Data::Dumper;
|
||||
use Digest::SHA;
|
||||
@ -1029,4 +1030,29 @@ sub finalize_report {
|
||||
PMG::Utils::reinject_mail ($top, '', [$receiver], undef, $data->{fqdn});
|
||||
}
|
||||
|
||||
sub lookup_timespan {
|
||||
my ($timespan) = @_;
|
||||
|
||||
my (undef, undef, undef, $mday, $mon, $year) = localtime(time());
|
||||
my $daystart = timelocal(0, 0, 0, $mday, $mon, $year);
|
||||
|
||||
my $start;
|
||||
my $end;
|
||||
|
||||
if ($timespan eq 'today') {
|
||||
$start = $daystart;
|
||||
$end = $start + 86400;
|
||||
} elsif ($timespan eq 'yesterday') {
|
||||
$end = $daystart;
|
||||
$start = $end - 86400;
|
||||
} elsif ($timespan eq 'week') {
|
||||
$end = $daystart;
|
||||
$start = $end - 7*86400;
|
||||
} else {
|
||||
die "internal error";
|
||||
}
|
||||
|
||||
return ($start, $end);
|
||||
}
|
||||
|
||||
1;
|
||||
|
2
debian/pmgreport.service
vendored
2
debian/pmgreport.service
vendored
@ -4,5 +4,5 @@ ConditionPathExists=/usr/bin/pmgreport
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/pmgreport --auto
|
||||
ExecStart=/usr/bin/pmgreport --timespan yesterday --auto
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user