]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb2/timing.c
Change 'unsigned long len' to ber_len_t in get_filter()
[openldap] / servers / slapd / back-bdb2 / timing.c
index a8f6cfcb7d3fbb8169a604b3c9ee06a8a0f6b865..f707e4527618ffaf3e328291c462b544eb6ddd59 100644 (file)
@@ -3,19 +3,16 @@
 #include "portable.h"
 
 #include <stdio.h>
-#include <sys/time.h>
-#include <unistd.h>
 
 #include <ac/string.h>
+#include <ac/time.h>
+#include <ac/unistd.h>
 
 #include "slap.h"
 #include "back-bdb2.h"
 
 
-int  bdb2i_do_timing = 0;
-
-
-char *
+static char *
 bdb2i_elapsed( struct timeval firsttime,  struct timeval secondtime )
 {
     long int elapsedmicrosec, elapsedsec;
@@ -29,7 +26,44 @@ bdb2i_elapsed( struct timeval firsttime,  struct timeval secondtime )
     }
 
     sprintf( elapsed_string, "%ld.%.6ld", elapsedsec, elapsedmicrosec );
-    return( strdup( elapsed_string ));
+    return( ch_strdup( elapsed_string ));
+}
+
+
+void
+bdb2i_uncond_start_timing(
+       struct timeval  *time1
+)
+{
+       gettimeofday( time1, NULL );
+}
+
+
+void
+bdb2i_uncond_stop_timing(
+       struct timeval  time1,
+       char            *func,
+       Connection      *conn,
+       Operation       *op,
+       int             level
+)
+{
+       struct timeval  time2;
+       char            *elapsed_time;
+       char            buf[BUFSIZ];
+
+       *buf = '\0';
+
+       gettimeofday( &time2, NULL);
+       elapsed_time = bdb2i_elapsed( time1, time2 );
+
+       if ( conn != NULL ) sprintf( buf, "conn=%d ", conn->c_connid );
+       if ( op != NULL )   sprintf( buf, "%sop=%d ", buf, op->o_opid );
+
+       Debug( level, "%s%s elapsed=%s\n", buf, func, elapsed_time );
+
+       free( elapsed_time );
+
 }