Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(147)

Unified Diff: ppapi/c/dev/ppb_trace_event_dev.h

Issue 17555005: Add events with custom timestamps and thread id to PPAPI dev tracing interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sync Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
+};
/**
* @}
*/
« no previous file with comments | « ppapi/api/dev/ppb_trace_event_dev.idl ('k') | ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698