Skip to content

Commit

Permalink
[backend] collect build statistics and convert them to xml
Browse files Browse the repository at this point in the history
  • Loading branch information
adrianschroeter committed Oct 10, 2012
1 parent e505962 commit e867cc2
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/backend/BSXML.pm
Expand Up @@ -444,6 +444,17 @@ our $sourceinfolist = [
[ $sourceinfo ],
];

our $buildstatistics = [
'buildstatistics' =>
[ 'disk' =>
[],
'maxfillment',
'iorequests',
'iosectors',
],
# 'cpu' =>
];

our $buildinfo = [
'buildinfo' =>
'project',
Expand Down
25 changes: 25 additions & 0 deletions src/backend/bs_worker
Expand Up @@ -2065,6 +2065,31 @@ sub dobuild {
symlink('.', "$buildroot/.build.packages/SRPMS");
symlink('.', "$buildroot/.build.packages/DEBS");
symlink('.', "$buildroot/.build.packages/KIWI");
# convert build statistics into xml
if( -e "$buildroot/.build.packages/_statistics") {
my $stats = {};
my $disk = {};
my $iosectors = 0;
my $iorequests = 0;
open(FILE, "<", "$buildroot/.build.packages/_statistics") || die;
while(<FILE>) {
my ($key, $value) = split( ": ", $_ );
if ($key eq "MAX_mb_used_on_disk" ){
$disk->{'maxfillment'} = $value;
$stats->{'disk'} = $disk;
} elsif ($key eq "IO_requests_read" || $key eq "IO_requests_write" ){
$iorequests += $value;
$disk->{'iorequests'} = $iorequests;
$stats->{'disk'} = $disk;
} elsif ($key eq "IO_sectors_read" || $key eq "IO_sectors_write" ){
$iosectors += $value;
$disk->{'iosectors'} = $iosectors;
$stats->{'disk'} = $disk;
}
}
close FILE;
writexml("$buildroot/.build.packages/_statistics.new", "$buildroot/.build.packages/_statistics", $stats, $BSXML::buildstatistics);
}
}

return 0;
Expand Down

0 comments on commit e867cc2

Please sign in to comment.