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

Side by Side Diff: runtime/include/dart_tools_api.h

Issue 1367973004: Make timeline use the same clock source as mojo's tracing infrastructure (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 2 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
« no previous file with comments | « no previous file | runtime/vm/dart_api_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 861 matching lines...) Expand 10 before | Expand all | Expand 10 after
872 const char* event_kind, 872 const char* event_kind,
873 const uint8_t* bytes, 873 const uint8_t* bytes,
874 intptr_t bytes_length); 874 intptr_t bytes_length);
875 875
876 /* 876 /*
877 * ======== 877 * ========
878 * Timeline 878 * Timeline
879 * ======== 879 * ========
880 */ 880 */
881 881
882 /**
883 * Returns a timestamp in microseconds. This timestamp is suitable for
884 * passing into the timeline system.
885 *
886 * \return A timestamp that can be passed to the timeline system.
887 */
888 DART_EXPORT int64_t Dart_TimelineGetMicros();
889
882 /** Timeline stream for Dart API calls */ 890 /** Timeline stream for Dart API calls */
883 #define DART_TIMELINE_STREAM_API (1 << 0) 891 #define DART_TIMELINE_STREAM_API (1 << 0)
884 /** Timeline stream for compiler events */ 892 /** Timeline stream for compiler events */
885 #define DART_TIMELINE_STREAM_COMPILER (1 << 1) 893 #define DART_TIMELINE_STREAM_COMPILER (1 << 1)
886 /** Timeline stream for embedder provided events */ 894 /** Timeline stream for embedder provided events */
887 #define DART_TIMELINE_STREAM_EMBEDDER (1 << 2) 895 #define DART_TIMELINE_STREAM_EMBEDDER (1 << 2)
888 /** Timeline stream for GC events */ 896 /** Timeline stream for GC events */
889 #define DART_TIMELINE_STREAM_GC (1 << 3) 897 #define DART_TIMELINE_STREAM_GC (1 << 3)
890 /** Timeline stream for isolate events */ 898 /** Timeline stream for isolate events */
891 #define DART_TIMELINE_STREAM_ISOLATE (1 << 4) 899 #define DART_TIMELINE_STREAM_ISOLATE (1 << 4)
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
969 * \param consumer A Dart_StreamConsumer. 977 * \param consumer A Dart_StreamConsumer.
970 * \param user_data User data passed into consumer. 978 * \param user_data User data passed into consumer.
971 * 979 *
972 * NOTE: The trace-event format is documented here: https://goo.gl/hDZw5M 980 * NOTE: The trace-event format is documented here: https://goo.gl/hDZw5M
973 * 981 *
974 * \return True if a stream was output. 982 * \return True if a stream was output.
975 */ 983 */
976 DART_EXPORT bool Dart_TimelineGetTrace(Dart_StreamConsumer consumer, 984 DART_EXPORT bool Dart_TimelineGetTrace(Dart_StreamConsumer consumer,
977 void* user_data); 985 void* user_data);
978 986
979
980 /** 987 /**
981 * Get the timeline for entire VM (including all isolates). 988 * Get the timeline for entire VM (including all isolates).
982 * 989 *
983 * NOTE: The timeline retrieved from this API call may not include the most 990 * NOTE: The timeline retrieved from this API call may not include the most
984 * recent events. 991 * recent events.
985 * 992 *
986 * \param consumer A Dart_StreamConsumer. 993 * \param consumer A Dart_StreamConsumer.
987 * \param user_data User data passed into consumer. 994 * \param user_data User data passed into consumer.
988 * 995 *
989 * NOTE: The trace-event format is documented here: https://goo.gl/hDZw5M 996 * NOTE: The trace-event format is documented here: https://goo.gl/hDZw5M
990 * 997 *
991 * \return True if a stream was output. 998 * \return True if a stream was output.
992 */ 999 */
993 DART_EXPORT bool Dart_GlobalTimelineGetTrace(Dart_StreamConsumer consumer, 1000 DART_EXPORT bool Dart_GlobalTimelineGetTrace(Dart_StreamConsumer consumer,
994 void* user_data); 1001 void* user_data);
995 1002
996 /** 1003 /**
997 * Add a duration timeline event to the embedder stream for the current isolate. 1004 * Add a duration timeline event to the embedder stream for the current isolate.
998 * 1005 *
999 * \param label The name of the event. 1006 * \param label The name of the event.
1000 * \param start_micros The start of the duration (in microseconds) 1007 * \param start_micros The start of the duration (in microseconds)
1001 * \param end_micros The end of the duration (in microseconds) 1008 * \param end_micros The end of the duration (in microseconds)
1002 * 1009 *
1003 * NOTE: On Posix platforms you should use gettimeofday and on Windows platforms 1010 * NOTE: All timestamps should be acquired from Dart_TimelineGetMicros.
1004 * you should use GetSystemTimeAsFileTime to get the time values.
1005 */ 1011 */
1006 DART_EXPORT Dart_Handle Dart_TimelineDuration(const char* label, 1012 DART_EXPORT Dart_Handle Dart_TimelineDuration(const char* label,
1007 int64_t start_micros, 1013 int64_t start_micros,
1008 int64_t end_micros); 1014 int64_t end_micros);
1009 1015
1010 1016
1011 /** 1017 /**
1012 * Add an instant timeline event to the embedder stream for the current isolate. 1018 * Add an instant timeline event to the embedder stream for the current isolate.
1013 * 1019 *
1014 * \param label The name of event. 1020 * \param label The name of event.
1015 * 1021 *
1016 * NOTE: On Posix platforms this call uses gettimeofday and on Windows platforms 1022 * NOTE: All timestamps should be acquired from Dart_TimelineGetMicros.
1017 * this call uses GetSystemTimeAsFileTime to get the current time.
1018 */ 1023 */
1019 DART_EXPORT Dart_Handle Dart_TimelineInstant(const char* label); 1024 DART_EXPORT Dart_Handle Dart_TimelineInstant(const char* label);
1020 1025
1021 1026
1022 /** 1027 /**
1023 * Adds an asynchronous begin timeline event to the embedder stream for the 1028 * Adds an asynchronous begin timeline event to the embedder stream for the
1024 * current isolate. 1029 * current isolate.
1025 * 1030 *
1026 * \param label The name of event. 1031 * \param label The name of event.
1027 * 1032 *
1028 * \return Returns an asynchronous id that must be passed to 1033 * \return Returns an asynchronous id that must be passed to
1029 * Dart_TimelineAsyncInstant and Dart_TimelineAsyncEnd. If the asynchronous 1034 * Dart_TimelineAsyncInstant and Dart_TimelineAsyncEnd. If the asynchronous
1030 * id is less than 0 the event was not added to the timeline and subsequent 1035 * id is less than 0 the event was not added to the timeline and subsequent
1031 * calls to Dart_TimelineAsyncInstant and Dart_TimelineAsyncEnd will become 1036 * calls to Dart_TimelineAsyncInstant and Dart_TimelineAsyncEnd will become
1032 * no-ops. 1037 * no-ops.
1033 * 1038 *
1034 * NOTE: On Posix platforms this call uses gettimeofday and on Windows platforms 1039 * NOTE: All timestamps should be acquired from Dart_TimelineGetMicros.
1035 * this call uses GetSystemTimeAsFileTime to get the current time.
1036 */ 1040 */
1037 DART_EXPORT Dart_Handle Dart_TimelineAsyncBegin(const char* label, 1041 DART_EXPORT Dart_Handle Dart_TimelineAsyncBegin(const char* label,
1038 int64_t* async_id); 1042 int64_t* async_id);
1039 1043
1040 1044
1041 /** 1045 /**
1042 * Adds an asynchronous instant timeline event to the embedder stream for the 1046 * Adds an asynchronous instant timeline event to the embedder stream for the
1043 * current isolate. 1047 * current isolate.
1044 * 1048 *
1045 * \param label The name of event. 1049 * \param label The name of event.
1046 * 1050 *
1047 * \return Returns an asynchronous id that must be passed to 1051 * \return Returns an asynchronous id that must be passed to
1048 * Dart_TimelineAsyncInstant and Dart_TimelineAsyncEnd. 1052 * Dart_TimelineAsyncInstant and Dart_TimelineAsyncEnd.
1049 * 1053 *
1050 * NOTE: On Posix platforms this call uses gettimeofday and on Windows platforms 1054 * NOTE: All timestamps should be acquired from Dart_TimelineGetMicros.
1051 * this call uses GetSystemTimeAsFileTime to get the current time.
1052 */ 1055 */
1053 DART_EXPORT Dart_Handle Dart_TimelineAsyncInstant(const char* label, 1056 DART_EXPORT Dart_Handle Dart_TimelineAsyncInstant(const char* label,
1054 int64_t async_id); 1057 int64_t async_id);
1055 1058
1056 1059
1057 /** 1060 /**
1058 * Adds an asynchronous end timeline event to the embedder stream for the 1061 * Adds an asynchronous end timeline event to the embedder stream for the
1059 * current isolate. 1062 * current isolate.
1060 * 1063 *
1061 * \param label The name of event. 1064 * \param label The name of event.
1062 * 1065 *
1063 * \return Returns an asynchronous id that must be passed to 1066 * \return Returns an asynchronous id that must be passed to
1064 * Dart_TimelineAsyncInstant and Dart_TimelineAsyncEnd. 1067 * Dart_TimelineAsyncInstant and Dart_TimelineAsyncEnd.
1065 * 1068 *
1066 * NOTE: On Posix platforms this call uses gettimeofday and on Windows platforms 1069 * NOTE: All timestamps should be acquired from Dart_TimelineGetMicros.
1067 * this call uses GetSystemTimeAsFileTime to get the current time.
1068 */ 1070 */
1069 DART_EXPORT Dart_Handle Dart_TimelineAsyncEnd(const char* label, 1071 DART_EXPORT Dart_Handle Dart_TimelineAsyncEnd(const char* label,
1070 int64_t async_id); 1072 int64_t async_id);
1071 1073
1072 #endif // INCLUDE_DART_TOOLS_API_H_ 1074 #endif // INCLUDE_DART_TOOLS_API_H_
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/dart_api_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698