src/hg/lib/jksql.c 1.134

1.134 2009/08/28 23:33:19 larrym
add in SQL_FETCH monitoring
Index: src/hg/lib/jksql.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/jksql.c,v
retrieving revision 1.133
retrieving revision 1.134
diff -b -B -U 4 -r1.133 -r1.134
--- src/hg/lib/jksql.c	28 Aug 2009 00:56:22 -0000	1.133
+++ src/hg/lib/jksql.c	28 Aug 2009 23:33:19 -0000	1.134
@@ -62,8 +62,9 @@
     {
     MYSQL_RES *result;			/* Result. */
     struct dlNode *node;		/* Pointer to list node we're on. */
     struct sqlConnection *conn;		/* Pointer to connection. */
+    long fetchTime;                     /* cummulative time taken by row fetches for this result */
     };
 
 static struct dlList *sqlOpenConnections;
 
@@ -443,8 +444,10 @@
 {
 struct sqlResult *res = *pRes;
 if (res != NULL)
     {
+    if (monitorFlags & JKSQL_TRACE)
+        monitorPrint(res->conn, "SQL_FETCH", "%0.3fs", ((double) res->fetchTime)/1000.0);
     if (res->result != NULL)
         {
         monitorEnter();
 	mysql_free_result(res->result);
@@ -863,8 +866,9 @@
         AllocVar(res);
         res->conn = sc;
         res->result = resSet;
         res->node = dlAddValTail(sc->resultList, res);
+        res->fetchTime = 0L;
         }
     }
 deltaTime = monitorLeave();
 if (monitorFlags & JKSQL_TRACE)
@@ -1063,9 +1067,9 @@
 if (sr != NULL)
     {
     monitorEnter();
     row = mysql_fetch_row(sr->result);
-    monitorLeave();
+    sr->fetchTime += monitorLeave();
     if (mysql_errno(sr->conn->conn) != 0)
 	{
 	if (retOk != NULL)
 	    *retOk = FALSE;