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

Side by Side Diff: base/trace_event/trace_event_common.h

Issue 1408483002: Add top-level async trace events for the main startup timings. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: added TODO 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 | components/startup_metric_utils/startup_metric_utils.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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 // This header file defines the set of trace_event macros without specifying 5 // This header file defines the set of trace_event macros without specifying
6 // how the events actually get collected and stored. If you need to expose trace 6 // how the events actually get collected and stored. If you need to expose trace
7 // events to some other universe, you can copy-and-paste this file as well as 7 // events to some other universe, you can copy-and-paste this file as well as
8 // trace_event.h, modifying the macros contained there as necessary for the 8 // trace_event.h, modifying the macros contained there as necessary for the
9 // target platform. The end result is that multiple libraries can funnel events 9 // target platform. The end result is that multiple libraries can funnel events
10 // through to a shared trace event collector. 10 // through to a shared trace event collector.
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 TRACE_EVENT_PHASE_ASYNC_BEGIN, category_group, name, id, \ 596 TRACE_EVENT_PHASE_ASYNC_BEGIN, category_group, name, id, \
597 TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val, arg2_name, arg2_val) 597 TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val, arg2_name, arg2_val)
598 598
599 // Similar to TRACE_EVENT_ASYNC_BEGINx but with a custom |at| timestamp 599 // Similar to TRACE_EVENT_ASYNC_BEGINx but with a custom |at| timestamp
600 // provided. 600 // provided.
601 #define TRACE_EVENT_ASYNC_BEGIN_WITH_TIMESTAMP0(category_group, name, id, \ 601 #define TRACE_EVENT_ASYNC_BEGIN_WITH_TIMESTAMP0(category_group, name, id, \
602 timestamp) \ 602 timestamp) \
603 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ 603 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \
604 TRACE_EVENT_PHASE_ASYNC_BEGIN, category_group, name, id, \ 604 TRACE_EVENT_PHASE_ASYNC_BEGIN, category_group, name, id, \
605 TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_NONE) 605 TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_NONE)
606 #define TRACE_EVENT_ASYNC_BEGIN_WITH_TIMESTAMP1( \
607 category_group, name, id, timestamp, arg1_name, arg1_val) \
608 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \
609 TRACE_EVENT_PHASE_ASYNC_BEGIN, category_group, name, id, \
610 TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_NONE, \
611 arg1_name, arg1_val)
606 #define TRACE_EVENT_COPY_ASYNC_BEGIN_WITH_TIMESTAMP0(category_group, name, id, \ 612 #define TRACE_EVENT_COPY_ASYNC_BEGIN_WITH_TIMESTAMP0(category_group, name, id, \
607 timestamp) \ 613 timestamp) \
608 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ 614 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \
609 TRACE_EVENT_PHASE_ASYNC_BEGIN, category_group, name, id, \ 615 TRACE_EVENT_PHASE_ASYNC_BEGIN, category_group, name, id, \
610 TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_COPY) 616 TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_COPY)
611 617
612 // Records a single ASYNC_STEP_INTO event for |step| immediately. If the 618 // Records a single ASYNC_STEP_INTO event for |step| immediately. If the
613 // category is not enabled, then this does nothing. The |name| and |id| must 619 // category is not enabled, then this does nothing. The |name| and |id| must
614 // match the ASYNC_BEGIN event above. The |step| param identifies this step 620 // match the ASYNC_BEGIN event above. The |step| param identifies this step
615 // within the async event. This should be called at the beginning of the next 621 // within the async event. This should be called at the beginning of the next
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 INTERNAL_TRACE_EVENT_ADD_WITH_ID( \ 685 INTERNAL_TRACE_EVENT_ADD_WITH_ID( \
680 TRACE_EVENT_PHASE_ASYNC_END, category_group, name, id, \ 686 TRACE_EVENT_PHASE_ASYNC_END, category_group, name, id, \
681 TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val, arg2_name, arg2_val) 687 TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val, arg2_name, arg2_val)
682 688
683 // Similar to TRACE_EVENT_ASYNC_ENDx but with a custom |at| timestamp provided. 689 // Similar to TRACE_EVENT_ASYNC_ENDx but with a custom |at| timestamp provided.
684 #define TRACE_EVENT_ASYNC_END_WITH_TIMESTAMP0(category_group, name, id, \ 690 #define TRACE_EVENT_ASYNC_END_WITH_TIMESTAMP0(category_group, name, id, \
685 timestamp) \ 691 timestamp) \
686 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ 692 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \
687 TRACE_EVENT_PHASE_ASYNC_END, category_group, name, id, \ 693 TRACE_EVENT_PHASE_ASYNC_END, category_group, name, id, \
688 TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_NONE) 694 TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_NONE)
695 #define TRACE_EVENT_ASYNC_END_WITH_TIMESTAMP1(category_group, name, id, \
696 timestamp, arg1_name, arg1_val) \
697 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \
698 TRACE_EVENT_PHASE_ASYNC_END, category_group, name, id, \
699 TRACE_EVENT_API_CURRENT_THREAD_ID, timestamp, TRACE_EVENT_FLAG_NONE, \
700 arg1_name, arg1_val)
689 701
690 // NESTABLE_ASYNC_* APIs are used to describe an async operation, which can 702 // NESTABLE_ASYNC_* APIs are used to describe an async operation, which can
691 // be nested within a NESTABLE_ASYNC event and/or have inner NESTABLE_ASYNC 703 // be nested within a NESTABLE_ASYNC event and/or have inner NESTABLE_ASYNC
692 // events. 704 // events.
693 // - category and name strings must have application lifetime (statics or 705 // - category and name strings must have application lifetime (statics or
694 // literals). They may not include " chars. 706 // literals). They may not include " chars.
695 // - A pair of NESTABLE_ASYNC_BEGIN event and NESTABLE_ASYNC_END event is 707 // - A pair of NESTABLE_ASYNC_BEGIN event and NESTABLE_ASYNC_END event is
696 // considered as a match if their category_group, name and id all match. 708 // considered as a match if their category_group, name and id all match.
697 // - |id| must either be a pointer or an integer value up to 64 bits. 709 // - |id| must either be a pointer or an integer value up to 64 bits.
698 // If it's a pointer, the bits will be xored with a hash of the process ID so 710 // If it's a pointer, the bits will be xored with a hash of the process ID so
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
1029 1041
1030 // Enum reflecting the scope of an INSTANT event. Must fit within 1042 // Enum reflecting the scope of an INSTANT event. Must fit within
1031 // TRACE_EVENT_FLAG_SCOPE_MASK. 1043 // TRACE_EVENT_FLAG_SCOPE_MASK.
1032 #define TRACE_EVENT_SCOPE_GLOBAL (static_cast<unsigned char>(0 << 3)) 1044 #define TRACE_EVENT_SCOPE_GLOBAL (static_cast<unsigned char>(0 << 3))
1033 #define TRACE_EVENT_SCOPE_PROCESS (static_cast<unsigned char>(1 << 3)) 1045 #define TRACE_EVENT_SCOPE_PROCESS (static_cast<unsigned char>(1 << 3))
1034 #define TRACE_EVENT_SCOPE_THREAD (static_cast<unsigned char>(2 << 3)) 1046 #define TRACE_EVENT_SCOPE_THREAD (static_cast<unsigned char>(2 << 3))
1035 1047
1036 #define TRACE_EVENT_SCOPE_NAME_GLOBAL ('g') 1048 #define TRACE_EVENT_SCOPE_NAME_GLOBAL ('g')
1037 #define TRACE_EVENT_SCOPE_NAME_PROCESS ('p') 1049 #define TRACE_EVENT_SCOPE_NAME_PROCESS ('p')
1038 #define TRACE_EVENT_SCOPE_NAME_THREAD ('t') 1050 #define TRACE_EVENT_SCOPE_NAME_THREAD ('t')
OLDNEW
« no previous file with comments | « no previous file | components/startup_metric_utils/startup_metric_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698