Title: [opsview] [5317] Added reload time + reloads count data into ODW stats
- Revision
- 5317
- Author
- tvoon
- Date
- 2010-11-05 00:48:29 +0000 (Fri, 05 Nov 2010)
Log Message
Added reload time + reloads count data into ODW stats
Modified Paths
Modified: trunk/opsview-core/bin/db_odw
===================================================================
--- trunk/opsview-core/bin/db_odw 2010-11-04 23:46:07 UTC (rev 5316)
+++ trunk/opsview-core/bin/db_odw 2010-11-05 00:48:29 UTC (rev 5317)
@@ -444,6 +444,8 @@
num_serviceresults INT DEFAULT NULL,
num_perfdata INT DEFAULT NULL,
duration INT DEFAULT NULL,
+ last_reload_duration SMALLINT DEFAULT NULL,
+ reloads SMALLINT DEFAULT NULL,
PRIMARY KEY (id),
UNIQUE (period_start_timev, opsview_instance_id),
INDEX (period_end_timev),
Modified: trunk/opsview-core/bin/import_runtime
===================================================================
--- trunk/opsview-core/bin/import_runtime 2010-11-04 23:46:07 UTC (rev 5316)
+++ trunk/opsview-core/bin/import_runtime 2010-11-05 00:48:29 UTC (rev 5317)
@@ -57,7 +57,11 @@
use Time::Interval;
use Statistics::Lite qw(min max sum count mean stddev stddevp);
use Fcntl;
+use Opsview::Schema;
+my $schema = Opsview::Schema->my_connect;
+my $reloadtimes_rs = $schema->resultset("Reloadtimes");
+
sub usage;
# Use a cache for service objects to save continually hits on db
@@ -975,6 +979,14 @@
my $now = time();
my $seconds_taken = $now - $dataload->load_start_timev->epoch;
+ my $last_reload = $reloadtimes_rs->search( { duration => \"IS NOT NULL" }, { order_by => { -desc => "id" } } )->first;
+ my $last_reload_duration;
+ if ($last_reload) {
+ $last_reload_duration = $last_reload->duration;
+ }
+
+ my $reloads = $reloadtimes_rs->search( { end_config => { -between => [ $start_timev, $end_timev ] } } )->count;
+
# Mark successful dataload
$logger->info("Finished import for hour");
$dataload->load_end_timev($now);
@@ -984,6 +996,8 @@
$dataload->num_serviceresults($num_serviceresults);
$dataload->num_perfdata($num_perfdata);
$dataload->duration($seconds_taken);
+ $dataload->last_reload_duration($last_reload_duration);
+ $dataload->reloads($reloads);
$dataload->update;
if ( $opts->{v} ) {
Modified: trunk/opsview-core/installer/upgradedb_odw.pl
===================================================================
--- trunk/opsview-core/installer/upgradedb_odw.pl 2010-11-04 23:46:07 UTC (rev 5316)
+++ trunk/opsview-core/installer/upgradedb_odw.pl 2010-11-05 00:48:29 UTC (rev 5317)
@@ -768,7 +768,9 @@
ADD COLUMN num_services INT DEFAULT NULL,
ADD COLUMN num_serviceresults INT DEFAULT NULL,
ADD COLUMN num_perfdata INT DEFAULT NULL,
- ADD COLUMN duration INT DEFAULT NULL"
+ ADD COLUMN duration INT DEFAULT NULL,
+ ADD COLUMN last_reload_duration SMALLINT DEFAULT NULL,
+ ADD COLUMN reloads SMALLINT DEFAULT NULL"
);
$db->updated;
}
Modified: trunk/opsview-core/lib/Odw/Dataload.pm
===================================================================
--- trunk/opsview-core/lib/Odw/Dataload.pm 2010-11-04 23:46:07 UTC (rev 5316)
+++ trunk/opsview-core/lib/Odw/Dataload.pm 2010-11-05 00:48:29 UTC (rev 5317)
@@ -32,6 +32,7 @@
Essential => qw/opsview_instance_id period_start_timev period_end_timev
load_start_timev load_end_timev status
num_hosts num_services num_serviceresults num_perfdata duration
+ last_reload_duration reloads
/
);
Modified: trunk/opsview-core/t/540reloadtimes.t
===================================================================
--- trunk/opsview-core/t/540reloadtimes.t 2010-11-04 23:46:07 UTC (rev 5316)
+++ trunk/opsview-core/t/540reloadtimes.t 2010-11-05 00:48:29 UTC (rev 5317)
@@ -1,13 +1,18 @@
#!/usr/bin/perl
-use Test::More tests => 7;
+use Test::More qw(no_plan);
use strict;
use FindBin qw($Bin);
use lib "$Bin/../lib", "$Bin/../etc";
use Opsview;
use Opsview::Reloadtime;
+use Opsview::Schema;
+my $schema = Opsview::Schema->my_connect;
+
+my $rs = $schema->resultset("Reloadtimes");
+
my $dbh = Opsview->db_Main;
ok( defined $dbh, "Connect to db" );
@@ -38,3 +43,13 @@
$start = Opsview::Reloadtime->in_progress;
is( $start, undef, "undef returned when no reload running" );
+
+my $last_reload = $rs->search( { duration => \"IS NOT NULL" }, { order_by => { -desc => "id" } })->first;
+my $last_reload_duration;
+if ($last_reload) {
+ $last_reload_duration=$last_reload->duration;
+}
+is( $last_reload_duration, 15, "Got last reload duration" );
+
+my $reloads = $rs->search( { end_config => { -between => [ 1188559654, 1188564644 ] } })->count;
+is( $reloads, 3, "Got right count of reloads" );
_______________________________________________
Opsview-checkins mailing list
[email protected]
http://lists.opsview.org/lists/listinfo/opsview-checkins