DTrace support
authorBrian Aker <brian@tangent.org>
Fri, 28 Sep 2007 23:41:07 +0000 (16:41 -0700)
committerBrian Aker <brian@tangent.org>
Fri, 28 Sep 2007 23:41:07 +0000 (16:41 -0700)
Refactored to use config built for application
Fixed test case push

21 files changed:
Makefile.am
configure.in
lib/Makefile.am
lib/libmemcached_probes.d [new file with mode: 0644]
lib/libmemcached_probes.h [new file with mode: 0644]
lib/memcached.c
lib/memcached_auto.c
lib/memcached_connect.c
lib/memcached_delete.c
lib/memcached_flush.c
lib/memcached_get.c
lib/memcached_hash.c
lib/memcached_quit.c
lib/memcached_response.c
lib/memcached_stats.c
lib/memcached_storage.c
lib/memcached_strerror.c
lib/memcached_string.c
lib/memcached_verbosity.c
src/memcat.c
tests/test.c

index 5cc8d5c5e5d0f6eb011e18e201611655757a414b..51c7b70621a6726d6b1665d4927dfff65733e94b 100644 (file)
@@ -1,21 +1,21 @@
-INCLUDES = include\r
-SUBDIRS = docs include lib src tests support\r
-\r
-test: all\r
-       cd tests; make test; cd ..\r
-\r
-test-extended: all\r
-       cd tests; make test-extended; cd ..\r
-\r
-valgrind:\r
-       cd tests; make valgrind; cd ..\r
-\r
-valgrind-extended:\r
-       cd tests; make valgrind-extended; cd ..\r
-\r
-\r
-rpm: all dist\r
-       cp libmemcached-$(VERSION).tar.gz /home/brian/rpmbuild/SOURCES/\r
-       rpmbuild -ba support/libmemcached.spec\r
-       cp /home/brian/rpmbuild/RPMS/x86_64/libmemcached-$(VERSION)*.rpm .\r
-       cp /home/brian/rpmbuild/SRPMS/libmemcached-$(VERSION)*.rpm .\r
+INCLUDES = include
+SUBDIRS = docs include lib src tests support
+
+test: all
+       cd tests; make test; cd ..
+
+test-extended: all
+       cd tests; make test-extended; cd ..
+
+valgrind:
+       cd tests; make valgrind; cd ..
+
+valgrind-extended:
+       cd tests; make valgrind-extended; cd ..
+
+
+rpm: all dist
+       cp libmemcached-$(VERSION).tar.gz /home/brian/rpmbuild/SOURCES/
+       rpmbuild -ba support/libmemcached.spec
+       cp /home/brian/rpmbuild/RPMS/x86_64/libmemcached-$(VERSION)*.rpm .
+       cp /home/brian/rpmbuild/SRPMS/libmemcached-$(VERSION)*.rpm .
index b3b0bc2123c926b9a421d587be0122a43c29b556..cb15a7b1661533a5b207e84925d2ec97dba39912 100644 (file)
@@ -1,6 +1,6 @@
 AC_INIT(src/memcat.c)
 AC_CONFIG_AUX_DIR(config)
-AM_CONFIG_HEADER(config.h)
+AM_CONFIG_HEADER(libmemcached_config.h)
 AM_INIT_AUTOMAKE("libmemcached", 0.2 )
 
 AC_PROG_CC
@@ -8,6 +8,8 @@ AC_PROG_LIBTOOL
 LIBTOOL="$LIBTOOL --preserve-dup-deps"
 AC_SUBST(LIBTOOL)dnl
 
+sinclude(config/dtrace.m4)
+
 # We only support GCC and Sun's forte at the moment
 if test "$GCC" = "yes"
 then
index 0b4bbc6bac9bfd7b81caf630623c77948383deb0..1c6885334fcc78441ff212d2c857b40bdc7ff889 100644 (file)
@@ -1,6 +1,28 @@
-INCLUDES = -I$(top_builddir)/include
+EXTRA_DIST = libmemcached_probes.d
+
+INCLUDES = -I$(top_builddir)/include -I$(top_builddir)
 LIBS =
 
