Author: rob
Date: Thu Nov 11 11:03:50 2010
New Revision: 24656
URL: https://svn.nixos.org/websvn/nix/?rev=24656&sc=1

Log:
hydra: store logfile/output path/closure size

Modified:
   hydra/trunk/src/lib/Hydra/Schema/BuildMachines.pm
   hydra/trunk/src/lib/Hydra/Schema/BuildResultInfo.pm
   hydra/trunk/src/script/hydra_build.pl.in
   hydra/trunk/src/sql/hydra.sql

Modified: hydra/trunk/src/lib/Hydra/Schema/BuildMachines.pm
==============================================================================
--- hydra/trunk/src/lib/Hydra/Schema/BuildMachines.pm   Thu Nov 11 11:02:44 
2010        (r24655)
+++ hydra/trunk/src/lib/Hydra/Schema/BuildMachines.pm   Thu Nov 11 11:03:50 
2010        (r24656)
@@ -29,21 +29,21 @@
 =head2 username
 
   data_type: text
-  default_value: undef
+  default_value: ''
   is_nullable: 0
   size: undef
 
 =head2 ssh_key
 
   data_type: text
-  default_value: undef
+  default_value: ''
   is_nullable: 0
   size: undef
 
 =head2 options
 
   data_type: text
-  default_value: undef
+  default_value: ''
   is_nullable: 0
   size: undef
 
@@ -64,7 +64,7 @@
 =head2 enabled
 
   data_type: integer
-  default_value: 1
+  default_value: 0
   is_nullable: 0
   size: undef
 
@@ -79,32 +79,17 @@
     size => undef,
   },
   "username",
-  {
-    data_type => "text",
-    default_value => undef,
-    is_nullable => 0,
-    size => undef,
-  },
+  { data_type => "text", default_value => "''", is_nullable => 0, size => 
undef },
   "ssh_key",
-  {
-    data_type => "text",
-    default_value => undef,
-    is_nullable => 0,
-    size => undef,
-  },
+  { data_type => "text", default_value => "''", is_nullable => 0, size => 
undef },
   "options",
-  {
-    data_type => "text",
-    default_value => undef,
-    is_nullable => 0,
-    size => undef,
-  },
+  { data_type => "text", default_value => "''", is_nullable => 0, size => 
undef },
   "maxconcurrent",
   { data_type => "integer", default_value => 2, is_nullable => 0, size => 
undef },
   "speedfactor",
   { data_type => "integer", default_value => 1, is_nullable => 0, size => 
undef },
   "enabled",
-  { data_type => "integer", default_value => 1, is_nullable => 0, size => 
undef },
+  { data_type => "integer", default_value => 0, is_nullable => 0, size => 
undef },
 );
 __PACKAGE__->set_primary_key("hostname");
 
@@ -125,8 +110,8 @@
 );
 
 
-# Created by DBIx::Class::Schema::Loader v0.05000 @ 2010-10-11 12:58:16
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:gje+VA73Hghl7JXp+Fl8pw
+# Created by DBIx::Class::Schema::Loader v0.05000 @ 2010-11-11 10:58:44
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:GV0LlwTyjFctix2zArVTGw
 
 
 # You can replace this text with custom content, and it will be preserved on 
regeneration

Modified: hydra/trunk/src/lib/Hydra/Schema/BuildResultInfo.pm
==============================================================================
--- hydra/trunk/src/lib/Hydra/Schema/BuildResultInfo.pm Thu Nov 11 11:02:44 
2010        (r24655)
+++ hydra/trunk/src/lib/Hydra/Schema/BuildResultInfo.pm Thu Nov 11 11:03:50 
2010        (r24656)
@@ -69,6 +69,27 @@
   is_nullable: 1
   size: undef
 
