summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2011-07-01 15:47:48 +0200
committerantirez <antirez@gmail.com>2011-07-01 15:47:48 +0200
commit33d2761bc05710b4dd6d036e04ca1b3c9d4b2a39 (patch)
treea207261c08511ebb783ee2a9d7f6d4561da6d432
parentad6347b74ea940bea8024f9279083b27cd2da036 (diff)
downloadredis-33d2761bc05710b4dd6d036e04ca1b3c9d4b2a39.tar.gz
ustime() backported from unstable, used by slow log
-rw-r--r--src/redis.h1
-rw-r--r--src/util.c12
2 files changed, 13 insertions, 0 deletions
diff --git a/src/redis.h b/src/redis.h
index 70d20db47..8a7a47fda 100644
--- a/src/redis.h
+++ b/src/redis.h
@@ -869,6 +869,7 @@ int ll2string(char *s, size_t len, long long value);
int isStringRepresentableAsLong(sds s, long *longval);
int isStringRepresentableAsLongLong(sds s, long long *longval);
int isObjectRepresentableAsLongLong(robj *o, long long *llongval);
+long long ustime(void);
/* Configuration */
void loadServerConfig(char *filename);
diff --git a/src/util.c b/src/util.c
index e304ff839..ef9b901fd 100644
--- a/src/util.c
+++ b/src/util.c
@@ -1,6 +1,7 @@
#include "redis.h"
#include <ctype.h>
#include <limits.h>
+#include <sys/time.h>
/* Glob-style pattern matching. */
int stringmatchlen(const char *pattern, int patternLen,
@@ -241,3 +242,14 @@ int isObjectRepresentableAsLongLong(robj *o, long long *llongval) {
return isStringRepresentableAsLongLong(o->ptr,llongval);
}
}
+
+/* Return the UNIX time in microseconds */
+long long ustime(void) {
+ struct timeval tv;
+ long long ust;
+
+ gettimeofday(&tv, NULL);
+ ust = ((long long)tv.tv_sec)*1000000;
+ ust += tv.tv_usec;
+ return ust;
+}