Index: ppapi/c/dev/ppb_trace_event_dev.h |
diff --git a/ppapi/c/dev/ppb_trace_event_dev.h b/ppapi/c/dev/ppb_trace_event_dev.h |
index 153fca89a00625c9b542aff1b48dbad69222d0b8..0fb8cc5a68bb656e025ee7dc3e9de3efc26972d6 100644 |
--- a/ppapi/c/dev/ppb_trace_event_dev.h |
+++ b/ppapi/c/dev/ppb_trace_event_dev.h |
@@ -3,7 +3,7 @@ |
* found in the LICENSE file. |
*/ |
-/* From dev/ppb_trace_event_dev.idl modified Wed Jan 2 16:11:35 2013. */ |
+/* From dev/ppb_trace_event_dev.idl modified Tue Jun 25 16:12:08 2013. */ |
#ifndef PPAPI_C_DEV_PPB_TRACE_EVENT_DEV_H_ |
#define PPAPI_C_DEV_PPB_TRACE_EVENT_DEV_H_ |
@@ -12,7 +12,8 @@ |
#include "ppapi/c/pp_stdint.h" |
#define PPB_TRACE_EVENT_DEV_INTERFACE_0_1 "PPB_Trace_Event(Dev);0.1" |
-#define PPB_TRACE_EVENT_DEV_INTERFACE PPB_TRACE_EVENT_DEV_INTERFACE_0_1 |
+#define PPB_TRACE_EVENT_DEV_INTERFACE_0_2 "PPB_Trace_Event(Dev);0.2" |
+#define PPB_TRACE_EVENT_DEV_INTERFACE PPB_TRACE_EVENT_DEV_INTERFACE_0_2 |
/** |
* @file |
@@ -22,10 +23,22 @@ |
/** |
+ * @addtogroup Typedefs |
+ * @{ |
+ */ |
+/** |
+ * A trace event timestamp. |
+ */ |
+typedef int64_t PP_TraceEventTime; |
+/** |
+ * @} |
+ */ |
+ |
+/** |
* @addtogroup Interfaces |
* @{ |
*/ |
-struct PPB_Trace_Event_Dev_0_1 { |
+struct PPB_Trace_Event_Dev_0_2 { |
/** |
* Gets a pointer to a character for identifying a category name in the |
* tracing system as well as for being able to early exit in client-side |
@@ -53,13 +66,50 @@ struct PPB_Trace_Event_Dev_0_1 { |
const uint64_t arg_values[], |
uint8_t flags); |
/** |
+ * Version of the above interface that allows specifying a custom thread id |
+ * and timestamp. This is useful for when tracing data cannot be registered |
+ * in real time. For example, this could be used by storing timestamps |
+ * internally and then registering the events retroactively. |
+ */ |
+ void (*AddTraceEventWithThreadIdAndTimestamp)(int8_t phase, |
+ const void* category_enabled, |
+ const char* name, |
+ uint64_t id, |
+ int32_t thread_id, |
+ PP_TraceEventTime timestamp, |
+ uint32_t num_args, |
+ const char* arg_names[], |
+ const uint8_t arg_types[], |
+ const uint64_t arg_values[], |
+ uint8_t flags); |
+ /** |
+ * Get the current clock value. Since this uses the same function as the trace |
+ * events use internally, it can be used to create events with explicit time |
+ * stamps. |
+ */ |
+ PP_TraceEventTime (*Now)(void); |
+ /** |
* Sets the thread name of the calling thread in the tracing system so it will |
* show up properly in chrome://tracing. |
*/ |
void (*SetThreadName)(const char* thread_name); |
}; |
-typedef struct PPB_Trace_Event_Dev_0_1 PPB_Trace_Event_Dev; |
+typedef struct PPB_Trace_Event_Dev_0_2 PPB_Trace_Event_Dev; |
+ |
+struct PPB_Trace_Event_Dev_0_1 { |
+ void* (*GetCategoryEnabled)(const char* category_name); |
+ void (*AddTraceEvent)(int8_t phase, |
+ const void* category_enabled, |
+ const char* name, |
+ uint64_t id, |
+ uint32_t num_args, |
+ const char* arg_names[], |
+ const uint8_t arg_types[], |
+ const uint64_t arg_values[], |
+ uint8_t flags); |
+ void (*SetThreadName)(const char* thread_name); |
+}; |
/** |
* @} |
*/ |