[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