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

Side by Side 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, 5 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 unified diff | Download patch
OLDNEW
1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be 2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file. 3 * found in the LICENSE file.
4 */ 4 */
5 5
6 /* From dev/ppb_trace_event_dev.idl modified Wed Jan 2 16:11:35 2013. */ 6 /* From dev/ppb_trace_event_dev.idl modified Tue Jun 25 16:12:08 2013. */
7 7
8 #ifndef PPAPI_C_DEV_PPB_TRACE_EVENT_DEV_H_ 8 #ifndef PPAPI_C_DEV_PPB_TRACE_EVENT_DEV_H_
9 #define PPAPI_C_DEV_PPB_TRACE_EVENT_DEV_H_ 9 #define PPAPI_C_DEV_PPB_TRACE_EVENT_DEV_H_
10 10
11 #include "ppapi/c/pp_macros.h" 11 #include "ppapi/c/pp_macros.h"
12 #include "ppapi/c/pp_stdint.h" 12 #include "ppapi/c/pp_stdint.h"
13 13
14 #define PPB_TRACE_EVENT_DEV_INTERFACE_0_1 "PPB_Trace_Event(Dev);0.1" 14 #define PPB_TRACE_EVENT_DEV_INTERFACE_0_1 "PPB_Trace_Event(Dev);0.1"
15 #define PPB_TRACE_EVENT_DEV_INTERFACE PPB_TRACE_EVENT_DEV_INTERFACE_0_1 15 #define PPB_TRACE_EVENT_DEV_INTERFACE_0_2 "PPB_Trace_Event(Dev);0.2"
16 #define PPB_TRACE_EVENT_DEV_INTERFACE PPB_TRACE_EVENT_DEV_INTERFACE_0_2
16 17
17 /** 18 /**
18 * @file 19 * @file
19 * This file defines the <code>PPB_Trace_Event</code> interface. It is meant 20 * This file defines the <code>PPB_Trace_Event</code> interface. It is meant
20 * to be used in plugins as the API that trace macros from trace_event.h use. 21 * to be used in plugins as the API that trace macros from trace_event.h use.
21 */ 22 */
22 23
23 24
24 /** 25 /**
26 * @addtogroup Typedefs
27 * @{
28 */
29 /**
30 * A trace event timestamp.
31 */
32 typedef int64_t PP_TraceEventTime;
33 /**
34 * @}
35 */
36
37 /**
25 * @addtogroup Interfaces 38 * @addtogroup Interfaces
26 * @{ 39 * @{
27 */ 40 */
28 struct PPB_Trace_Event_Dev_0_1 { 41 struct PPB_Trace_Event_Dev_0_2 {
29 /** 42 /**
30 * Gets a pointer to a character for identifying a category name in the 43 * Gets a pointer to a character for identifying a category name in the
31 * tracing system as well as for being able to early exit in client-side 44 * tracing system as well as for being able to early exit in client-side
32 * tracing code. 45 * tracing code.
33 * 46 *
34 * NB: This mem_t return value should technically be const, but return values 47 * NB: This mem_t return value should technically be const, but return values
35 * for Pepper IDL of mem_t type are not const. The same is true for the arg 48 * for Pepper IDL of mem_t type are not const. The same is true for the arg
36 * |category_enabled| for AddTraceEvent. 49 * |category_enabled| for AddTraceEvent.
37 */ 50 */
38 void* (*GetCategoryEnabled)(const char* category_name); 51 void* (*GetCategoryEnabled)(const char* category_name);
39 /** 52 /**
40 * Adds a trace event to the platform tracing system. This function call is 53 * Adds a trace event to the platform tracing system. This function call is
41 * usually the result of a TRACE_* macro from trace_event.h when tracing and 54 * usually the result of a TRACE_* macro from trace_event.h when tracing and
42 * the category of the particular trace are enabled. It is not advisable to 55 * the category of the particular trace are enabled. It is not advisable to
43 * call this function on its own; it is really only meant to be used by the 56 * call this function on its own; it is really only meant to be used by the
44 * trace macros. 57 * trace macros.
45 */ 58 */
46 void (*AddTraceEvent)(int8_t phase, 59 void (*AddTraceEvent)(int8_t phase,
47 const void* category_enabled, 60 const void* category_enabled,
48 const char* name, 61 const char* name,
49 uint64_t id, 62 uint64_t id,
50 uint32_t num_args, 63 uint32_t num_args,
51 const char* arg_names[], 64 const char* arg_names[],
52 const uint8_t arg_types[], 65 const uint8_t arg_types[],
53 const uint64_t arg_values[], 66 const uint64_t arg_values[],
54 uint8_t flags); 67 uint8_t flags);
55 /** 68 /**
69 * Version of the above interface that allows specifying a custom thread id
70 * and timestamp. This is useful for when tracing data cannot be registered
71 * in real time. For example, this could be used by storing timestamps
72 * internally and then registering the events retroactively.
73 */
74 void (*AddTraceEventWithThreadIdAndTimestamp)(int8_t phase,
75 const void* category_enabled,
76 const char* name,
77 uint64_t id,
78 int32_t thread_id,
79 PP_TraceEventTime timestamp,
80 uint32_t num_args,
81 const char* arg_names[],
82 const uint8_t arg_types[],
83 const uint64_t arg_values[],
84 uint8_t flags);
85 /**
86 * Get the current clock value. Since this uses the same function as the trace
87 * events use internally, it can be used to create events with explicit time
88 * stamps.
89 */
90 PP_TraceEventTime (*Now)(void);
91 /**
56 * Sets the thread name of the calling thread in the tracing system so it will 92 * Sets the thread name of the calling thread in the tracing system so it will
57 * show up properly in chrome://tracing. 93 * show up properly in chrome://tracing.
58 */ 94 */
59 void (*SetThreadName)(const char* thread_name); 95 void (*SetThreadName)(const char* thread_name);
60 }; 96 };
61 97
62 typedef struct PPB_Trace_Event_Dev_0_1 PPB_Trace_Event_Dev; 98 typedef struct PPB_Trace_Event_Dev_0_2 PPB_Trace_Event_Dev;
99
100 struct PPB_Trace_Event_Dev_0_1 {
101 void* (*GetCategoryEnabled)(const char* category_name);
102 void (*AddTraceEvent)(int8_t phase,
103 const void* category_enabled,
104 const char* name,
105 uint64_t id,
106 uint32_t num_args,
107 const char* arg_names[],
108 const uint8_t arg_types[],
109 const uint64_t arg_values[],
110 uint8_t flags);
111 void (*SetThreadName)(const char* thread_name);
112 };
63 /** 113 /**
64 * @} 114 * @}
65 */ 115 */
66 116
67 #endif /* PPAPI_C_DEV_PPB_TRACE_EVENT_DEV_H_ */ 117 #endif /* PPAPI_C_DEV_PPB_TRACE_EVENT_DEV_H_ */
68 118
OLDNEW
« 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