+DTRACE =                @DTRACE@
+DTRACEFLAGS =           @DTRACEFLAGS@
+DTRACEFILES = memcached.o \
+              memcached_strerror.o \
+              memcached_connect.o \
+              memcached_response.o \
+              memcached_get.o \
+              memcached_storage.o \
+              memcached_delete.o \
+              memcached_hash.o \
+              memcached_auto.o \
+              memcached_verbosity.o \
+              memcached_quit.o \
+              memcached_flush.o \
+              memcached_string.o \
+              memcached_stats.o
+
+noinst_HEADERS = libmemcached_probes.h \
+                 common.h
+
 lib_LTLIBRARIES = libmemcached.la
 libmemcached_la_SOURCES = memcached.c \
                           memcached_strerror.c \
@@ -16,3 +38,17 @@ libmemcached_la_SOURCES = memcached.c \
                          memcached_flush.c \
                          memcached_string.c \
                          memcached_stats.c
+libmemcached_la_LIBADD =
+
+if HAVE_DTRACE
+  libmemcached_la_LIBADD += libmemcached_probes.o
+endif
+
+libmemcached_probes.h: libmemcached_probes.d
+       $(DTRACE) $(DTRACEFLAGS) -h -s libmemcached_probes.d
+       mv libmemcached_probes.h libmemcached_probes.h.bak
+       sed "s/#include <unistd.h>//g" libmemcached_probes.h.bak > libmemcached_probes.h
+       rm libmemcached_probes.h.bak
+
+libmemcached_probes.o:
+       $(DTRACE) $(DTRACEFLAGS) -G -s libmemcached_probes.d $(DTRACEFILES)
diff --git a/lib/libmemcached_probes.d b/lib/libmemcached_probes.d
new file mode 100644 (file)
index 0000000..ae68e34
--- /dev/null
@@ -0,0 +1,24 @@
+provider libmemcached {
+       probe memcached_delete_start();
+       probe memcached_delete_end();
+       probe memcached_increment_start();
+       probe memcached_increment_end();
+       probe memcached_decrement_start();
+       probe memcached_decrement_end();
+       probe memcached_flush_start();
+       probe memcached_flush_end();
+       probe memcached_set_start();
+       probe memcached_set_end();
+       probe memcached_add_start();
+       probe memcached_add_end();
+       probe memcached_replace_start();
+       probe memcached_replace_end();
+       probe memcached_get_start();
+       probe memcached_get_end();
+       probe memcached_mget_start();
+       probe memcached_mget_end();
+       probe memcached_connect_start();
+       probe memcached_connect_end();
+       probe memcached_server_add_start();
+       probe memcached_server_add_end();
+};
diff --git a/lib/libmemcached_probes.h b/lib/libmemcached_probes.h
new file mode 100644 (file)
index 0000000..ba563ac
--- /dev/null
@@ -0,0 +1,207 @@
+/*
+ * Generated by dtrace(1M).
+ */
+
+#ifndef        _LIBMEMCACHED_PROBES_H
+#define        _LIBMEMCACHED_PROBES_H
+
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if _DTRACE_VERSION
+
+#warning "Trying to BUILD WITH DTRACE!!!!"
+
+#define        LIBMEMCACHED_MEMCACHED_ADD_END() \
+       __dtrace_libmemcached___memcached_add_end()
+#define        LIBMEMCACHED_MEMCACHED_ADD_END_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_add_end()
+#define        LIBMEMCACHED_MEMCACHED_ADD_START() \
+       __dtrace_libmemcached___memcached_add_start()
+#define        LIBMEMCACHED_MEMCACHED_ADD_START_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_add_start()
+#define        LIBMEMCACHED_MEMCACHED_CONNECT_END() \
+       __dtrace_libmemcached___memcached_connect_end()
+#define        LIBMEMCACHED_MEMCACHED_CONNECT_END_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_connect_end()
+#define        LIBMEMCACHED_MEMCACHED_CONNECT_START() \
+       __dtrace_libmemcached___memcached_connect_start()
+#define        LIBMEMCACHED_MEMCACHED_CONNECT_START_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_connect_start()
+#define        LIBMEMCACHED_MEMCACHED_DECREMENT_END() \
+       __dtrace_libmemcached___memcached_decrement_end()
+#define        LIBMEMCACHED_MEMCACHED_DECREMENT_END_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_decrement_end()
+#define        LIBMEMCACHED_MEMCACHED_DECREMENT_START() \
+       __dtrace_libmemcached___memcached_decrement_start()
+#define        LIBMEMCACHED_MEMCACHED_DECREMENT_START_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_decrement_start()
+#define        LIBMEMCACHED_MEMCACHED_DELETE_END() \
+       __dtrace_libmemcached___memcached_delete_end()
+#define        LIBMEMCACHED_MEMCACHED_DELETE_END_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_delete_end()
+#define        LIBMEMCACHED_MEMCACHED_DELETE_START() \
+       __dtrace_libmemcached___memcached_delete_start()
+#define        LIBMEMCACHED_MEMCACHED_DELETE_START_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_delete_start()
+#define        LIBMEMCACHED_MEMCACHED_FLUSH_END() \
+       __dtrace_libmemcached___memcached_flush_end()
+#define        LIBMEMCACHED_MEMCACHED_FLUSH_END_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_flush_end()
+#define        LIBMEMCACHED_MEMCACHED_FLUSH_START() \
+       __dtrace_libmemcached___memcached_flush_start()
+#define        LIBMEMCACHED_MEMCACHED_FLUSH_START_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_flush_start()
+#define        LIBMEMCACHED_MEMCACHED_GET_END() \
+       __dtrace_libmemcached___memcached_get_end()
+#define        LIBMEMCACHED_MEMCACHED_GET_END_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_get_end()
+#define        LIBMEMCACHED_MEMCACHED_GET_START() \
+       __dtrace_libmemcached___memcached_get_start()
+#define        LIBMEMCACHED_MEMCACHED_GET_START_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_get_start()
+#define        LIBMEMCACHED_MEMCACHED_INCREMENT_END() \
+       __dtrace_libmemcached___memcached_increment_end()
+#define        LIBMEMCACHED_MEMCACHED_INCREMENT_END_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_increment_end()
+#define        LIBMEMCACHED_MEMCACHED_INCREMENT_START() \
+       __dtrace_libmemcached___memcached_increment_start()
+#define        LIBMEMCACHED_MEMCACHED_INCREMENT_START_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_increment_start()
+#define        LIBMEMCACHED_MEMCACHED_MGET_END() \
+       __dtrace_libmemcached___memcached_mget_end()
+#define        LIBMEMCACHED_MEMCACHED_MGET_END_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_mget_end()
+#define        LIBMEMCACHED_MEMCACHED_MGET_START() \
+       __dtrace_libmemcached___memcached_mget_start()
+#define        LIBMEMCACHED_MEMCACHED_MGET_START_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_mget_start()
+#define        LIBMEMCACHED_MEMCACHED_REPLACE_END() \
+       __dtrace_libmemcached___memcached_replace_end()
+#define        LIBMEMCACHED_MEMCACHED_REPLACE_END_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_replace_end()
+#define        LIBMEMCACHED_MEMCACHED_REPLACE_START() \
+       __dtrace_libmemcached___memcached_replace_start()
+#define        LIBMEMCACHED_MEMCACHED_REPLACE_START_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_replace_start()
+#define        LIBMEMCACHED_MEMCACHED_SERVER_ADD_END() \
+       __dtrace_libmemcached___memcached_server_add_end()
+#define        LIBMEMCACHED_MEMCACHED_SERVER_ADD_END_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_server_add_end()
+#define        LIBMEMCACHED_MEMCACHED_SERVER_ADD_START() \
+       __dtrace_libmemcached___memcached_server_add_start()
+#define        LIBMEMCACHED_MEMCACHED_SERVER_ADD_START_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_server_add_start()
+#define        LIBMEMCACHED_MEMCACHED_SET_END() \
+       __dtrace_libmemcached___memcached_set_end()
+#define        LIBMEMCACHED_MEMCACHED_SET_END_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_set_end()
+#define        LIBMEMCACHED_MEMCACHED_SET_START() \
+       __dtrace_libmemcached___memcached_set_start()
+#define        LIBMEMCACHED_MEMCACHED_SET_START_ENABLED() \
+       __dtraceenabled_libmemcached___memcached_set_start()
+
+
+extern void __dtrace_libmemcached___memcached_add_end(void);
+extern int __dtraceenabled_libmemcached___memcached_add_end(void);
+extern void __dtrace_libmemcached___memcached_add_start(void);
+extern int __dtraceenabled_libmemcached___memcached_add_start(void);
+extern void __dtrace_libmemcached___memcached_connect_end(void);
+extern int __dtraceenabled_libmemcached___memcached_connect_end(void);
+extern void __dtrace_libmemcached___memcached_connect_start(void);
+extern int __dtraceenabled_libmemcached___memcached_connect_start(void);
+extern void __dtrace_libmemcached___memcached_decrement_end(void);
+extern int __dtraceenabled_libmemcached___memcached_decrement_end(void);
+extern void __dtrace_libmemcached___memcached_decrement_start(void);
+extern int __dtraceenabled_libmemcached___memcached_decrement_start(void);
+extern void __dtrace_libmemcached___memcached_delete_end(void);
+extern int __dtraceenabled_libmemcached___memcached_delete_end(void);
+extern void __dtrace_libmemcached___memcached_delete_start(void);
+extern int __dtraceenabled_libmemcached___memcached_delete_start(void);
+extern void __dtrace_libmemcached___memcached_flush_end(void);
+extern int __dtraceenabled_libmemcached___memcached_flush_end(void);
+extern void __dtrace_libmemcached___memcached_flush_start(void);
+extern int __dtraceenabled_libmemcached___memcached_flush_start(void);
+extern void __dtrace_libmemcached___memcached_get_end(void);
+extern int __dtraceenabled_libmemcached___memcached_get_end(void);
+extern void __dtrace_libmemcached___memcached_get_start(void);
+extern int __dtraceenabled_libmemcached___memcached_get_start(void);
+extern void __dtrace_libmemcached___memcached_increment_end(void);
+extern int __dtraceenabled_libmemcached___memcached_increment_end(void);
+extern void __dtrace_libmemcached___memcached_increment_start(void);
+extern int __dtraceenabled_libmemcached___memcached_increment_start(void);
+extern void __dtrace_libmemcached___memcached_mget_end(void);
+extern int __dtraceenabled_libmemcached___memcached_mget_end(void);
+extern void __dtrace_libmemcached___memcached_mget_start(void);
+extern int __dtraceenabled_libmemcached___memcached_mget_start(void);
+extern void __dtrace_libmemcached___memcached_replace_end(void);
+extern int __dtraceenabled_libmemcached___memcached_replace_end(void);
+extern void __dtrace_libmemcached___memcached_replace_start(void);
+extern int __dtraceenabled_libmemcached___memcached_replace_start(void);
+extern void __dtrace_libmemcached___memcached_server_add_end(void);
+extern int __dtraceenabled_libmemcached___memcached_server_add_end(void);
+extern void __dtrace_libmemcached___memcached_server_add_start(void);
+extern int __dtraceenabled_libmemcached___memcached_server_add_start(void);
+extern void __dtrace_libmemcached___memcached_set_end(void);
+extern int __dtraceenabled_libmemcached___memcached_set_end(void);
+extern void __dtrace_libmemcached___memcached_set_start(void);
+extern int __dtraceenabled_libmemcached___memcached_set_start(void);
+
+#else
+
+#define        LIBMEMCACHED_MEMCACHED_ADD_END()
+#define        LIBMEMCACHED_MEMCACHED_ADD_END_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_ADD_START()
+#define        LIBMEMCACHED_MEMCACHED_ADD_START_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_CONNECT_END()
+#define        LIBMEMCACHED_MEMCACHED_CONNECT_END_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_CONNECT_START()
+#define        LIBMEMCACHED_MEMCACHED_CONNECT_START_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_DECREMENT_END()
+#define        LIBMEMCACHED_MEMCACHED_DECREMENT_END_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_DECREMENT_START()
+#define        LIBMEMCACHED_MEMCACHED_DECREMENT_START_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_DELETE_END()
+#define        LIBMEMCACHED_MEMCACHED_DELETE_END_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_DELETE_START()
+#define        LIBMEMCACHED_MEMCACHED_DELETE_START_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_FLUSH_END()
+#define        LIBMEMCACHED_MEMCACHED_FLUSH_END_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_FLUSH_START()
+#define        LIBMEMCACHED_MEMCACHED_FLUSH_START_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_GET_END()
+#define        LIBMEMCACHED_MEMCACHED_GET_END_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_GET_START()
+#define        LIBMEMCACHED_MEMCACHED_GET_START_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_INCREMENT_END()
+#define        LIBMEMCACHED_MEMCACHED_INCREMENT_END_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_INCREMENT_START()
+#define        LIBMEMCACHED_MEMCACHED_INCREMENT_START_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_MGET_END()
+#define        LIBMEMCACHED_MEMCACHED_MGET_END_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_MGET_START()
+#define        LIBMEMCACHED_MEMCACHED_MGET_START_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_REPLACE_END()
+#define        LIBMEMCACHED_MEMCACHED_REPLACE_END_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_REPLACE_START()
+#define        LIBMEMCACHED_MEMCACHED_REPLACE_START_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_SERVER_ADD_END()
+#define        LIBMEMCACHED_MEMCACHED_SERVER_ADD_END_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_SERVER_ADD_START()
+#define        LIBMEMCACHED_MEMCACHED_SERVER_ADD_START_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_SET_END()
+#define        LIBMEMCACHED_MEMCACHED_SET_END_ENABLED() (0)
+#define        LIBMEMCACHED_MEMCACHED_SET_START()
+#define        LIBMEMCACHED_MEMCACHED_SET_START_ENABLED() (0)
+
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _LIBMEMCACHED_PROBES_H */
index 8122e1e837876156fe8dc5d4a192d5fdadb26d7e..6cf81c734664d65da4dfa7dd0cd4911658cd39f3 100644 (file)
@@ -1,7 +1,7 @@
 /*
   Memcached library
 */
