OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef INCLUDE_DART_TOOLS_API_H_ | 5 #ifndef INCLUDE_DART_TOOLS_API_H_ |
6 #define INCLUDE_DART_TOOLS_API_H_ | 6 #define INCLUDE_DART_TOOLS_API_H_ |
7 | 7 |
8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" |
9 | 9 |
10 /** \mainpage Dart Tools Embedding API Reference | 10 /** \mainpage Dart Tools Embedding API Reference |
(...skipping 996 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1007 */ | 1007 */ |
1008 DART_EXPORT void Dart_TimelineEvent(const char* label, | 1008 DART_EXPORT void Dart_TimelineEvent(const char* label, |
1009 int64_t timestamp0, | 1009 int64_t timestamp0, |
1010 int64_t timestamp1_or_async_id, | 1010 int64_t timestamp1_or_async_id, |
1011 Dart_Timeline_Event_Type type, | 1011 Dart_Timeline_Event_Type type, |
1012 intptr_t argument_count, | 1012 intptr_t argument_count, |
1013 const char** argument_names, | 1013 const char** argument_names, |
1014 const char** argument_values); | 1014 const char** argument_values); |
1015 | 1015 |
1016 /** | 1016 /** |
1017 * Add a duration timeline event to the embedder stream. | |
1018 * | |
1019 * \param label The name of the event. | |
1020 * \param start_micros The start of the duration (in microseconds) | |
1021 * \param end_micros The end of the duration (in microseconds) | |
1022 * | |
1023 * NOTE: All timestamps should be acquired from Dart_TimelineGetMicros. | |
1024 */ | |
1025 DART_EXPORT void Dart_TimelineDuration(const char* label, | |
1026 int64_t start_micros, | |
1027 int64_t end_micros); | |
1028 | |
1029 | |
1030 /** | |
1031 * Add an instant timeline event to the embedder stream. | |
1032 * | |
1033 * \param label The name of event. | |
1034 * | |
1035 * NOTE: All timestamps should be acquired from Dart_TimelineGetMicros. | |
1036 */ | |
1037 DART_EXPORT void Dart_TimelineInstant(const char* label); | |
1038 | |
1039 | |
1040 /** | |
1041 * Adds an asynchronous begin timeline event to the embedder stream. | |
1042 * | |
1043 * \param label The name of event. | |
1044 * \param async_id Pointer that receives the asynchronous id for this async | |
1045 * operation. If it is less than 0 the event was not added to the timeline. | |
1046 * | |
1047 * NOTE: All timestamps should be acquired from Dart_TimelineGetMicros. | |
1048 */ | |
1049 DART_EXPORT void Dart_TimelineAsyncBegin(const char* label, | |
1050 int64_t* async_id); | |
1051 | |
1052 | |
1053 /** | |
1054 * Adds an asynchronous instant timeline event to the embedder stream. | |
1055 * | |
1056 * \param label The name of event. | |
1057 * \param async_id the asynchronous id received by Dart_TimelineAsyncBegin. | |
1058 * | |
1059 * NOTE: All timestamps should be acquired from Dart_TimelineGetMicros. | |
1060 */ | |
1061 DART_EXPORT void Dart_TimelineAsyncInstant(const char* label, | |
1062 int64_t async_id); | |
1063 | |
1064 | |
1065 /** | |
1066 * Adds an asynchronous end timeline event to the embedder stream. | |
1067 * | |
1068 * \param label The name of event. | |
1069 * \param async_id the asynchronous id received by Dart_TimelineAsyncBegin. | |
1070 * | |
1071 * NOTE: All timestamps should be acquired from Dart_TimelineGetMicros. | |
1072 */ | |
1073 DART_EXPORT void Dart_TimelineAsyncEnd(const char* label, | |
1074 int64_t async_id); | |
1075 | |
1076 | |
1077 /** | |
1078 * Called by the VM to let the embedder know when to start recording into the | 1017 * Called by the VM to let the embedder know when to start recording into the |
1079 * timeline. Can be called from any thread. | 1018 * timeline. Can be called from any thread. |
1080 */ | 1019 */ |
1081 typedef void (*Dart_EmbedderTimelineStartRecording)(); | 1020 typedef void (*Dart_EmbedderTimelineStartRecording)(); |
1082 | 1021 |
1083 /** | 1022 /** |
1084 * Called by the VM to let the embedder know when to stop recording into the | 1023 * Called by the VM to let the embedder know when to stop recording into the |
1085 * timeline. Can be called from any thread. | 1024 * timeline. Can be called from any thread. |
1086 */ | 1025 */ |
1087 typedef void (*Dart_EmbedderTimelineStopRecording)(); | 1026 typedef void (*Dart_EmbedderTimelineStopRecording)(); |
1088 | 1027 |
1089 /** | 1028 /** |
1090 * Sets the embedder timeline callbacks. These callbacks are used by the VM | 1029 * Sets the embedder timeline callbacks. These callbacks are used by the VM |
1091 * to notify the embedder of timeline recording state changes. | 1030 * to notify the embedder of timeline recording state changes. |
1092 * | 1031 * |
1093 * \param start_recording See Dart_EmbedderTimelineStartRecording. | 1032 * \param start_recording See Dart_EmbedderTimelineStartRecording. |
1094 * \param stop_recording See Dart_EmbedderTimelineStopRecording. | 1033 * \param stop_recording See Dart_EmbedderTimelineStopRecording. |
1095 * | 1034 * |
1096 * NOTE: To avoid races, this should be called before Dart_Initialize. | 1035 * NOTE: To avoid races, this should be called before Dart_Initialize. |
1097 */ | 1036 */ |
1098 DART_EXPORT void Dart_SetEmbedderTimelineCallbacks( | 1037 DART_EXPORT void Dart_SetEmbedderTimelineCallbacks( |
1099 Dart_EmbedderTimelineStartRecording start_recording, | 1038 Dart_EmbedderTimelineStartRecording start_recording, |
1100 Dart_EmbedderTimelineStopRecording stop_recording); | 1039 Dart_EmbedderTimelineStopRecording stop_recording); |
1101 | 1040 |
1102 #endif // INCLUDE_DART_TOOLS_API_H_ | 1041 #endif // INCLUDE_DART_TOOLS_API_H_ |
OLD | NEW |