[PATCH 3/3] testbot/web: Default to reporting on the activity of the past 24 hours.
Francois Gouget
fgouget at codeweavers.com
Mon Jan 22 22:34:34 CST 2018
This limits the time it takes to generate the activity page.
One can still review the full activity log by specifying 0 as the time
period to analyze.
Also the page no longer self-refreshes for periods longer than the
default.
Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---
testbot/web/Activity.pl | 25 ++++++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/testbot/web/Activity.pl b/testbot/web/Activity.pl
index f8b7b5ad..0b92299a 100644
--- a/testbot/web/Activity.pl
+++ b/testbot/web/Activity.pl
@@ -24,27 +24,37 @@ package ActivityPage;
use POSIX qw(strftime);
use URI::Escape;
-use ObjectModel::CGI::Page;
+use ObjectModel::CGI::FreeFormPage;
use WineTestBot::Config;
use WineTestBot::Activity;
use WineTestBot::Log;
use WineTestBot::VMs;
- at ActivityPage::ISA = qw(ObjectModel::CGI::Page);
+ at ActivityPage::ISA = qw(ObjectModel::CGI::FreeFormPage);
+
+my $HOURS_DEFAULT = 24;
sub _initialize($$$)
{
my ($self, $Request, $RequiredRole) = @_;
$self->{start} = Time();
+ $self->{hours} = $self->GetParam("Hours");
+ if (!defined $self->{hours} or $self->{hours} !~ /^\d{1,3}$/)
+ {
+ $self->{hours} = $HOURS_DEFAULT;
+ }
+
$self->SUPER::_initialize($Request, $RequiredRole);
}
sub GeneratePage($)
{
my ($self) = @_;
-
- $self->{Request}->headers_out->add("Refresh", "60");
+ if ($self->{hours} and $self->{hours} <= $HOURS_DEFAULT)
+ {
+ $self->{Request}->headers_out->add("Refresh", "60");
+ }
$self->SUPER::GeneratePage();
}
@@ -88,6 +98,11 @@ sub GenerateBody($)
{
my ($self) = @_;
+ # Generate a custom form to let the user specify the Hours field.
+ $self->GenerateFormStart();
+ print "<div class='ItemProperty'><label>Analyze the activity of the past <div class='ItemValue'><input type='text' name='Hours' maxlength='3' size='3' value='$self->{hours}'/></div> hours.</div>\n";
+ $self->GenerateFormEnd();
+
print "<h1>${ProjectName} Test Bot activity</h1>\n";
print "<div class='Content'>\n";
@@ -132,7 +147,7 @@ EOF
### Generate the HTML table with the newest record first
print "<tbody>\n";
- my ($Activity, $_Counters) = GetActivity($VMs);
+ my ($Activity, $_Counters) = GetActivity($VMs, $self->{hours} * 3600);
for (my $Index = @$Activity; $Index--; )
{
my $Group = $Activity->[$Index];
--
2.15.1
More information about the wine-devel
mailing list