2014-04-02 19:17:49

by Fabian Frédérick

[permalink] [raw]
Subject: [PATCH 1/1] scripts/bootgraph.pl: Add graphic header

Adding -header + help function like other .pl in /scripts.

Cc: [email protected]
Cc: Andrew Morton <[email protected]>
Signed-off-by: Fabian Frederick <[email protected]>
---
scripts/bootgraph.pl | 42 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 40 insertions(+), 2 deletions(-)

diff --git a/scripts/bootgraph.pl b/scripts/bootgraph.pl
index b78fca9..b8f2cd3 100644
--- a/scripts/bootgraph.pl
+++ b/scripts/bootgraph.pl
@@ -38,6 +38,31 @@
#

use strict;
+use Getopt::Long;
+my $header = 0;
+
+sub help {
+ my $text = << "EOM";
+Usage:
+1) dmesg | perl scripts/bootgraph.pl [OPTION] > output.svg
+2) perl scripts/bootgraph.pl -h
+
+Options:
+ -header Insert kernel version and date
+EOM
+ my $std=shift;
+ if ($std == 1){
+ print STDERR $text;
+ } else {
+ print $text;
+ }
+ exit;
+}
+
+GetOptions(
+ 'h|help' =>\&help,
+ 'header' =>\$header
+);

my %start;
my %end;
@@ -49,6 +74,11 @@ my $count = 0;
my %pids;
my %pidctr;

+my $headerstep=20;
+my $xheader=15;
+my $yheader=25;
+my $cyheader=0;
+
while (<>) {
my $line = $_;
if ($line =~ /([0-9\.]+)\] calling ([a-zA-Z0-9\_\.]+)\+/) {
@@ -112,15 +142,23 @@ if ($count == 0) {
print STDERR <<END;
No data found in the dmesg. Make sure that 'printk.time=1' and
'initcall_debug' are passed on the kernel command line.
-Usage:
- dmesg | perl scripts/bootgraph.pl > output.svg
END
+ help(1);
exit 1;
}

print "<?xml version=\"1.0\" standalone=\"no\"?> \n";
print "<svg width=\"2000\" height=\"100%\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n";

+
+if ($header) {
+ my $version = `uname -a`;
+ my $date = `date`;
+ print "<text transform=\"translate($xheader,$yheader)\">Kernel version: $version</text>\n";
+ $cyheader = $yheader+$headerstep;
+ print "<text transform=\"translate($xheader,$cyheader)\">Date: $date</text>\n";
+}
+
my @styles;

$styles[0] = "fill:rgb(0,0,255);fill-opacity:0.5;stroke-width:1;stroke:rgb(0,0,0)";
--
1.8.4.5