You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2009/12/08 23:00:15 UTC

svn commit: r888588 - in /incubator/trafficserver/traffic/trunk/proxy: StatSystem.cc StatSystem.h mgmt2/RecordsConfig.cc

Author: zwoop
Date: Tue Dec  8 22:00:14 2009
New Revision: 888588

URL: http://svn.apache.org/viewvc?rev=888588&view=rev
Log:
TS-21: snap statistics directory not set correctly for stats file 'stats.snap'

       Author: George Paul
       Review + suggestions: Leif

Modified:
    incubator/trafficserver/traffic/trunk/proxy/StatSystem.cc
    incubator/trafficserver/traffic/trunk/proxy/StatSystem.h
    incubator/trafficserver/traffic/trunk/proxy/mgmt2/RecordsConfig.cc

Modified: incubator/trafficserver/traffic/trunk/proxy/StatSystem.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/StatSystem.cc?rev=888588&r1=888587&r2=888588&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/StatSystem.cc (original)
+++ incubator/trafficserver/traffic/trunk/proxy/StatSystem.cc Tue Dec  8 22:00:14 2009
@@ -70,6 +70,9 @@
 ink_hrtime http_handler_times[MAX_HTTP_HANDLER_EVENTS];
 int http_handler_counts[MAX_HTTP_HANDLER_EVENTS];
 
+
+char snap_filename[PATH_NAME_MAX+1] = DEFAULT_SNAP_FILENAME;
+
 #define DEFAULT_PERSISTENT
 
 #ifndef DEFAULT_PERSISTENT
@@ -202,14 +205,10 @@
 static int
 open_stats_snap()
 {
-  char filename[PATH_NAME_MAX];
-
-  snprintf(filename, sizeof(filename), "%s%s%s%s%s", system_config_directory,
-           DIR_SEP, "internal", DIR_SEP, "stats.snap");
-  int fd = socketManager.open(filename,
+  int fd = socketManager.open(snap_filename,
                               O_CREAT | O_RDWR | _O_ATTRIB_NORMAL);
   if (fd < 0) {
-    Warning("unable to open stats.snap: %s", strerror(-fd));
+    Warning("unable to open %s: %s", snap_filename, strerror(-fd));
     return -1;
   }
   return fd;
@@ -219,10 +218,6 @@
 clear_stats()
 {
   int i = 0;
-  char filename[PATH_NAME_MAX];
-
-  snprintf(filename, sizeof(filename), "%s%s%s%s%s", system_config_directory,
-           DIR_SEP, "internal", DIR_SEP, "stats.snap");
 
   int stats_size = MAX_HTTP_TRANS_STATS - NO_HTTP_TRANS_STATS - 1;
   for (i = 0; i < stats_size; i++) {
@@ -253,7 +248,7 @@
     }
   }
 
-  socketManager.unlink(filename);
+  socketManager.unlink(snap_filename);
   Debug("stats", "clear_stats: clearing statistics");
 }
 
@@ -610,6 +605,21 @@
 initialize_all_global_stats()
 {
   int istat, i;
+  char snap_file[PATH_NAME_MAX];
+  char local_state_dir[PATH_NAME_MAX];
+  struct stat s;
+  int err;
+
+  // Jira TS-21
+  REC_ReadConfigString(local_state_dir, "proxy.config.local_state_dir", PATH_NAME_MAX);
+  if ((err = stat(local_state_dir, &s)) < 0) {
+    Warning("Unable to stat() local state directory '%s': %d %d, %s", local_state_dir, err, errno, strerror(errno));
+    Warning(" Please set 'proxy.config.local_state_dir' to allow statistics collection");
+  }
+  REC_ReadConfigString(snap_file, "proxy.config.stats.snap_file", PATH_NAME_MAX);
+  snprintf(snap_filename, sizeof(snap_filename), "%s%s%s", local_state_dir,
+           DIR_SEP, snap_file);
+  Debug("stats", "stat snap filename %s", snap_filename);
 
   stat_callback_init();
   testpage_callback_init();

Modified: incubator/trafficserver/traffic/trunk/proxy/StatSystem.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/StatSystem.h?rev=888588&r1=888587&r2=888588&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/StatSystem.h (original)
+++ incubator/trafficserver/traffic/trunk/proxy/StatSystem.h Tue Dec  8 22:00:14 2009
@@ -40,6 +40,7 @@
 #include "ink_apidefs.h"
 
 #define STATS_MAJOR_VERSION    6        // increment when changing the stats!
+#define DEFAULT_SNAP_FILENAME             "stats.snap"
 
 /////////////////////////////////////////////////////////////
 //

Modified: incubator/trafficserver/traffic/trunk/proxy/mgmt2/RecordsConfig.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/mgmt2/RecordsConfig.cc?rev=888588&r1=888587&r2=888588&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/mgmt2/RecordsConfig.cc (original)
+++ incubator/trafficserver/traffic/trunk/proxy/mgmt2/RecordsConfig.cc Tue Dec  8 22:00:14 2009
@@ -77,6 +77,9 @@
   ,
   {CONFIG, "proxy.config.config_dir", "", INK_STRING, PKGSYSCONFDIR, RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
   ,
+  // Jira TS-21
+  {CONFIG, "proxy.config.local_state_dir", "", INK_STRING, PKGLOCALSTATEDIR, RU_RESTART_TS, RR_NULL, RC_NULL, NULL, RA_NULL}
+  ,
   {CONFIG, "proxy.config.temp_dir", "", INK_STRING, "/tmp", RU_NULL, RR_NULL, RC_NULL, NULL, RA_NULL}
   ,
   {CONFIG, "proxy.config.alarm_email", "", INK_STRING, NULL, RU_REREAD, RR_NULL, RC_STR, ".*", RA_NULL}
@@ -2692,6 +2695,9 @@
   ,
   {CONFIG, "proxy.config.stats.config_file", "", INK_STRING, "stats.config", RU_REREAD, RR_NULL, RC_NULL, NULL, RA_NULL}
   ,
+  // Jira TS-21
+  {CONFIG, "proxy.config.stats.snap_file", "", INK_STRING, "stats.snap", RU_RESTART_TS, RR_NULL, RC_NULL, NULL, RA_NULL}
+  ,
   //        ###########
   //        # Parsing #
   //        ###########