diff --git a/libstats/Android.bp b/libstats/Android.bp
index c5d05ec..0440087 100644
--- a/libstats/Android.bp
+++ b/libstats/Android.bp
@@ -22,7 +22,7 @@
     srcs: [
         "stats_event_list.c",
         "statsd_writer.c",
-	"stats_event.c",
+        "stats_event.c",
     ],
     host_supported: true,
     cflags: [
diff --git a/libstats/stats_event.c b/libstats/stats_event.c
index e2f247a..5bccd9b 100644
--- a/libstats/stats_event.c
+++ b/libstats/stats_event.c
@@ -17,6 +17,7 @@
 #include "stats_event.h"
 #include <stdlib.h>
 #include <string.h>
+#include <time.h>
 #include "include/stats_event_list.h"
 
 #define byte unsigned char
@@ -66,6 +67,13 @@
     uint32_t tag;
 };
 
+static int64_t get_elapsed_realtime_ns() {
+    struct timespec t;
+    t.tv_sec = t.tv_nsec = 0;
+    clock_gettime(CLOCK_BOOTTIME, &t);
+    return (int64_t)t.tv_sec * 1000000000LL + t.tv_nsec;
+}
+
 struct stats_event* stats_event_obtain() {
     struct stats_event* event = malloc(sizeof(struct stats_event));
 
@@ -77,7 +85,7 @@
     event->size = 0;
     event->numElements = 0;
     event->atomId = 0;
-    event->timestampNs = 0;
+    event->timestampNs = get_elapsed_realtime_ns();
     event->errors = 0;
     event->tag = STATS_EVENT_TAG;
     return event;
@@ -87,6 +95,7 @@
     free(event);  // free is a no-op if event is NULL
 }
 
+// Should only be used for testing
 void stats_event_set_timestamp_ns(struct stats_event* event, uint64_t timestampNs) {
     if (event) event->timestampNs = timestampNs;
 }
diff --git a/libstats/stats_event.h b/libstats/stats_event.h
index 16a04f8..ee88628 100644
--- a/libstats/stats_event.h
+++ b/libstats/stats_event.h
@@ -28,7 +28,6 @@
  * Usage:
  *      struct stats_event* event = stats_event_obtain();
  *
- *      stats_event_set_timestamp_ns(event, timestampNs);
  *      stats_event_set_atom_id(event, atomId);
  *      stats_event_write_int32(event, 24);
  *      stats_event_add_bool_annotation(event, 1, true); // annotations apply to the previous field
@@ -41,7 +40,7 @@
  * Notes:
  *    (a) write_<type>() and add_<type>_annotation() should be called in the order that fields
  *        and annotations are defined in the atom.
- *    (b) set_timestamp_ns() and set_atom_id() can be called anytime before stats_event_write().
+ *    (b) set_atom_id() can be called anytime before stats_event_write().
  *    (c) add_<type>_annotation() calls apply to the previous field.
  *    (d) If errors occur, stats_event_write() will write a bitmask of the errors to the socket.
  *    (e) Strings should be encoded using UTF8 and written using stats_event_write_string8().
@@ -60,13 +59,12 @@
 #define ERROR_TOO_MANY_ANNOTATIONS 0x80
 #define ERROR_TOO_MANY_FIELDS 0x100
 
-/* System API */
+/* SYSTEM API */
 struct stats_event* stats_event_obtain();
 void stats_event_write(struct stats_event* event);
 void stats_event_release(struct stats_event* event);
 
 void stats_event_set_atom_id(struct stats_event* event, const uint32_t atomId);
-void stats_event_set_timestamp_ns(struct stats_event* event, const uint64_t timestampNs);
 
 void stats_event_write_int32(struct stats_event* event, int32_t value);
 void stats_event_write_int64(struct stats_event* event, int64_t value);
@@ -83,4 +81,7 @@
 
 uint32_t stats_event_get_errors(struct stats_event* event);
 
+/* TESTING ONLY */
+void stats_event_set_timestamp_ns(struct stats_event* event, const uint64_t timestampNs);
+
 #endif  // ANDROID_STATS_LOG_STATS_EVENT_H
