DAFS: Raise LogLevel for per-chain vol stats
authorAndrew Deason <adeason@sinenomine.net>
Tue, 14 Sep 2010 14:45:10 +0000 (10:45 -0400)
committerDerrick Brashear <shadow@dementia.org>
Sat, 2 Oct 2010 03:51:55 +0000 (20:51 -0700)
Only report detailed per-chain volume statistics on shutdown/SIGXCPU
if LogLevel is 125 (or 25 for smaller per-chain stats). If a
fileserver is configured with a large -vhashsize, printing out stats
for each chain can take awhile and use up a nontrivial amount of disk
space for logging, so only print out these stats if we're asked for
them.

Change-Id: Iceb38e29ab40958e05f3cf146687f679bd0f061c
Reviewed-on: http://gerrit.openafs.org/2759
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

src/viced/viced.c

index 632e6d4..015091d 100644 (file)
@@ -714,6 +714,9 @@ PrintCounters(void)
     int workstations, activeworkstations, delworkstations;
     int processSize = 0;
     char tbuffer[32];
+#ifdef AFS_DEMAND_ATTACH_FS
+    int stats_flags = 0;
+#endif
 
     FT_GetTimeOfDay(&tpl, 0);
     Statistics = 1;
@@ -722,9 +725,12 @@ PrintCounters(void)
             afs_ctime(&StartTime, tbuffer, sizeof(tbuffer))));
 
 #ifdef AFS_DEMAND_ATTACH_FS
-    /* XXX perhaps set extended stats verbosity flags
-     * based upon LogLevel ?? */
-    VPrintExtendedCacheStats(VOL_STATS_PER_CHAIN2);
+    if (LogLevel >= 125) {
+       stats_flags = VOL_STATS_PER_CHAIN2;
+    } else if (LogLevel >= 25) {
+       stats_flags = VOL_STATS_PER_CHAIN;
+    }
+    VPrintExtendedCacheStats(stats_flags);
 #endif
     VPrintCacheStats();
     VPrintDiskStats();