+=head2 logsize
+
+  data_type: integer
+  default_value: 0
+  is_nullable: 0
+  size: undef
+
+=head2 size
+
+  data_type: integer
+  default_value: 0
+  is_nullable: 0
+  size: undef
+
+=head2 closuresize
+
+  data_type: integer
+  default_value: 0
+  is_nullable: 0
+  size: undef
+
 =head2 releasename
 
   data_type: text
@@ -150,6 +171,12 @@
     is_nullable => 1,
     size => undef,
   },
+  "logsize",
+  { data_type => "integer", default_value => 0, is_nullable => 0, size => 
undef },
+  "size",
+  { data_type => "integer", default_value => 0, is_nullable => 0, size => 
undef },
+  "closuresize",
+  { data_type => "integer", default_value => 0, is_nullable => 0, size => 
undef },
   "releasename",
   {
     data_type => "text",
@@ -189,8 +216,8 @@
 __PACKAGE__->belongs_to("id", "Hydra::Schema::Builds", { id => "id" }, {});
 
 
-# Created by DBIx::Class::Schema::Loader v0.05003 @ 2010-02-25 10:29:41
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Vg+v2gK8l7iqBqQGtZJ1cA
+# Created by DBIx::Class::Schema::Loader v0.05000 @ 2010-11-11 10:58:44
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:7RntgXzDYpnfVLfja5RXKg
 
 __PACKAGE__->belongs_to(
   "failedDep",

Modified: hydra/trunk/src/script/hydra_build.pl.in
==============================================================================
--- hydra/trunk/src/script/hydra_build.pl.in    Thu Nov 11 11:02:44 2010        
(r24655)
+++ hydra/trunk/src/script/hydra_build.pl.in    Thu Nov 11 11:03:50 2010        
(r24656)
@@ -199,6 +199,10 @@
     sendmail($email);
 }
 
+sub getSize {
+    my $size = `du -bcs @_ 2> /dev/null | tail -1 | cut -f 1 `;
+    return int($size);
+}
 
 sub doBuild {
     my ($build) = @_;
@@ -365,6 +369,16 @@
     }
 
   done:
+    my $logfile = getBuildLog($drvPath); 
+
+    my $logsize = defined $logfile ? getSize($logfile) : 0;
+    my $size = isValidPath($outPath) ? getSize($outPath) : 0;
+
+    my $closuresize = 0;
+    if (isValidPath($outPath)) {
+        (my $hash, my $deriver, my $refs) = queryPathInfo($outPath) ;
+        $closuresize = getSize(@{$refs});
+    }
 
     txn_do($db, sub {
         $build->update({finished => 1, timestamp => time});
@@ -377,7 +391,10 @@
             , buildstatus => $buildStatus
             , starttime => $startTime
             , stoptime => $stopTime
-            , logfile => getBuildLog($drvPath)
+            , logfile => $logfile
+            , logsize => $logsize
+            , size => $size
+            , closuresize => $closuresize
             , errormsg => $errormsg
             , releasename => $releaseName
             });

Modified: hydra/trunk/src/sql/hydra.sql
==============================================================================
--- hydra/trunk/src/sql/hydra.sql       Thu Nov 11 11:02:44 2010        (r24655)
+++ hydra/trunk/src/sql/hydra.sql       Thu Nov 11 11:03:50 2010        (r24656)
@@ -114,7 +114,7 @@
 );
 
 
--- This table contains all builds, either scheduled or finished.  For
+-- This table contains all wbuilds, either scheduled or finished.  For
 -- scheduled builds, additional info (such as the priority) can be
 -- found in the BuildSchedulingInfo table.  For finished builds,
 -- additional info (such as the logs, build products, etc.) can be
@@ -204,6 +204,10 @@
 
     logfile       text, -- the path of the logfile
 
+    logsize       integer not null default 0,
+    size          integer not null default 0,
+    closuresize   integer not null default 0,
+
     releaseName   text, -- e.g. "patchelf-0.5pre1234"
 
     keep          integer not null default 0, -- true means never 
garbage-collect the build output
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits

Reply via email to