[Cherokee-commits] [3466] cherokee/trunk/cherokee: Code clean up.
SVN at cherokee-project.com
SVN at cherokee-project.com
Tue Jul 21 10:28:25 CEST 2009
Revision: 3466
http://svn.cherokee-project.com/changeset/3466
Author: alo
Date: 2009-07-21 10:28:25 +0200 (Tue, 21 Jul 2009)
Log Message:
-----------
Code clean up. cherokee_collector_rrd_t and
cherokee_collector_vsrv_rrd_t are different
structures now.
Modified Paths:
--------------
cherokee/trunk/cherokee/collector_rrd.c
cherokee/trunk/cherokee/collector_rrd.h
Modified: cherokee/trunk/cherokee/collector_rrd.c
===================================================================
--- cherokee/trunk/cherokee/collector_rrd.c 2009-07-20 19:44:24 UTC (rev 3465)
+++ cherokee/trunk/cherokee/collector_rrd.c 2009-07-21 08:28:25 UTC (rev 3466)
@@ -67,6 +67,7 @@
};
+
static ret_t
spawn_rrdtool (cherokee_collector_rrd_t *rrd)
{
@@ -176,6 +177,7 @@
static ret_t
check_and_create_db (cherokee_collector_rrd_t *rrd,
+ cherokee_buffer_t *path_database,
cherokee_buffer_t *params)
{
int re;
@@ -185,22 +187,22 @@
/* It exists
*/
- re = cherokee_stat (rrd->path_database.buf, &info);
+ re = cherokee_stat (path_database->buf, &info);
if ((re == 0) && (info.st_size > 0)) {
return ret_ok;
}
/* Write access
*/
- slash = strrchr (rrd->path_database.buf, '/');
+ slash = strrchr (path_database->buf, '/');
if (slash == NULL) {
return ret_error;
}
*slash = '\0';
- re = access (rrd->path_database.buf, W_OK);
+ re = access (path_database->buf, W_OK);
if (re != 0) {
- LOG_ERRNO (errno, cherokee_err_error, "Cannot write in %s: ${errno}\n", rrd->path_database.buf);
+ LOG_ERRNO (errno, cherokee_err_error, "Cannot write in %s: ${errno}\n", path_database->buf);
return ret_error;
}
*slash = '/';
@@ -315,17 +317,17 @@
}
static ret_t
-update_generic (cherokee_collector_rrd_t *rrd,
+update_generic (cherokee_collector_rrd_t *rrd_srv,
cherokee_buffer_t *params)
{
ret_t ret;
/* Spawn new interpreter
*/
- ret = spawn_rrdtool (rrd);
+ ret = spawn_rrdtool (rrd_srv);
if (ret != ret_ok) {
- LOG_ERROR ("Couldn't spawn rrdtool (%s)\n", rrd->path_rrdtool.buf);
- kill_and_clean(rrd, false);
+ LOG_ERROR ("Couldn't spawn rrdtool (%s)\n", rrd_srv->path_rrdtool.buf);
+ kill_and_clean(rrd_srv, false);
return ret_error;
}
@@ -333,18 +335,18 @@
*/
TRACE (ENTRIES, "Sending to RRDtool: %s", params->buf);
- ret = write_rrdtool (rrd, params);
+ ret = write_rrdtool (rrd_srv, params);
if (unlikely (ret != ret_ok)) {
- kill_and_clean(rrd, false);
+ kill_and_clean(rrd_srv, false);
return ret_error;
}
/* Read response
*/
cherokee_buffer_clean (params);
- ret = read_rrdtool (rrd, params);
+ ret = read_rrdtool (rrd_srv, params);
if (unlikely (ret != ret_ok)) {
- kill_and_clean(rrd, false);
+ kill_and_clean(rrd_srv, false);
return ret_error;
}
@@ -353,7 +355,7 @@
if ((params->len < 3) &&
(strncmp (params->buf, "OK", 2) != 0))
{
- kill_and_clean(rrd, false);
+ kill_and_clean(rrd_srv, false);
return ret_error;
}
@@ -361,24 +363,24 @@
}
static ret_t
-check_img_dir (cherokee_collector_rrd_t *rrd)
+check_img_dir (cherokee_collector_rrd_t *rrd_srv)
{
int re;
- cherokee_buffer_add_str (&rrd->database_dir, "/images");
+ cherokee_buffer_add_str (&rrd_srv->database_dir, "/images");
- re = access (rrd->database_dir.buf, W_OK);
+ re = access (rrd_srv->database_dir.buf, W_OK);
if (re != 0) {
- mkdir (rrd->database_dir.buf, 0775);
+ mkdir (rrd_srv->database_dir.buf, 0775);
- re = access (rrd->database_dir.buf, W_OK);
+ re = access (rrd_srv->database_dir.buf, W_OK);
if (re != 0) {
- LOG_CRITICAL ("Cannot write in '%s'\n", rrd->database_dir.buf);
+ LOG_CRITICAL ("Cannot write in '%s'\n", rrd_srv->database_dir.buf);
return ret_error;
}
}
- cherokee_buffer_drop_ending (&rrd->database_dir, 7);
+ cherokee_buffer_drop_ending (&rrd_srv->database_dir, 7);
return ret_ok;
}
@@ -477,9 +479,10 @@
render_vsrv_cb (void *param)
{
struct interval_t *i;
- cherokee_collector_vsrv_rrd_t *rrd = COLLECTOR_VSRV_RRD(param);
- cherokee_buffer_t *buf = &rrd->tmp;
- cherokee_virtual_server_t *vsrv = VSERVER(rrd->vsrv_ref);
+ cherokee_collector_vsrv_rrd_t *rrd = COLLECTOR_VSRV_RRD(param);
+ cherokee_collector_rrd_t *rrd_srv = COLLECTOR_VSRV_RRD_SRV(param);
+ cherokee_buffer_t *buf = &rrd->tmp;
+ cherokee_virtual_server_t *vsrv = VSERVER(rrd->vsrv_ref);
cherokee_buffer_clean (buf);
@@ -487,7 +490,7 @@
*/
for (i = intervals; i->interval != NULL; i++) {
cherokee_buffer_add_str (buf, "graph ");
- cherokee_buffer_add_buffer (buf, &rrd->database_dir);
+ cherokee_buffer_add_buffer (buf, &rrd_srv->database_dir);
cherokee_buffer_add_va (buf, "/images/vserver_traffic_%s_%s.png ", vsrv->name.buf, i->interval);
cherokee_buffer_add_va (buf, "--imgformat PNG --width 600 --height 350 --start -%s ", i->interval);
cherokee_buffer_add_va (buf, "--title \"Traffic, %s: %s\" ", vsrv->name.buf, i->interval);
@@ -506,10 +509,19 @@
cherokee_buffer_add_str (buf, "LINE1:rx_r#990000:In ");
cherokee_buffer_add_str (buf, "GPRINT:rx:LAST:\" Current\\:%8.2lf%s\" ");
cherokee_buffer_add_str (buf, "GPRINT:rx:AVERAGE:\"Average\\:%8.2lf%s\" ");
- cherokee_buffer_add_str (buf, "GPRINT:rx_max:MAX:\"Maximum\\:%8.2lf%s\\n\"");
+ cherokee_buffer_add_str (buf, "GPRINT:rx_max:MAX:\"Maximum\\:%8.2lf%s\\n\" ");
+
+ if (rrd->render_srv_line) {
+ cherokee_buffer_add_va (buf, "DEF:srv_tx=%s:TX:AVERAGE ", rrd_srv->path_database.buf);
+ cherokee_buffer_add_str (buf, "LINE1:srv_tx#ADE:\"Global\" ");
+ cherokee_buffer_add_str (buf, "GPRINT:srv_tx:LAST:\" Current\\:%8.2lf%s\" ");
+ cherokee_buffer_add_str (buf, "GPRINT:srv_tx:AVERAGE:\"Average\\:%8.2lf%s\" ");
+ cherokee_buffer_add_str (buf, "GPRINT:srv_tx:MAX:\"Maximum\\:%8.2lf%s\\n\" ");
+ }
+
cherokee_buffer_add_str (buf, "\n");
- command_rrdtool (rrd, buf);
+ command_rrdtool (rrd_srv, buf);
cherokee_buffer_clean (buf);
}
@@ -608,7 +620,7 @@
return ret_error;
}
- ret = check_and_create_db (rrd, &rrd->tmp);
+ ret = check_and_create_db (rrd, &rrd->path_database, &rrd->tmp);
if (ret != ret_ok) {
return ret_error;
}
@@ -637,8 +649,9 @@
static void
update_vsrv_cb (void *param)
{
- ret_t ret;
- cherokee_collector_rrd_t *rrd = COLLECTOR_RRD(param);
+ ret_t ret;
+ cherokee_collector_vsrv_rrd_t *rrd = COLLECTOR_VSRV_RRD(param);
+ cherokee_collector_rrd_t *rrd_srv = COLLECTOR_VSRV_RRD_SRV(param);
/* Build params
*/
@@ -653,7 +666,7 @@
/* Update
*/
- ret = update_generic (rrd, &rrd->tmp);
+ ret = update_generic (rrd_srv, &rrd->tmp);
if (ret != ret_ok) {
return;
}
@@ -678,8 +691,9 @@
cherokee_virtual_server_t *vsrv)
{
- ret_t ret;
- cherokee_server_t *srv = VSERVER_SRV(vsrv);
+ ret_t ret;
+ cherokee_server_t *srv = VSERVER_SRV(vsrv);
+ cherokee_collector_rrd_t *rrd_srv = COLLECTOR_RRD(srv->collector);
/* Store a ref to the virtual server
*/
@@ -687,16 +701,8 @@
/* Configuration
*/
- cherokee_buffer_init (&rrd->database_dir);
- cherokee_buffer_add_buffer (&rrd->database_dir,
- &COLLECTOR_RRD(srv->collector)->database_dir);
-
- cherokee_buffer_init (&rrd->path_rrdtool);
- cherokee_buffer_add_buffer (&rrd->path_rrdtool,
- &COLLECTOR_RRD(srv->collector)->path_rrdtool);
-
cherokee_buffer_init (&rrd->path_database);
- cherokee_buffer_add_buffer (&rrd->path_database, &rrd->database_dir);
+ cherokee_buffer_add_buffer (&rrd->path_database, &rrd_srv->database_dir);
cherokee_buffer_add_str (&rrd->path_database, "/vserver_");
cherokee_buffer_add_buffer (&rrd->path_database, &vsrv->name);
cherokee_buffer_add_str (&rrd->path_database, ".rrd");
@@ -733,12 +739,12 @@
/* Checks
*/
- ret = check_img_dir (rrd);
+ ret = check_img_dir (rrd_srv);
if (ret != ret_ok) {
return ret_error;
}
- ret = check_and_create_db (rrd, &rrd->tmp);
+ ret = check_and_create_db (rrd_srv, &rrd->path_database, &rrd->tmp);
if (ret != ret_ok) {
return ret_error;
}
@@ -778,17 +784,12 @@
/* Virtual methods
*/
- COLLECTOR(n)->new_vsrv = NULL;
- COLLECTOR(n)->init = (collector_func_init_t) vsrv_init;
+ COLLECTOR_VSRV(n)->init = (collector_vsrv_func_init_t) vsrv_init;
COLLECTOR_BASE(n)->free = (collector_func_free_t) vsrv_free;
/* Default values
*/
- n->write_fd = -1;
- n->read_fd = -1;
- n->pid = -1;
- n->render_elapse = COLLECTOR_RRD(collector)->render_elapse;
-
+ n->render_srv_line = true;
cherokee_buffer_init (&n->tmp);
/* Return object
Modified: cherokee/trunk/cherokee/collector_rrd.h
===================================================================
--- cherokee/trunk/cherokee/collector_rrd.h 2009-07-20 19:44:24 UTC (rev 3465)
+++ cherokee/trunk/cherokee/collector_rrd.h 2009-07-21 08:28:25 UTC (rev 3466)
@@ -32,12 +32,11 @@
cherokee_collector_t collector;
/* Configuration*/
+ cherokee_buffer_t path_rrdtool;
cherokee_buffer_t database_dir;
- cherokee_buffer_t path_rrdtool;
cherokee_buffer_t path_database;
int render_elapse;
- void *vsrv_ref;
-
+
/* Communication */
int write_fd;
int read_fd;
@@ -47,11 +46,22 @@
cherokee_buffer_t tmp;
} cherokee_collector_rrd_t;
-typedef cherokee_collector_rrd_t cherokee_collector_vsrv_rrd_t;
+typedef struct {
+ cherokee_collector_vsrv_t collector;
-#define COLLECTOR_RRD(c) ((cherokee_collector_rrd_t *)(c))
-#define COLLECTOR_VSRV_RRD(c) ((cherokee_collector_vsrv_rrd_t *)(c))
+ /* Configuration*/
+ cherokee_buffer_t path_database;
+ cherokee_boolean_t render_srv_line;
+ /* Internals */
+ void *vsrv_ref;
+ cherokee_buffer_t tmp;
+} cherokee_collector_vsrv_rrd_t;
+
+#define COLLECTOR_RRD(c) ((cherokee_collector_rrd_t *)(c))
+#define COLLECTOR_VSRV_RRD(c) ((cherokee_collector_vsrv_rrd_t *)(c))
+#define COLLECTOR_VSRV_RRD_SRV(c) (COLLECTOR_RRD(VSERVER_SRV(COLLECTOR_VSRV_RRD(c)->vsrv_ref)->collector))
+
ret_t cherokee_collector_rrd_new (cherokee_collector_rrd_t **rrd,
cherokee_plugin_info_t *info,
cherokee_config_node_t *config);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.octality.com/pipermail/cherokee-commits/attachments/20090721/c68b19b1/attachment-0001.htm
More information about the Cherokee-commits
mailing list