]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
nomore
authorsageweil <sageweil@29311d96-e01e-0410-9327-a35deaab8ce9>
Fri, 31 Aug 2007 19:12:52 +0000 (19:12 +0000)
committersageweil <sageweil@29311d96-e01e-0410-9327-a35deaab8ce9>
Fri, 31 Aug 2007 19:12:52 +0000 (19:12 +0000)
git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@1764 29311d96-e01e-0410-9327-a35deaab8ce9

trunk/ceph/script/study_static.pl [deleted file]

diff --git a/trunk/ceph/script/study_static.pl b/trunk/ceph/script/study_static.pl
deleted file mode 100644 (file)
index 2350dd7..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-
-my $base = shift @ARGV;
-my $dsfn = shift @ARGV;
-my $logfn = shift @ARGV;
-
-die unless -d $base;
-
-my @q = ($base);
-my $nfiles = 0;
-my $ndirs = 0;
-my $nreg = 0;
-my $nhardlinks = 0;
-my %nlinks;
-my %names;
-my %dirsize;
-my %fnlen;  
-my $fnchars;
-
-my $mask = 00170000;
-my $ifdir = 0040000;
-my $ifreg = 0100000;
-
-while (@q) {
-    my $dir = shift @q;
-    unless (-d $dir) {
-       warn "** $dir went away\n";
-       next;
-    }
-
-    my $numindir = 0;
-    opendir(D, $dir);
-    for my $f (readdir(D)) {
-       next if $f eq '.';
-       next if $f eq '..';
-       next if $f eq '.snapshot';
-       $numindir++;
-       my $file = "$dir/$f";
-
-       $nfiles++; 
-       my ($ino, $mode, $nlink) = (lstat($file))[1, 2,3];
-
-       my $fnlen = length($f);
-       $fnlen{$fnlen}++;
-       $fnchars += $fnlen;
-
-       if (($mode & $mask) == $ifdir) {
-           $ndirs++;
-           push(@q, $file);
-       } else {
-           $nreg++ if ($mode & $mask) == $ifreg;
-           if ($nlink > 1) {
-               #system "ls -aldi $file";
-               $nhardlinks++;
-               $nlinks{$nlink}++;
-               push(@{$names{$ino}->{$dir}}, $file);
-           }
-       }
-    }    
-    closedir(D);
-    $dirsize{$numindir}++;
-}
-
-my $nsamedir = 0;
-open(LOG, ">>$logfn") if $logfn;
-for my $ino (keys %names) {
-    print LOG "#$base : $ino\n";
-    my @dirs = keys %{$names{$ino}};
-    my $insamedir = 1 if scalar(@dirs) == 1;
-    for my $dir (@dirs) {
-       print LOG "#\t$dir\n";
-       for my $fn (@{$names{$ino}->{$dir}}) {
-           print LOG "#\t\t$fn\n";
-           $nsamedir++ if $insamedir;
-       }
-    }
-}
-close LOG;
-
-# avg, medium dir size
-my $avgdirsize = sprintf("%.2f",($nfiles + $ndirs) / $ndirs);
-my $p = 0;
-my $mediandirsize = 0;
-open(DSLOG, ">$dsfn");
-print DSLOG "# $base\n# size\tnumdirs\n";
-
-for my $ds (sort {$a <=> $b} keys %dirsize) {
-    print DSLOG "$ds\t$dirsize{$ds}\n";
-    $p += $dirsize{$ds};
-    if ($mediandirsize == undef &&
-       $p >= ($ndirs/2)) {
-       $mediandirsize = $ds;
-    }
-}
-close DSLOG;
-
-# avg, median file name len
-my $avgfnlen = sprintf("%.2f",$nfiles/$nfnchars);
-
-
-# stat fs
-my $df = `df $base`;
-my $line = (split(/\n/,$df))[1]; # second line
-my ($kb) = $df =~ /\s+\d+\s+(\d+)/;
-my $gb = sprintf("%.1f",($kb / 1024 / 1024));
-
-# final line
-my $pad = '# ' . (' ' x (length($base)-2));
-print "$pad\tgb\tfiles\tdirs\tavgd\tmedd\treg\tnl>1\tsmdr\tnlink=2\t=3\t=4\t...\n";
-print "$base\t$gb\t$nfiles\t$ndirs\t$avgdirsize\t$mediandirsize\t$nreg\t$nhardlinks\t$nsamedir";
-my $i = 2;
-for (sort {$a <=> $b} keys %nlinks) {
-    while ($_ < $i) {
-       print "\t0";
-    }
-    print "\t$nlinks{$_}";
-    $i = $_ + 1;
-}
-print "\n";