summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrond Norbye <Trond.Norbye@sun.com>2008-10-02 14:35:33 +0200
committerDustin Sallings <dustin@spy.net>2009-01-03 00:09:12 -0800
commite440813d4448fc28ec071395904ed69f28963fe1 (patch)
treeb5253d37f9a2a1bcb38c1b3b9b54a40c2a1ee942
parent80ec095575d028fc4fc0916ec500a7730f4add5e (diff)
downloadmemcached-e440813d4448fc28ec071395904ed69f28963fe1.tar.gz
dtrace on macosx does not support -G
-rw-r--r--Makefile.am14
-rw-r--r--configure.ac16
-rw-r--r--memcached.h2
-rw-r--r--memcached_dtrace.h538
-rw-r--r--trace.h67
5 files changed, 87 insertions, 550 deletions
diff --git a/Makefile.am b/Makefile.am
index 386d66a..1faa0c0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,9 @@
bin_PROGRAMS = memcached memcached-debug
pkginclude_HEADERS = protocol_binary.h
-memcached_SOURCES = memcached.c slabs.c slabs.h items.c items.h assoc.c assoc.h memcached.h thread.c stats.c stats.h memcached_dtrace.h
+BUILT_SOURCES= @DTRACE_HEADER@
+
+memcached_SOURCES = memcached.c slabs.c slabs.h items.c items.h assoc.c assoc.h memcached.h thread.c stats.c stats.h
memcached_debug_SOURCES = $(memcached_SOURCES)
memcached_CPPFLAGS = -DNDEBUG
memcached_LDADD = @DTRACE_OBJ@ @DAEMON_OBJ@
@@ -9,13 +11,11 @@ memcached_debug_LDADD = @DTRACE_DEBUG_OBJ@ @DAEMON_OBJ@
memcached_DEPENDENCIES = @DTRACE_OBJ@ @DAEMON_OBJ@
memcached_debug_DEPENDENCIES = @DTRACE_DEBUG_OBJ@ @DAEMON_OBJ@
-memcached_dtrace.h:
+memcached_dtrace.h: memcached_dtrace.d
${DTRACE} -h -s memcached_dtrace.d
- sed -e s,_DTRACE_VERSION,ENABLE_DTRACE,g memcached_dtrace.h | \
- tr '\t' ' ' | sed -e 's,char \*,const char \*,g' | \
- sed -e 's,void \*,const void \*,g' | \
- grep -v unistd.h > memcached_dtrace.tmp
- mv memcached_dtrace.tmp memcached_dtrace.h
+ sed -e 's,void \*,const void \*,g' memcached_dtrace.h | \
+ sed -e 's,char \*,const char \*,g' | tr '\t' ' ' > mmc_dtrace.tmp
+ mv mmc_dtrace.tmp memcached_dtrace.h
memcached_dtrace.o: $(memcached_OBJECTS)
$(DTRACE) $(DTRACEFLAGS) -G -o memcached_dtrace.o -s ${srcdir}/memcached_dtrace.d $(memcached_OBJECTS)
diff --git a/configure.ac b/configure.ac
index 714f2c9..1376044 100644
--- a/configure.ac
+++ b/configure.ac
@@ -15,15 +15,23 @@ if test "x$enable_dtrace" == "xyes"; then
AC_PATH_PROG([DTRACE], [dtrace], "no", [/usr/sbin:$PATH])
if test "x$DTRACE" != "xno"; then
AC_DEFINE([ENABLE_DTRACE],1,[Set to nonzero if you want to include DTRACE])
- DTRACE_OBJ=memcached_dtrace.o
- DTRACE_DEBUG_OBJ=memcached_debug_dtrace.o
+ DTRACE_HEADER=memcached_dtrace.h
+
+ # DTrace on MacOSX does not use -G option
+ dtrace -G -o conftest.$$ -s memcached_dtrace.d 2>/dev/zero
+ if test $? -eq 0
+ then
+ DTRACE_OBJ=memcached_dtrace.o
+ DTRACE_DEBUG_OBJ=memcached_debug_dtrace.o
+ rm conftest.$$
+ fi
else
AC_MSG_ERROR([Need dtrace binary and OS support.])
fi
-else
- AC_DEFINE([ENABLE_DTRACE],0,[Set to nonzero if you want to include DTRACE])
fi
+
AC_SUBST(DTRACE)
+AC_SUBST(DTRACE_HEADER)
AC_SUBST(DTRACE_OBJ)
AC_SUBST(DTRACE_DEBUG_OBJ)
AC_SUBST(DTRACEFLAGS)
diff --git a/memcached.h b/memcached.h
index 670df0d..2d96d83 100644
--- a/memcached.h
+++ b/memcached.h
@@ -286,7 +286,7 @@ conn *conn_new(const int sfd, const enum conn_states init_state, const int event
#include "slabs.h"
#include "assoc.h"
#include "items.h"
-#include "memcached_dtrace.h"
+#include "trace.h"
/*
diff --git a/memcached_dtrace.h b/memcached_dtrace.h
deleted file mode 100644
index 0d152fd..0000000
--- a/memcached_dtrace.h
+++ /dev/null
@@ -1,538 +0,0 @@
-/*
- * Generated by dtrace(1M).
- */
-
-#ifndef _MEMCACHED_DTRACE_H
-#define _MEMCACHED_DTRACE_H
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if ENABLE_DTRACE
-
-#define MEMCACHED_ASSOC_DELETE(arg0, arg1, arg2) \
- __dtrace_memcached___assoc__delete(arg0, arg1, arg2)
-#ifndef __sparc
-#define MEMCACHED_ASSOC_DELETE_ENABLED() \
- __dtraceenabled_memcached___assoc__delete()
-#else
-#define MEMCACHED_ASSOC_DELETE_ENABLED() \
- __dtraceenabled_memcached___assoc__delete(0)
-#endif
-#define MEMCACHED_ASSOC_FIND(arg0, arg1, arg2) \
- __dtrace_memcached___assoc__find(arg0, arg1, arg2)
-#ifndef __sparc
-#define MEMCACHED_ASSOC_FIND_ENABLED() \
- __dtraceenabled_memcached___assoc__find()
-#else
-#define MEMCACHED_ASSOC_FIND_ENABLED() \
- __dtraceenabled_memcached___assoc__find(0)
-#endif
-#define MEMCACHED_ASSOC_INSERT(arg0, arg1, arg2) \
- __dtrace_memcached___assoc__insert(arg0, arg1, arg2)
-#ifndef __sparc
-#define MEMCACHED_ASSOC_INSERT_ENABLED() \
- __dtraceenabled_memcached___assoc__insert()
-#else
-#define MEMCACHED_ASSOC_INSERT_ENABLED() \
- __dtraceenabled_memcached___assoc__insert(0)
-#endif
-#define MEMCACHED_COMMAND_ADD(arg0, arg1, arg2, arg3, arg4) \
- __dtrace_memcached___command__add(arg0, arg1, arg2, arg3, arg4)
-#ifndef __sparc
-#define MEMCACHED_COMMAND_ADD_ENABLED() \
- __dtraceenabled_memcached___command__add()
-#else
-#define MEMCACHED_COMMAND_ADD_ENABLED() \
- __dtraceenabled_memcached___command__add(0)
-#endif
-#define MEMCACHED_COMMAND_APPEND(arg0, arg1, arg2, arg3, arg4) \
- __dtrace_memcached___command__append(arg0, arg1, arg2, arg3, arg4)
-#ifndef __sparc
-#define MEMCACHED_COMMAND_APPEND_ENABLED() \
- __dtraceenabled_memcached___command__append()
-#else
-#define MEMCACHED_COMMAND_APPEND_ENABLED() \
- __dtraceenabled_memcached___command__append(0)
-#endif
-#define MEMCACHED_COMMAND_CAS(arg0, arg1, arg2, arg3, arg4) \
- __dtrace_memcached___command__cas(arg0, arg1, arg2, arg3, arg4)
-#ifndef __sparc
-#define MEMCACHED_COMMAND_CAS_ENABLED() \
- __dtraceenabled_memcached___command__cas()
-#else
-#define MEMCACHED_COMMAND_CAS_ENABLED() \
- __dtraceenabled_memcached___command__cas(0)
-#endif
-#define MEMCACHED_COMMAND_DECR(arg0, arg1, arg2, arg3) \
- __dtrace_memcached___command__decr(arg0, arg1, arg2, arg3)
-#ifndef __sparc
-#define MEMCACHED_COMMAND_DECR_ENABLED() \
- __dtraceenabled_memcached___command__decr()
-#else
-#define MEMCACHED_COMMAND_DECR_ENABLED() \
- __dtraceenabled_memcached___command__decr(0)
-#endif
-#define MEMCACHED_COMMAND_DELETE(arg0, arg1, arg2) \
- __dtrace_memcached___command__delete(arg0, arg1, arg2)
-#ifndef __sparc
-#define MEMCACHED_COMMAND_DELETE_ENABLED() \
- __dtraceenabled_memcached___command__delete()
-#else
-#define MEMCACHED_COMMAND_DELETE_ENABLED() \
- __dtraceenabled_memcached___command__delete(0)
-#endif
-#define MEMCACHED_COMMAND_GET(arg0, arg1, arg2, arg3, arg4) \
- __dtrace_memcached___command__get(arg0, arg1, arg2, arg3, arg4)
-#ifndef __sparc
-#define MEMCACHED_COMMAND_GET_ENABLED() \
- __dtraceenabled_memcached___command__get()
-#else
-#define MEMCACHED_COMMAND_GET_ENABLED() \
- __dtraceenabled_memcached___command__get(0)
-#endif
-#define MEMCACHED_COMMAND_INCR(arg0, arg1, arg2, arg3) \
- __dtrace_memcached___command__incr(arg0, arg1, arg2, arg3)
-#ifndef __sparc
-#define MEMCACHED_COMMAND_INCR_ENABLED() \
- __dtraceenabled_memcached___command__incr()
-#else
-#define MEMCACHED_COMMAND_INCR_ENABLED() \
- __dtraceenabled_memcached___command__incr(0)
-#endif
-#define MEMCACHED_COMMAND_PREPEND(arg0, arg1, arg2, arg3, arg4) \
- __dtrace_memcached___command__prepend(arg0, arg1, arg2, arg3, arg4)
-#ifndef __sparc
-#define MEMCACHED_COMMAND_PREPEND_ENABLED() \
- __dtraceenabled_memcached___command__prepend()
-#else
-#define MEMCACHED_COMMAND_PREPEND_ENABLED() \
- __dtraceenabled_memcached___command__prepend(0)
-#endif
-#define MEMCACHED_COMMAND_REPLACE(arg0, arg1, arg2, arg3, arg4) \
- __dtrace_memcached___command__replace(arg0, arg1, arg2, arg3, arg4)
-#ifndef __sparc
-#define MEMCACHED_COMMAND_REPLACE_ENABLED() \
- __dtraceenabled_memcached___command__replace()
-#else
-#define MEMCACHED_COMMAND_REPLACE_ENABLED() \
- __dtraceenabled_memcached___command__replace(0)
-#endif
-#define MEMCACHED_COMMAND_SET(arg0, arg1, arg2, arg3, arg4) \
- __dtrace_memcached___command__set(arg0, arg1, arg2, arg3, arg4)
-#ifndef __sparc
-#define MEMCACHED_COMMAND_SET_ENABLED() \
- __dtraceenabled_memcached___command__set()
-#else
-#define MEMCACHED_COMMAND_SET_ENABLED() \
- __dtraceenabled_memcached___command__set(0)
-#endif
-#define MEMCACHED_CONN_ALLOCATE(arg0) \
- __dtrace_memcached___conn__allocate(arg0)
-#ifndef __sparc
-#define MEMCACHED_CONN_ALLOCATE_ENABLED() \
- __dtraceenabled_memcached___conn__allocate()
-#else
-#define MEMCACHED_CONN_ALLOCATE_ENABLED() \
- __dtraceenabled_memcached___conn__allocate(0)
-#endif
-#define MEMCACHED_CONN_CREATE(arg0) \
- __dtrace_memcached___conn__create(arg0)
-#ifndef __sparc
-#define MEMCACHED_CONN_CREATE_ENABLED() \
- __dtraceenabled_memcached___conn__create()
-#else
-#define MEMCACHED_CONN_CREATE_ENABLED() \
- __dtraceenabled_memcached___conn__create(0)
-#endif
-#define MEMCACHED_CONN_DESTROY(arg0) \
- __dtrace_memcached___conn__destroy(arg0)
-#ifndef __sparc
-#define MEMCACHED_CONN_DESTROY_ENABLED() \
- __dtraceenabled_memcached___conn__destroy()
-#else
-#define MEMCACHED_CONN_DESTROY_ENABLED() \
- __dtraceenabled_memcached___conn__destroy(0)
-#endif
-#define MEMCACHED_CONN_DISPATCH(arg0, arg1) \
- __dtrace_memcached___conn__dispatch(arg0, arg1)
-#ifndef __sparc
-#define MEMCACHED_CONN_DISPATCH_ENABLED() \
- __dtraceenabled_memcached___conn__dispatch()
-#else
-#define MEMCACHED_CONN_DISPATCH_ENABLED() \
- __dtraceenabled_memcached___conn__dispatch(0)
-#endif
-#define MEMCACHED_CONN_RELEASE(arg0) \
- __dtrace_memcached___conn__release(arg0)
-#ifndef __sparc
-#define MEMCACHED_CONN_RELEASE_ENABLED() \
- __dtraceenabled_memcached___conn__release()
-#else
-#define MEMCACHED_CONN_RELEASE_ENABLED() \
- __dtraceenabled_memcached___conn__release(0)
-#endif
-#define MEMCACHED_ITEM_LINK(arg0, arg1, arg2) \
- __dtrace_memcached___item__link(arg0, arg1, arg2)
-#ifndef __sparc
-#define MEMCACHED_ITEM_LINK_ENABLED() \
- __dtraceenabled_memcached___item__link()
-#else
-#define MEMCACHED_ITEM_LINK_ENABLED() \
- __dtraceenabled_memcached___item__link(0)
-#endif
-#define MEMCACHED_ITEM_REMOVE(arg0, arg1, arg2) \
- __dtrace_memcached___item__remove(arg0, arg1, arg2)
-#ifndef __sparc
-#define MEMCACHED_ITEM_REMOVE_ENABLED() \
- __dtraceenabled_memcached___item__remove()
-#else
-#define MEMCACHED_ITEM_REMOVE_ENABLED() \
- __dtraceenabled_memcached___item__remove(0)
-#endif
-#define MEMCACHED_ITEM_REPLACE(arg0, arg1, arg2, arg3, arg4, arg5) \
- __dtrace_memcached___item__replace(arg0, arg1, arg2, arg3, arg4, arg5)
-#ifndef __sparc
-#define MEMCACHED_ITEM_REPLACE_ENABLED() \
- __dtraceenabled_memcached___item__replace()
-#else
-#define MEMCACHED_ITEM_REPLACE_ENABLED() \
- __dtraceenabled_memcached___item__replace(0)
-#endif
-#define MEMCACHED_ITEM_UNLINK(arg0, arg1, arg2) \
- __dtrace_memcached___item__unlink(arg0, arg1, arg2)
-#ifndef __sparc
-#define MEMCACHED_ITEM_UNLINK_ENABLED() \
- __dtraceenabled_memcached___item__unlink()
-#else
-#define MEMCACHED_ITEM_UNLINK_ENABLED() \
- __dtraceenabled_memcached___item__unlink(0)
-#endif
-#define MEMCACHED_ITEM_UPDATE(arg0, arg1, arg2) \
- __dtrace_memcached___item__update(arg0, arg1, arg2)
-#ifndef __sparc
-#define MEMCACHED_ITEM_UPDATE_ENABLED() \
- __dtraceenabled_memcached___item__update()
-#else
-#define MEMCACHED_ITEM_UPDATE_ENABLED() \
- __dtraceenabled_memcached___item__update(0)
-#endif
-#define MEMCACHED_PROCESS_COMMAND_END(arg0, arg1, arg2) \
- __dtrace_memcached___process__command__end(arg0, arg1, arg2)
-#ifndef __sparc
-#define MEMCACHED_PROCESS_COMMAND_END_ENABLED() \
- __dtraceenabled_memcached___process__command__end()
-#else
-#define MEMCACHED_PROCESS_COMMAND_END_ENABLED() \
- __dtraceenabled_memcached___process__command__end(0)
-#endif
-#define MEMCACHED_PROCESS_COMMAND_START(arg0, arg1, arg2) \
- __dtrace_memcached___process__command__start(arg0, arg1, arg2)
-#ifndef __sparc
-#define MEMCACHED_PROCESS_COMMAND_START_ENABLED() \
- __dtraceenabled_memcached___process__command__start()
-#else
-#define MEMCACHED_PROCESS_COMMAND_START_ENABLED() \
- __dtraceenabled_memcached___process__command__start(0)
-#endif
-#define MEMCACHED_SLABS_ALLOCATE(arg0, arg1, arg2, arg3) \
- __dtrace_memcached___slabs__allocate(arg0, arg1, arg2, arg3)
-#ifndef __sparc
-#define MEMCACHED_SLABS_ALLOCATE_ENABLED() \
- __dtraceenabled_memcached___slabs__allocate()
-#else
-#define MEMCACHED_SLABS_ALLOCATE_ENABLED() \
- __dtraceenabled_memcached___slabs__allocate(0)
-#endif
-#define MEMCACHED_SLABS_ALLOCATE_FAILED(arg0, arg1) \
- __dtrace_memcached___slabs__allocate__failed(arg0, arg1)
-#ifndef __sparc
-#define MEMCACHED_SLABS_ALLOCATE_FAILED_ENABLED() \
- __dtraceenabled_memcached___slabs__allocate__failed()
-#else
-#define MEMCACHED_SLABS_ALLOCATE_FAILED_ENABLED() \
- __dtraceenabled_memcached___slabs__allocate__failed(0)
-#endif
-#define MEMCACHED_SLABS_FREE(arg0, arg1, arg2) \
- __dtrace_memcached___slabs__free(arg0, arg1, arg2)
-#ifndef __sparc
-#define MEMCACHED_SLABS_FREE_ENABLED() \
- __dtraceenabled_memcached___slabs__free()
-#else
-#define MEMCACHED_SLABS_FREE_ENABLED() \
- __dtraceenabled_memcached___slabs__free(0)
-#endif
-#define MEMCACHED_SLABS_SLABCLASS_ALLOCATE(arg0) \
- __dtrace_memcached___slabs__slabclass__allocate(arg0)
-#ifndef __sparc
-#define MEMCACHED_SLABS_SLABCLASS_ALLOCATE_ENABLED() \
- __dtraceenabled_memcached___slabs__slabclass__allocate()
-#else
-#define MEMCACHED_SLABS_SLABCLASS_ALLOCATE_ENABLED() \
- __dtraceenabled_memcached___slabs__slabclass__allocate(0)
-#endif
-#define MEMCACHED_SLABS_SLABCLASS_ALLOCATE_FAILED(arg0) \
- __dtrace_memcached___slabs__slabclass__allocate__failed(arg0)
-#ifndef __sparc
-#define MEMCACHED_SLABS_SLABCLASS_ALLOCATE_FAILED_ENABLED() \
- __dtraceenabled_memcached___slabs__slabclass__allocate__failed()
-#else
-#define MEMCACHED_SLABS_SLABCLASS_ALLOCATE_FAILED_ENABLED() \
- __dtraceenabled_memcached___slabs__slabclass__allocate__failed(0)
-#endif
-
-
-extern void __dtrace_memcached___assoc__delete(const char *, int, int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___assoc__delete(void);
-#else
-extern int __dtraceenabled_memcached___assoc__delete(long);
-#endif
-extern void __dtrace_memcached___assoc__find(const char *, int, int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___assoc__find(void);
-#else
-extern int __dtraceenabled_memcached___assoc__find(long);
-#endif
-extern void __dtrace_memcached___assoc__insert(const char *, int, int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___assoc__insert(void);
-#else
-extern int __dtraceenabled_memcached___assoc__insert(long);
-#endif
-extern void __dtrace_memcached___command__add(int, const char *, int, int, int64_t);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___command__add(void);
-#else
-extern int __dtraceenabled_memcached___command__add(long);
-#endif
-extern void __dtrace_memcached___command__append(int, const char *, int, int, int64_t);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___command__append(void);
-#else
-extern int __dtraceenabled_memcached___command__append(long);
-#endif
-extern void __dtrace_memcached___command__cas(int, const char *, int, int, int64_t);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___command__cas(void);
-#else
-extern int __dtraceenabled_memcached___command__cas(long);
-#endif
-extern void __dtrace_memcached___command__decr(int, const char *, int, int64_t);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___command__decr(void);
-#else
-extern int __dtraceenabled_memcached___command__decr(long);
-#endif
-extern void __dtrace_memcached___command__delete(int, const char *, int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___command__delete(void);
-#else
-extern int __dtraceenabled_memcached___command__delete(long);
-#endif
-extern void __dtrace_memcached___command__get(int, const char *, int, int, int64_t);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___command__get(void);
-#else
-extern int __dtraceenabled_memcached___command__get(long);
-#endif
-extern void __dtrace_memcached___command__incr(int, const char *, int, int64_t);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___command__incr(void);
-#else
-extern int __dtraceenabled_memcached___command__incr(long);
-#endif
-extern void __dtrace_memcached___command__prepend(int, const char *, int, int, int64_t);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___command__prepend(void);
-#else
-extern int __dtraceenabled_memcached___command__prepend(long);
-#endif
-extern void __dtrace_memcached___command__replace(int, const char *, int, int, int64_t);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___command__replace(void);
-#else
-extern int __dtraceenabled_memcached___command__replace(long);
-#endif
-extern void __dtrace_memcached___command__set(int, const char *, int, int, int64_t);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___command__set(void);
-#else
-extern int __dtraceenabled_memcached___command__set(long);
-#endif
-extern void __dtrace_memcached___conn__allocate(int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___conn__allocate(void);
-#else
-extern int __dtraceenabled_memcached___conn__allocate(long);
-#endif
-extern void __dtrace_memcached___conn__create(const void *);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___conn__create(void);
-#else
-extern int __dtraceenabled_memcached___conn__create(long);
-#endif
-extern void __dtrace_memcached___conn__destroy(const void *);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___conn__destroy(void);
-#else
-extern int __dtraceenabled_memcached___conn__destroy(long);
-#endif
-extern void __dtrace_memcached___conn__dispatch(int, int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___conn__dispatch(void);
-#else
-extern int __dtraceenabled_memcached___conn__dispatch(long);
-#endif
-extern void __dtrace_memcached___conn__release(int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___conn__release(void);
-#else
-extern int __dtraceenabled_memcached___conn__release(long);
-#endif
-extern void __dtrace_memcached___item__link(const char *, int, int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___item__link(void);
-#else
-extern int __dtraceenabled_memcached___item__link(long);
-#endif
-extern void __dtrace_memcached___item__remove(const char *, int, int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___item__remove(void);
-#else
-extern int __dtraceenabled_memcached___item__remove(long);
-#endif
-extern void __dtrace_memcached___item__replace(const char *, int, int, const char *, int, int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___item__replace(void);
-#else
-extern int __dtraceenabled_memcached___item__replace(long);
-#endif
-extern void __dtrace_memcached___item__unlink(const char *, int, int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___item__unlink(void);
-#else
-extern int __dtraceenabled_memcached___item__unlink(long);
-#endif
-extern void __dtrace_memcached___item__update(const char *, int, int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___item__update(void);
-#else
-extern int __dtraceenabled_memcached___item__update(long);
-#endif
-extern void __dtrace_memcached___process__command__end(int, const void *, int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___process__command__end(void);
-#else
-extern int __dtraceenabled_memcached___process__command__end(long);
-#endif
-extern void __dtrace_memcached___process__command__start(int, const void *, int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___process__command__start(void);
-#else
-extern int __dtraceenabled_memcached___process__command__start(long);
-#endif
-extern void __dtrace_memcached___slabs__allocate(int, int, int, const void *);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___slabs__allocate(void);
-#else
-extern int __dtraceenabled_memcached___slabs__allocate(long);
-#endif
-extern void __dtrace_memcached___slabs__allocate__failed(int, int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___slabs__allocate__failed(void);
-#else
-extern int __dtraceenabled_memcached___slabs__allocate__failed(long);
-#endif
-extern void __dtrace_memcached___slabs__free(int, int, const void *);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___slabs__free(void);
-#else
-extern int __dtraceenabled_memcached___slabs__free(long);
-#endif
-extern void __dtrace_memcached___slabs__slabclass__allocate(int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___slabs__slabclass__allocate(void);
-#else
-extern int __dtraceenabled_memcached___slabs__slabclass__allocate(long);
-#endif
-extern void __dtrace_memcached___slabs__slabclass__allocate__failed(int);
-#ifndef __sparc
-extern int __dtraceenabled_memcached___slabs__slabclass__allocate__failed(void);
-#else
-extern int __dtraceenabled_memcached___slabs__slabclass__allocate__failed(long);
-#endif
-
-#else
-
-#define MEMCACHED_ASSOC_DELETE(arg0, arg1, arg2)
-#define MEMCACHED_ASSOC_DELETE_ENABLED() (0)
-#define MEMCACHED_ASSOC_FIND(arg0, arg1, arg2)
-#define MEMCACHED_ASSOC_FIND_ENABLED() (0)
-#define MEMCACHED_ASSOC_INSERT(arg0, arg1, arg2)
-#define MEMCACHED_ASSOC_INSERT_ENABLED() (0)
-#define MEMCACHED_COMMAND_ADD(arg0, arg1, arg2, arg3, arg4)
-#define MEMCACHED_COMMAND_ADD_ENABLED() (0)
-#define MEMCACHED_COMMAND_APPEND(arg0, arg1, arg2, arg3, arg4)
-#define MEMCACHED_COMMAND_APPEND_ENABLED() (0)
-#define MEMCACHED_COMMAND_CAS(arg0, arg1, arg2, arg3, arg4)
-#define MEMCACHED_COMMAND_CAS_ENABLED() (0)
-#define MEMCACHED_COMMAND_DECR(arg0, arg1, arg2, arg3)
-#define MEMCACHED_COMMAND_DECR_ENABLED() (0)
-#define MEMCACHED_COMMAND_DELETE(arg0, arg1, arg2)
-#define MEMCACHED_COMMAND_DELETE_ENABLED() (0)
-#define MEMCACHED_COMMAND_GET(arg0, arg1, arg2, arg3, arg4)
-#define MEMCACHED_COMMAND_GET_ENABLED() (0)
-#define MEMCACHED_COMMAND_INCR(arg0, arg1, arg2, arg3)
-#define MEMCACHED_COMMAND_INCR_ENABLED() (0)
-#define MEMCACHED_COMMAND_PREPEND(arg0, arg1, arg2, arg3, arg4)
-#define MEMCACHED_COMMAND_PREPEND_ENABLED() (0)
-#define MEMCACHED_COMMAND_REPLACE(arg0, arg1, arg2, arg3, arg4)
-#define MEMCACHED_COMMAND_REPLACE_ENABLED() (0)
-#define MEMCACHED_COMMAND_SET(arg0, arg1, arg2, arg3, arg4)
-#define MEMCACHED_COMMAND_SET_ENABLED() (0)
-#define MEMCACHED_CONN_ALLOCATE(arg0)
-#define MEMCACHED_CONN_ALLOCATE_ENABLED() (0)
-#define MEMCACHED_CONN_CREATE(arg0)
-#define MEMCACHED_CONN_CREATE_ENABLED() (0)
-#define MEMCACHED_CONN_DESTROY(arg0)
-#define MEMCACHED_CONN_DESTROY_ENABLED() (0)
-#define MEMCACHED_CONN_DISPATCH(arg0, arg1)
-#define MEMCACHED_CONN_DISPATCH_ENABLED() (0)
-#define MEMCACHED_CONN_RELEASE(arg0)
-#define MEMCACHED_CONN_RELEASE_ENABLED() (0)
-#define MEMCACHED_ITEM_LINK(arg0, arg1, arg2)
-#define MEMCACHED_ITEM_LINK_ENABLED() (0)
-#define MEMCACHED_ITEM_REMOVE(arg0, arg1, arg2)
-#define MEMCACHED_ITEM_REMOVE_ENABLED() (0)
-#define MEMCACHED_ITEM_REPLACE(arg0, arg1, arg2, arg3, arg4, arg5)
-#define MEMCACHED_ITEM_REPLACE_ENABLED() (0)
-#define MEMCACHED_ITEM_UNLINK(arg0, arg1, arg2)
-#define MEMCACHED_ITEM_UNLINK_ENABLED() (0)
-#define MEMCACHED_ITEM_UPDATE(arg0, arg1, arg2)
-#define MEMCACHED_ITEM_UPDATE_ENABLED() (0)
-#define MEMCACHED_PROCESS_COMMAND_END(arg0, arg1, arg2)
-#define MEMCACHED_PROCESS_COMMAND_END_ENABLED() (0)
-#define MEMCACHED_PROCESS_COMMAND_START(arg0, arg1, arg2)
-#define MEMCACHED_PROCESS_COMMAND_START_ENABLED() (0)
-#define MEMCACHED_SLABS_ALLOCATE(arg0, arg1, arg2, arg3)
-#define MEMCACHED_SLABS_ALLOCATE_ENABLED() (0)
-#define MEMCACHED_SLABS_ALLOCATE_FAILED(arg0, arg1)
-#define MEMCACHED_SLABS_ALLOCATE_FAILED_ENABLED() (0)
-#define MEMCACHED_SLABS_FREE(arg0, arg1, arg2)
-#define MEMCACHED_SLABS_FREE_ENABLED() (0)
-#define MEMCACHED_SLABS_SLABCLASS_ALLOCATE(arg0)
-#define MEMCACHED_SLABS_SLABCLASS_ALLOCATE_ENABLED() (0)
-#define MEMCACHED_SLABS_SLABCLASS_ALLOCATE_FAILED(arg0)
-#define MEMCACHED_SLABS_SLABCLASS_ALLOCATE_FAILED_ENABLED() (0)
-
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MEMCACHED_DTRACE_H */
diff --git a/trace.h b/trace.h
new file mode 100644
index 0000000..7d1363e
--- /dev/null
+++ b/trace.h
@@ -0,0 +1,67 @@
+
+#ifdef ENABLE_DTRACE
+#include "memcached_dtrace.h"
+#else
+
+#define MEMCACHED_ASSOC_DELETE(arg0, arg1, arg2)
+#define MEMCACHED_ASSOC_DELETE_ENABLED() (0)
+#define MEMCACHED_ASSOC_FIND(arg0, arg1, arg2)
+#define MEMCACHED_ASSOC_FIND_ENABLED() (0)
+#define MEMCACHED_ASSOC_INSERT(arg0, arg1, arg2)
+#define MEMCACHED_ASSOC_INSERT_ENABLED() (0)
+#define MEMCACHED_COMMAND_ADD(arg0, arg1, arg2, arg3, arg4)
+#define MEMCACHED_COMMAND_ADD_ENABLED() (0)
+#define MEMCACHED_COMMAND_APPEND(arg0, arg1, arg2, arg3, arg4)
+#define MEMCACHED_COMMAND_APPEND_ENABLED() (0)
+#define MEMCACHED_COMMAND_CAS(arg0, arg1, arg2, arg3, arg4)
+#define MEMCACHED_COMMAND_CAS_ENABLED() (0)
+#define MEMCACHED_COMMAND_DECR(arg0, arg1, arg2, arg3)
+#define MEMCACHED_COMMAND_DECR_ENABLED() (0)
+#define MEMCACHED_COMMAND_DELETE(arg0, arg1, arg2)
+#define MEMCACHED_COMMAND_DELETE_ENABLED() (0)
+#define MEMCACHED_COMMAND_GET(arg0, arg1, arg2, arg3, arg4)
+#define MEMCACHED_COMMAND_GET_ENABLED() (0)
+#define MEMCACHED_COMMAND_INCR(arg0, arg1, arg2, arg3)
+#define MEMCACHED_COMMAND_INCR_ENABLED() (0)
+#define MEMCACHED_COMMAND_PREPEND(arg0, arg1, arg2, arg3, arg4)
+#define MEMCACHED_COMMAND_PREPEND_ENABLED() (0)
+#define MEMCACHED_COMMAND_REPLACE(arg0, arg1, arg2, arg3, arg4)
+#define MEMCACHED_COMMAND_REPLACE_ENABLED() (0)
+#define MEMCACHED_COMMAND_SET(arg0, arg1, arg2, arg3, arg4)
+#define MEMCACHED_COMMAND_SET_ENABLED() (0)
+#define MEMCACHED_CONN_ALLOCATE(arg0)
+#define MEMCACHED_CONN_ALLOCATE_ENABLED() (0)
+#define MEMCACHED_CONN_CREATE(arg0)
+#define MEMCACHED_CONN_CREATE_ENABLED() (0)
+#define MEMCACHED_CONN_DESTROY(arg0)
+#define MEMCACHED_CONN_DESTROY_ENABLED() (0)
+#define MEMCACHED_CONN_DISPATCH(arg0, arg1)
+#define MEMCACHED_CONN_DISPATCH_ENABLED() (0)
+#define MEMCACHED_CONN_RELEASE(arg0)
+#define MEMCACHED_CONN_RELEASE_ENABLED() (0)
+#define MEMCACHED_ITEM_LINK(arg0, arg1, arg2)
+#define MEMCACHED_ITEM_LINK_ENABLED() (0)
+#define MEMCACHED_ITEM_REMOVE(arg0, arg1, arg2)
+#define MEMCACHED_ITEM_REMOVE_ENABLED() (0)
+#define MEMCACHED_ITEM_REPLACE(arg0, arg1, arg2, arg3, arg4, arg5)
+#define MEMCACHED_ITEM_REPLACE_ENABLED() (0)
+#define MEMCACHED_ITEM_UNLINK(arg0, arg1, arg2)
+#define MEMCACHED_ITEM_UNLINK_ENABLED() (0)
+#define MEMCACHED_ITEM_UPDATE(arg0, arg1, arg2)
+#define MEMCACHED_ITEM_UPDATE_ENABLED() (0)
+#define MEMCACHED_PROCESS_COMMAND_END(arg0, arg1, arg2)
+#define MEMCACHED_PROCESS_COMMAND_END_ENABLED() (0)
+#define MEMCACHED_PROCESS_COMMAND_START(arg0, arg1, arg2)
+#define MEMCACHED_PROCESS_COMMAND_START_ENABLED() (0)
+#define MEMCACHED_SLABS_ALLOCATE(arg0, arg1, arg2, arg3)
+#define MEMCACHED_SLABS_ALLOCATE_ENABLED() (0)
+#define MEMCACHED_SLABS_ALLOCATE_FAILED(arg0, arg1)
+#define MEMCACHED_SLABS_ALLOCATE_FAILED_ENABLED() (0)
+#define MEMCACHED_SLABS_FREE(arg0, arg1, arg2)
+#define MEMCACHED_SLABS_FREE_ENABLED() (0)
+#define MEMCACHED_SLABS_SLABCLASS_ALLOCATE(arg0)
+#define MEMCACHED_SLABS_SLABCLASS_ALLOCATE_ENABLED() (0)
+#define MEMCACHED_SLABS_SLABCLASS_ALLOCATE_FAILED(arg0)
+#define MEMCACHED_SLABS_SLABCLASS_ALLOCATE_FAILED_ENABLED() (0)
+
+#endif