-#include <memcached.h>
+#include "common.h"
 
 memcached_st *memcached_init(memcached_st *ptr)
 {
index aa7ce5dfcddfd87de212be53e8c447d1818c3f20..e779f279a7966928f5d95e7add9cf73c4d591d6e 100644 (file)
@@ -1,4 +1,4 @@
-#include <memcached.h>
+#include "common.h"
 
 static memcached_return memcached_auto(memcached_st *ptr, 
                                        char *verb,
@@ -56,7 +56,13 @@ memcached_return memcached_increment(memcached_st *ptr,
                                      unsigned int offset,
                                      unsigned int *value)
 {
-  return memcached_auto(ptr, "incr", key, key_length, offset, value);
+  memcached_return rc;
+
+  LIBMEMCACHED_MEMCACHED_INCREMENT_START();
+  rc= memcached_auto(ptr, "incr", key, key_length, offset, value);
+  LIBMEMCACHED_MEMCACHED_INCREMENT_END();
+
+  return rc;
 }
 
 memcached_return memcached_decrement(memcached_st *ptr, 
@@ -64,5 +70,11 @@ memcached_return memcached_decrement(memcached_st *ptr,
                                      unsigned int offset,
                                      unsigned int *value)
 {
-  return memcached_auto(ptr, "decr", key, key_length, offset, value);
+  memcached_return rc;
+
+  LIBMEMCACHED_MEMCACHED_DECREMENT_START();
+  rc= memcached_auto(ptr, "decr", key, key_length, offset, value);
+  LIBMEMCACHED_MEMCACHED_DECREMENT_END();
+
+  return rc;
 }
index 899101a2f4199ddf7342aa08e8b692eebfb9a28d..516b5db346482e24500854deef4fbc0c4267aef5 100644 (file)
@@ -1,9 +1,10 @@
-#include <memcached.h>
+#include "common.h"
 
 memcached_return memcached_server_add(memcached_st *ptr, char *hostname, unsigned int port)
 {
   memcached_server_st *new_host_list;
   char *new_hostname;
+  LIBMEMCACHED_MEMCACHED_SERVER_ADD_START();
 
   if (!port)
     port= MEMCACHED_DEFAULT_PORT; 
@@ -34,6 +35,8 @@ memcached_return memcached_server_add(memcached_st *ptr, char *hostname, unsigne
   ptr->hosts[ptr->number_of_hosts].fd= -1;
   ptr->number_of_hosts++;
 
+  LIBMEMCACHED_MEMCACHED_SERVER_ADD_END();
+
   return MEMCACHED_SUCCESS;
 }
 
@@ -43,6 +46,8 @@ memcached_return memcached_connect(memcached_st *ptr)
   struct sockaddr_in localAddr, servAddr;
   struct hostent *h;
 
+  LIBMEMCACHED_MEMCACHED_CONNECT_START();
+
   if (ptr->connected == ptr->number_of_hosts)
     return MEMCACHED_SUCCESS;
 
@@ -82,6 +87,7 @@ memcached_return memcached_connect(memcached_st *ptr)
       ptr->connected++;
     }
   }
+  LIBMEMCACHED_MEMCACHED_CONNECT_END();
 
   return MEMCACHED_SUCCESS;
 }
index 8af154240478eb6245973238e6e492afd511f75a..5ec5d1b4c11d353a52857ae25a9037193cd5260c 100644 (file)
@@ -1,4 +1,4 @@
-#include <memcached.h>
+#include "common.h"
 
 memcached_return memcached_delete(memcached_st *ptr, char *key, size_t key_length,
                                   time_t expiration)
@@ -8,6 +8,8 @@ memcached_return memcached_delete(memcached_st *ptr, char *key, size_t key_lengt
   char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
   unsigned int server_key;
 
+  LIBMEMCACHED_MEMCACHED_DELETE_START();
+
   rc= memcached_connect(ptr);
 
   if (rc != MEMCACHED_SUCCESS)
@@ -31,5 +33,8 @@ memcached_return memcached_delete(memcached_st *ptr, char *key, size_t key_lengt
   if (sent_length == -1 || sent_length != send_length)
     return MEMCACHED_WRITE_FAILURE;
 
-  return memcached_response(ptr, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, server_key);
+  rc= memcached_response(ptr, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, server_key);
+  LIBMEMCACHED_MEMCACHED_DELETE_END();
+
+  return rc;
 }
index 209a7e0fc8b3481d0d3d09b2d5a2987632ddca5f..967354628ee48781996f84cbea4b71db72e7bcee 100644 (file)
@@ -1,4 +1,4 @@
-#include <memcached.h>
+#include "common.h"
 
 memcached_return memcached_flush(memcached_st *ptr, time_t expiration)
 {
@@ -6,6 +6,7 @@ memcached_return memcached_flush(memcached_st *ptr, time_t expiration)
   size_t send_length, sent_length;
   memcached_return rc;
   char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
+  LIBMEMCACHED_MEMCACHED_FLUSH_START();
 
   rc= memcached_connect(ptr);
 
@@ -36,5 +37,6 @@ memcached_return memcached_flush(memcached_st *ptr, time_t expiration)
       rc= MEMCACHED_SOME_ERRORS;
   }
 
+  LIBMEMCACHED_MEMCACHED_FLUSH_END();
   return rc;
 }
index 0b775d3d7a0c467627648cc6e4605aa011504cd3..5bef0c04a54c9f19b2088f3b214899cc4c1c9e40 100644 (file)
@@ -1,4 +1,4 @@
-#include <memcached.h>
+#include "common.h"
 
 static char *memcached_value_fetch(memcached_st *ptr, char *key, size_t *key_length, 
                                    size_t *value_length, 
@@ -128,6 +128,8 @@ char *memcached_get(memcached_st *ptr, char *key, size_t key_length,
   size_t send_length;
   char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
   unsigned int server_key;
+  char *value;
+  LIBMEMCACHED_MEMCACHED_GET_START();
 
   *value_length= 0;
   *error= memcached_connect(ptr);
@@ -148,8 +150,11 @@ char *memcached_get(memcached_st *ptr, char *key, size_t key_length,
     return NULL;
   }
 
-  return memcached_value_fetch(ptr, key, &key_length, value_length, flags,
+  value= memcached_value_fetch(ptr, key, &key_length, value_length, flags,
                                error, 0, server_key);
+  LIBMEMCACHED_MEMCACHED_GET_END();
+
+  return value;
 }
 
 memcached_return memcached_mget(memcached_st *ptr, 
@@ -160,6 +165,7 @@ memcached_return memcached_mget(memcached_st *ptr,
   unsigned int x;
   memcached_return rc;
   memcached_string_st **cursor_key_exec;
+  LIBMEMCACHED_MEMCACHED_MGET_START();
 
   ptr->cursor_server= 0;
   memset(buffer, 0, HUGE_STRING_LEN);
@@ -225,6 +231,7 @@ memcached_return memcached_mget(memcached_st *ptr,
 
   free(cursor_key_exec);
 
+  LIBMEMCACHED_MEMCACHED_MGET_END();
   return rc;
 }
 
index 74cd636059cc267cee8cb8c1e1b9793916a6b00a..3e5eddfe55ab332285de495d14080eee7c220aaa 100644 (file)
@@ -1,4 +1,4 @@
-#include <memcached.h>
+#include "common.h"
 
 unsigned int memcached_generate_hash(char *key, size_t key_length)
 {
index 8481b990e8a45e19831e44981b1571e73dc6c333..89a55ecf43c96f0739152c1c851917d48bfd8c03 100644 (file)
@@ -1,4 +1,4 @@
-#include <memcached.h>
+#include "common.h"
 
 /*
   This closes all connections (forces flush of input as well).
index ce129aeed23ec125d121ee98270f6673e6747a3c..1276351332d829d851eab826fe4ce61f540465ed 100644 (file)
@@ -5,7 +5,7 @@
   from an issued command.
 */
 
-#include <memcached.h>
+#include "common.h"
 
 memcached_return memcached_response(memcached_st *ptr, 
                                     char *buffer, size_t buffer_length,
index 717ca4553d5484eb79bd1ceecce97a7ba50bd403..1e3c425b0df693e27180a7335e1cd50f4e0cdcab 100644 (file)
@@ -1,7 +1,7 @@
 /*
 */
 
-#include <memcached.h>
+#include "common.h"
 
 static char *memcached_stat_keys[] = {
   "pid",
@@ -338,6 +338,8 @@ char ** memcached_stat_get_keys(memcached_st *ptr, memcached_stat_st *stat,
 {
   char **list= (char **)malloc(sizeof(memcached_stat_keys));
 
+  memset(list, 0, sizeof(memcached_stat_keys));
+
   if (!list)
   {
     *error= MEMCACHED_MEMORY_ALLOCATION_FAILURE;
index 499fb7c8e947e18f76e5fda784a5c2a90d361534..da5a9ac6419449ffb181e094f3b378a00eb83fd5 100644 (file)
@@ -7,7 +7,7 @@
 
 */
 
-#include <memcached.h>
+#include "common.h"
 
 static memcached_return memcached_send(memcached_st *ptr, 
                                        char *key, size_t key_length, 
@@ -64,8 +64,12 @@ memcached_return memcached_set(memcached_st *ptr, char *key, size_t key_length,
                                time_t expiration,
                                uint16_t  flags)
 {
-  return  memcached_send(ptr, key, key_length, value, value_length,
+  memcached_return rc;
+  LIBMEMCACHED_MEMCACHED_SET_START();
+  rc= memcached_send(ptr, key, key_length, value, value_length,
                          expiration, flags, "set");
+  LIBMEMCACHED_MEMCACHED_SET_END();
+  return rc;
 }
 
 memcached_return memcached_add(memcached_st *ptr, char *key, size_t key_length,
@@ -73,8 +77,12 @@ memcached_return memcached_add(memcached_st *ptr, char *key, size_t key_length,
                                time_t expiration,
                                uint16_t  flags)
 {
-  return  memcached_send(ptr, key, key_length, value, value_length,
+  memcached_return rc;
+  LIBMEMCACHED_MEMCACHED_ADD_START();
+  rc= memcached_send(ptr, key, key_length, value, value_length,
                          expiration, flags, "add");
+  LIBMEMCACHED_MEMCACHED_ADD_END();
+  return rc;
 }
 
 memcached_return memcached_replace(memcached_st *ptr, char *key, size_t key_length,
@@ -82,6 +90,10 @@ memcached_return memcached_replace(memcached_st *ptr, char *key, size_t key_leng
                                    time_t expiration,
                                    uint16_t  flags)
 {
-  return  memcached_send(ptr, key, key_length, value, value_length,
+  memcached_return rc;
+  LIBMEMCACHED_MEMCACHED_REPLACE_START();
+  rc= memcached_send(ptr, key, key_length, value, value_length,
                          expiration, flags, "replace");
+  LIBMEMCACHED_MEMCACHED_REPLACE_END();
+  return rc;
 }
index 854df8b95eee13fd033567919e90c4a0826b3574..f987b3cc52b55e6f55001c36f990c21203601f0e 100644 (file)
@@ -1,4 +1,4 @@
-#include <memcached.h>
+#include "common.h"
 
 char *memcached_strerror(memcached_st *ptr, memcached_return rc)
 {
index 5e4f90169e2385ac0b16860ef5bb73e18fc5b55f..63ffb59af03a152c9f5b5924f28100f873580bd3 100644 (file)
@@ -1,4 +1,4 @@
-#include <memcached.h>
+#include "common.h"
 
 memcached_return memcached_string_check(memcached_string_st *string, size_t need)
 {
index c60e7b229e10d80b158e9dc50bf3206af4334e8a..0be5fd4bb6501cc38fa22186fed57a9126619ab3 100644 (file)
@@ -1,4 +1,4 @@
-#include <memcached.h>
+#include "common.h"
 
 memcached_return memcached_verbosity(memcached_st *ptr, unsigned int verbosity)
 {
index d263e60da03e1f5cc77e68f6ffab7d5d48b6a8c7..05011c0a6faecd09f40016058a305c5c871dded4 100644 (file)
@@ -63,7 +63,7 @@ int main(int argc, char *argv[])
   free(opt_servers);
 
   return 0;
-};
+}
 
 
 void options_parse(int argc, char *argv[])
index abd4c8ae70c495db872f8d043b7d77ef1659cd1e..d457cf50b6357958a6720aff8617bdd2211c293a 100644 (file)
@@ -29,7 +29,7 @@ void connection_test(void)
   memcached_st *memc;
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
   assert(memc);
   memcached_deinit(memc);
@@ -59,7 +59,7 @@ void set_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
   rc= memcached_set(memc, key, strlen(key), 
                     value, strlen(value),
@@ -78,7 +78,7 @@ void add_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
   rc= memcached_add(memc, key, strlen(key), 
                     value, strlen(value),
@@ -97,7 +97,7 @@ void replace_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
   rc= memcached_replace(memc, key, strlen(key), 
                     value, strlen(value),
@@ -116,7 +116,7 @@ void delete_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
   rc= memcached_set(memc, key, strlen(key), 
                     value, strlen(value),
@@ -136,7 +136,7 @@ void flush_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
   rc= memcached_flush(memc, 0);
   assert(rc == MEMCACHED_SUCCESS);
@@ -155,7 +155,7 @@ void get_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
   
   string= memcached_get(memc, key, strlen(key),
@@ -180,7 +180,7 @@ void get_test2(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
 
   rc= memcached_set(memc, key, strlen(key), 
@@ -221,7 +221,7 @@ void get_test3(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
 
   rc= memcached_set(memc, key, strlen(key), 
@@ -248,7 +248,7 @@ void stats_servername_test(void)
   memcached_return rc;
   memcached_stat_st stat;
   rc= memcached_stat_servername(&stat, NULL,
-                                 "zim.tangent.org", 
+                                 "localhost", 
                                  MEMCACHED_DEFAULT_PORT);
 }
 
@@ -262,7 +262,7 @@ void increment_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
 
   rc= memcached_set(memc, key, strlen(key), 
@@ -293,7 +293,7 @@ void decrement_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
 
   rc= memcached_set(memc, key, strlen(key), 
@@ -323,7 +323,7 @@ void quit_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
 
   rc= memcached_set(memc, key, strlen(key), 
@@ -356,7 +356,7 @@ void mget_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
 
   /* We need to empty the server before continueing test */
@@ -432,7 +432,7 @@ void get_stats(void)
 
  memc= memcached_init(NULL);
  assert(memc);
- rc= memcached_server_add(memc, "zim.tangent.org", 0);
+ rc= memcached_server_add(memc, "localhost", 0);
  assert(rc == MEMCACHED_SUCCESS);
 
  stat= memcached_stat(memc, NULL, &rc);
@@ -466,9 +466,9 @@ void get_stats_multiple(void)
 
  memc= memcached_init(NULL);
  assert(memc);
- rc= memcached_server_add(memc, "zim.tangent.org", 0);
+ rc= memcached_server_add(memc, "localhost", 0);
  assert(rc == MEMCACHED_SUCCESS);
- rc= memcached_server_add(memc, "zim.tangent.org", 5555);
+ rc= memcached_server_add(memc, "localhost", 5555);
  assert(rc == MEMCACHED_SUCCESS);
 
  stat= memcached_stat(memc, NULL, &rc);