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 #
// ###########