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

Reply via email to