evolution-data-server r9301 - trunk/camel



Author: psankar
Date: Sun Aug 10 16:06:56 2008
New Revision: 9301
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=9301&view=rev

Log:
2008-08-11  Sankar P  <psankar novell com>

	* camel-db.c (cdb_sql_exec), (camel_db_count_message_info),
	(camel_db_select):
	MONITOR_DB_PERFORMANCE . Set this const int to non-zero,
	so as to know how much of time each db call takes.



Modified:
   trunk/camel/ChangeLog
   trunk/camel/camel-db.c

Modified: trunk/camel/camel-db.c
==============================================================================
--- trunk/camel/camel-db.c	(original)
+++ trunk/camel/camel-db.c	Sun Aug 10 16:06:56 2008
@@ -37,6 +37,10 @@
 
 #define d(x)
 
+const int MONITOR_DB_PERFORMANCE = 0;
+
+static GTimer *timer = NULL;
+
 static GStaticRecMutex trans_lock = G_STATIC_REC_MUTEX_INIT;	
 
 static int 
@@ -47,6 +51,10 @@
 
 	d(g_print("Camel SQL Exec:\n%s\n", stmt));
 
+	if (MONITOR_DB_PERFORMANCE) {
+		g_print ("\n===========\nDB SQL operation [%1.10s] started\n", stmt);
+		timer = g_timer_new ();
+	}
 
 	ret = sqlite3_exec(db, stmt, 0, 0, &errmsg);
 	while (ret == SQLITE_BUSY || ret == SQLITE_LOCKED || ret == -1) {
@@ -57,6 +65,12 @@
 		ret = sqlite3_exec(db, stmt, 0, 0, &errmsg);
 	}
 
+	if (MONITOR_DB_PERFORMANCE) {
+		g_timer_stop (timer);
+		g_print ("DB Operation ended. Time Taken : %f\n###########\n", g_timer_elapsed (timer, NULL));
+		g_timer_destroy (timer);
+	}
+
 	if (ret != SQLITE_OK) {
 		d(g_print ("Error in SQL EXEC statement: %s [%s].\n", stmt, errmsg));
 		if (ex)	
@@ -258,6 +272,12 @@
 	char *errmsg = NULL;
 
 	g_mutex_lock (cdb->lock);
+
+	if (MONITOR_DB_PERFORMANCE) {
+		g_print ("\n===========\nDB SQL operation [%1.10s] started\n", query);
+		timer = g_timer_new ();
+	}
+
 	ret = sqlite3_exec(cdb->db, query, count_cb, count, &errmsg);
 	while (ret == SQLITE_BUSY || ret == SQLITE_LOCKED) {
 		if (errmsg) {
@@ -267,6 +287,13 @@
 
 		ret = sqlite3_exec (cdb->db, query, count_cb, count, &errmsg);
 	}
+
+	if (MONITOR_DB_PERFORMANCE) {
+		g_timer_stop (timer);
+		g_print ("DB Operation ended. Time Taken : %f\n###########\n", g_timer_elapsed (timer, NULL));
+		g_timer_destroy (timer);
+	}
+
 	g_mutex_unlock (cdb->lock);
 	
 	CAMEL_DB_RELEASE_SQLITE_MEMORY;
@@ -419,6 +446,12 @@
 	
 	d(g_print ("\n%s:\n%s \n", __FUNCTION__, stmt));
 	g_mutex_lock (cdb->lock);
+
+	if (MONITOR_DB_PERFORMANCE) {
+		g_print ("\n===========\nDB SQL operation [%1.10s] started\n", stmt);
+		timer = g_timer_new ();
+	}
+
 	ret = sqlite3_exec(cdb->db, stmt, callback, data, &errmsg);
 	while (ret == SQLITE_BUSY || ret == SQLITE_LOCKED) {
 		if (errmsg) {
@@ -428,6 +461,13 @@
 
 		ret = sqlite3_exec (cdb->db, stmt, callback, data, &errmsg);
 	}
+
+	if (MONITOR_DB_PERFORMANCE) {
+		g_timer_stop (timer);
+		g_print ("DB Operation ended. Time Taken : %f\n###########\n", g_timer_elapsed (timer, NULL));
+		g_timer_destroy (timer);
+	}
+
 	g_mutex_unlock (cdb->lock);
 	CAMEL_DB_RELEASE_SQLITE_MEMORY;
 		



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]