| OLD | NEW |
| 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 #ifndef BASE_TRACE_EVENT_TRACE_EVENT_H_ | 5 #ifndef BASE_TRACE_EVENT_TRACE_EVENT_H_ |
| 6 #define BASE_TRACE_EVENT_TRACE_EVENT_H_ | 6 #define BASE_TRACE_EVENT_TRACE_EVENT_H_ |
| 7 | 7 |
| 8 // This header file defines implementation details of how the trace macros in | 8 // This header file defines implementation details of how the trace macros in |
| 9 // trace_event_common.h collect and store trace events. Anything not | 9 // trace_event_common.h collect and store trace events. Anything not |
| 10 // implementation-specific should go in trace_macros_common.h instead of here. | 10 // implementation-specific should go in trace_macros_common.h instead of here. |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 // base::trace_event::TraceEventHandle TRACE_EVENT_API_ADD_TRACE_EVENT( | 103 // base::trace_event::TraceEventHandle TRACE_EVENT_API_ADD_TRACE_EVENT( |
| 104 // char phase, | 104 // char phase, |
| 105 // const unsigned char* category_group_enabled, | 105 // const unsigned char* category_group_enabled, |
| 106 // const char* name, | 106 // const char* name, |
| 107 // const char* scope, | 107 // const char* scope, |
| 108 // unsigned long long id, | 108 // unsigned long long id, |
| 109 // int num_args, | 109 // int num_args, |
| 110 // const char** arg_names, | 110 // const char** arg_names, |
| 111 // const unsigned char* arg_types, | 111 // const unsigned char* arg_types, |
| 112 // const unsigned long long* arg_values, | 112 // const unsigned long long* arg_values, |
| 113 // const scoped_refptr<ConvertableToTraceFormat>* | 113 // scoped_ptr<ConvertableToTraceFormat>* |
| 114 // convertable_values, | 114 // convertable_values, |
| 115 // unsigned int flags) | 115 // unsigned int flags) |
| 116 #define TRACE_EVENT_API_ADD_TRACE_EVENT \ | 116 #define TRACE_EVENT_API_ADD_TRACE_EVENT \ |
| 117 base::trace_event::TraceLog::GetInstance()->AddTraceEvent | 117 base::trace_event::TraceLog::GetInstance()->AddTraceEvent |
| 118 | 118 |
| 119 // Add a trace event to the platform tracing system. | 119 // Add a trace event to the platform tracing system. |
| 120 // base::trace_event::TraceEventHandle | 120 // base::trace_event::TraceEventHandle |
| 121 // TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_BIND_ID( | 121 // TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_BIND_ID( |
| 122 // char phase, | 122 // char phase, |
| 123 // const unsigned char* category_group_enabled, | 123 // const unsigned char* category_group_enabled, |
| 124 // const char* name, | 124 // const char* name, |
| 125 // const char* scope, | 125 // const char* scope, |
| 126 // unsigned long long id, | 126 // unsigned long long id, |
| 127 // unsigned long long bind_id, | 127 // unsigned long long bind_id, |
| 128 // int num_args, | 128 // int num_args, |
| 129 // const char** arg_names, | 129 // const char** arg_names, |
| 130 // const unsigned char* arg_types, | 130 // const unsigned char* arg_types, |
| 131 // const unsigned long long* arg_values, | 131 // const unsigned long long* arg_values, |
| 132 // const scoped_refptr<ConvertableToTraceFormat>* | 132 // scoped_ptr<ConvertableToTraceFormat>* |
| 133 // convertable_values, | 133 // convertable_values, |
| 134 // unsigned int flags) | 134 // unsigned int flags) |
| 135 #define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_BIND_ID \ | 135 #define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_BIND_ID \ |
| 136 base::trace_event::TraceLog::GetInstance()->AddTraceEventWithBindId | 136 base::trace_event::TraceLog::GetInstance()->AddTraceEventWithBindId |
| 137 | 137 |
| 138 // Add a trace event to the platform tracing system overriding the pid. | 138 // Add a trace event to the platform tracing system overriding the pid. |
| 139 // The resulting event will have tid = pid == (process_id passed here). | 139 // The resulting event will have tid = pid == (process_id passed here). |
| 140 // base::trace_event::TraceEventHandle | 140 // base::trace_event::TraceEventHandle |
| 141 // TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_PROCESS_ID( | 141 // TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_PROCESS_ID( |
| 142 // char phase, | 142 // char phase, |
| 143 // const unsigned char* category_group_enabled, | 143 // const unsigned char* category_group_enabled, |
| 144 // const char* name, | 144 // const char* name, |
| 145 // const char* scope, | 145 // const char* scope, |
| 146 // unsigned long long id, | 146 // unsigned long long id, |
| 147 // int process_id, | 147 // int process_id, |
| 148 // int num_args, | 148 // int num_args, |
| 149 // const char** arg_names, | 149 // const char** arg_names, |
| 150 // const unsigned char* arg_types, | 150 // const unsigned char* arg_types, |
| 151 // const unsigned long long* arg_values, | 151 // const unsigned long long* arg_values, |
| 152 // const scoped_refptr<ConvertableToTraceFormat>* | 152 // scoped_ptr<ConvertableToTraceFormat>* |
| 153 // convertable_values, | 153 // convertable_values, |
| 154 // unsigned int flags) | 154 // unsigned int flags) |
| 155 #define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_PROCESS_ID \ | 155 #define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_PROCESS_ID \ |
| 156 base::trace_event::TraceLog::GetInstance()->AddTraceEventWithProcessId | 156 base::trace_event::TraceLog::GetInstance()->AddTraceEventWithProcessId |
| 157 | 157 |
| 158 // Add a trace event to the platform tracing system. | 158 // Add a trace event to the platform tracing system. |
| 159 // base::trace_event::TraceEventHandle | 159 // base::trace_event::TraceEventHandle |
| 160 // TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_TIMESTAMP( | 160 // TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_TIMESTAMP( |
| 161 // char phase, | 161 // char phase, |
| 162 // const unsigned char* category_group_enabled, | 162 // const unsigned char* category_group_enabled, |
| 163 // const char* name, | 163 // const char* name, |
| 164 // const char* scope, | 164 // const char* scope, |
| 165 // unsigned long long id, | 165 // unsigned long long id, |
| 166 // int thread_id, | 166 // int thread_id, |
| 167 // const TimeTicks& timestamp, | 167 // const TimeTicks& timestamp, |
| 168 // int num_args, | 168 // int num_args, |
| 169 // const char** arg_names, | 169 // const char** arg_names, |
| 170 // const unsigned char* arg_types, | 170 // const unsigned char* arg_types, |
| 171 // const unsigned long long* arg_values, | 171 // const unsigned long long* arg_values, |
| 172 // const scoped_refptr<ConvertableToTraceFormat>* | 172 // scoped_ptr<ConvertableToTraceFormat>* |
| 173 // convertable_values, | 173 // convertable_values, |
| 174 // unsigned int flags) | 174 // unsigned int flags) |
| 175 #define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP \ | 175 #define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP \ |
| 176 base::trace_event::TraceLog::GetInstance() \ | 176 base::trace_event::TraceLog::GetInstance() \ |
| 177 ->AddTraceEventWithThreadIdAndTimestamp | 177 ->AddTraceEventWithThreadIdAndTimestamp |
| 178 | 178 |
| 179 // Set the duration field of a COMPLETE trace event. | 179 // Set the duration field of a COMPLETE trace event. |
| 180 // void TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION( | 180 // void TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION( |
| 181 // const unsigned char* category_group_enabled, | 181 // const unsigned char* category_group_enabled, |
| 182 // const char* name, | 182 // const char* name, |
| 183 // base::trace_event::TraceEventHandle id) | 183 // base::trace_event::TraceEventHandle id) |
| 184 #define TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION \ | 184 #define TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION \ |
| 185 base::trace_event::TraceLog::GetInstance()->UpdateTraceEventDuration | 185 base::trace_event::TraceLog::GetInstance()->UpdateTraceEventDuration |
| 186 | 186 |
| 187 // Adds a metadata event to the trace log. The |AppendValueAsTraceFormat| method | 187 // Adds a metadata event to the trace log. The |AppendValueAsTraceFormat| method |
| 188 // on the convertable value will be called at flush time. | 188 // on the convertable value will be called at flush time. |
| 189 // TRACE_EVENT_API_ADD_METADATA_EVENT( | 189 // TRACE_EVENT_API_ADD_METADATA_EVENT( |
| 190 // const char* event_name, | 190 // const char* event_name, |
| 191 // const char* arg_name, | 191 // const char* arg_name, |
| 192 // scoped_refptr<ConvertableToTraceFormat> arg_value) | 192 // scoped_ptr<ConvertableToTraceFormat> arg_value) |
| 193 #define TRACE_EVENT_API_ADD_METADATA_EVENT \ | 193 #define TRACE_EVENT_API_ADD_METADATA_EVENT \ |
| 194 trace_event_internal::AddMetadataEvent | 194 trace_event_internal::AddMetadataEvent |
| 195 | 195 |
| 196 // Defines atomic operations used internally by the tracing system. | 196 // Defines atomic operations used internally by the tracing system. |
| 197 #define TRACE_EVENT_API_ATOMIC_WORD base::subtle::AtomicWord | 197 #define TRACE_EVENT_API_ATOMIC_WORD base::subtle::AtomicWord |
| 198 #define TRACE_EVENT_API_ATOMIC_LOAD(var) base::subtle::NoBarrier_Load(&(var)) | 198 #define TRACE_EVENT_API_ATOMIC_LOAD(var) base::subtle::NoBarrier_Load(&(var)) |
| 199 #define TRACE_EVENT_API_ATOMIC_STORE(var, value) \ | 199 #define TRACE_EVENT_API_ATOMIC_STORE(var, value) \ |
| 200 base::subtle::NoBarrier_Store(&(var), (value)) | 200 base::subtle::NoBarrier_Store(&(var), (value)) |
| 201 | 201 |
| 202 // Defines visibility for classes in trace_event.h | 202 // Defines visibility for classes in trace_event.h |
| (...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 603 char phase, | 603 char phase, |
| 604 const unsigned char* category_group_enabled, | 604 const unsigned char* category_group_enabled, |
| 605 const char* name, | 605 const char* name, |
| 606 const char* scope, | 606 const char* scope, |
| 607 unsigned long long id, | 607 unsigned long long id, |
| 608 int thread_id, | 608 int thread_id, |
| 609 const base::TimeTicks& timestamp, | 609 const base::TimeTicks& timestamp, |
| 610 unsigned int flags, | 610 unsigned int flags, |
| 611 unsigned long long bind_id, | 611 unsigned long long bind_id, |
| 612 const char* arg1_name, | 612 const char* arg1_name, |
| 613 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& | 613 scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg1_val) { |
| 614 arg1_val) { | |
| 615 const int num_args = 1; | 614 const int num_args = 1; |
| 616 unsigned char arg_types[1] = { TRACE_VALUE_TYPE_CONVERTABLE }; | 615 unsigned char arg_types[1] = { TRACE_VALUE_TYPE_CONVERTABLE }; |
| 617 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( | 616 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
| 618 phase, category_group_enabled, name, scope, id, bind_id, thread_id, | 617 phase, category_group_enabled, name, scope, id, bind_id, thread_id, |
| 619 timestamp, num_args, &arg1_name, arg_types, NULL, &arg1_val, flags); | 618 timestamp, num_args, &arg1_name, arg_types, NULL, &arg1_val, flags); |
| 620 } | 619 } |
| 621 | 620 |
| 622 template<class ARG1_TYPE> | 621 template <class ARG1_TYPE> |
| 623 static inline base::trace_event::TraceEventHandle | 622 static inline base::trace_event::TraceEventHandle |
| 624 AddTraceEventWithThreadIdAndTimestamp( | 623 AddTraceEventWithThreadIdAndTimestamp( |
| 625 char phase, | 624 char phase, |
| 626 const unsigned char* category_group_enabled, | 625 const unsigned char* category_group_enabled, |
| 627 const char* name, | 626 const char* name, |
| 628 const char* scope, | 627 const char* scope, |
| 629 unsigned long long id, | 628 unsigned long long id, |
| 630 int thread_id, | 629 int thread_id, |
| 631 const base::TimeTicks& timestamp, | 630 const base::TimeTicks& timestamp, |
| 632 unsigned int flags, | 631 unsigned int flags, |
| 633 unsigned long long bind_id, | 632 unsigned long long bind_id, |
| 634 const char* arg1_name, | 633 const char* arg1_name, |
| 635 const ARG1_TYPE& arg1_val, | 634 const ARG1_TYPE& arg1_val, |
| 636 const char* arg2_name, | 635 const char* arg2_name, |
| 637 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& | 636 scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg2_val) { |
| 638 arg2_val) { | |
| 639 const int num_args = 2; | 637 const int num_args = 2; |
| 640 const char* arg_names[2] = { arg1_name, arg2_name }; | 638 const char* arg_names[2] = { arg1_name, arg2_name }; |
| 641 | 639 |
| 642 unsigned char arg_types[2]; | 640 unsigned char arg_types[2]; |
| 643 unsigned long long arg_values[2]; | 641 unsigned long long arg_values[2]; |
| 644 SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); | 642 SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); |
| 645 arg_types[1] = TRACE_VALUE_TYPE_CONVERTABLE; | 643 arg_types[1] = TRACE_VALUE_TYPE_CONVERTABLE; |
| 646 | 644 |
| 647 scoped_refptr<base::trace_event::ConvertableToTraceFormat> | 645 scoped_ptr<base::trace_event::ConvertableToTraceFormat> convertable_values[2]; |
| 648 convertable_values[2]; | 646 convertable_values[1] = std::move(arg2_val); |
| 649 convertable_values[1] = arg2_val; | |
| 650 | 647 |
| 651 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( | 648 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
| 652 phase, category_group_enabled, name, scope, id, bind_id, thread_id, | 649 phase, category_group_enabled, name, scope, id, bind_id, thread_id, |
| 653 timestamp, num_args, arg_names, arg_types, arg_values, convertable_values, | 650 timestamp, num_args, arg_names, arg_types, arg_values, convertable_values, |
| 654 flags); | 651 flags); |
| 655 } | 652 } |
| 656 | 653 |
| 657 template<class ARG2_TYPE> | 654 template <class ARG2_TYPE> |
| 658 static inline base::trace_event::TraceEventHandle | 655 static inline base::trace_event::TraceEventHandle |
| 659 AddTraceEventWithThreadIdAndTimestamp( | 656 AddTraceEventWithThreadIdAndTimestamp( |
| 660 char phase, | 657 char phase, |
| 661 const unsigned char* category_group_enabled, | 658 const unsigned char* category_group_enabled, |
| 662 const char* name, | 659 const char* name, |
| 663 const char* scope, | 660 const char* scope, |
| 664 unsigned long long id, | 661 unsigned long long id, |
| 665 int thread_id, | 662 int thread_id, |
| 666 const base::TimeTicks& timestamp, | 663 const base::TimeTicks& timestamp, |
| 667 unsigned int flags, | 664 unsigned int flags, |
| 668 unsigned long long bind_id, | 665 unsigned long long bind_id, |
| 669 const char* arg1_name, | 666 const char* arg1_name, |
| 670 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val, | 667 scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg1_val, |
| 671 const char* arg2_name, | 668 const char* arg2_name, |
| 672 const ARG2_TYPE& arg2_val) { | 669 const ARG2_TYPE& arg2_val) { |
| 673 const int num_args = 2; | 670 const int num_args = 2; |
| 674 const char* arg_names[2] = { arg1_name, arg2_name }; | 671 const char* arg_names[2] = { arg1_name, arg2_name }; |
| 675 | 672 |
| 676 unsigned char arg_types[2]; | 673 unsigned char arg_types[2]; |
| 677 unsigned long long arg_values[2]; | 674 unsigned long long arg_values[2]; |
| 678 arg_types[0] = TRACE_VALUE_TYPE_CONVERTABLE; | 675 arg_types[0] = TRACE_VALUE_TYPE_CONVERTABLE; |
| 679 arg_values[0] = 0; | 676 arg_values[0] = 0; |
| 680 SetTraceValue(arg2_val, &arg_types[1], &arg_values[1]); | 677 SetTraceValue(arg2_val, &arg_types[1], &arg_values[1]); |
| 681 | 678 |
| 682 scoped_refptr<base::trace_event::ConvertableToTraceFormat> | 679 scoped_ptr<base::trace_event::ConvertableToTraceFormat> convertable_values[2]; |
| 683 convertable_values[2]; | 680 convertable_values[0] = std::move(arg1_val); |
| 684 convertable_values[0] = arg1_val; | |
| 685 | 681 |
| 686 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( | 682 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
| 687 phase, category_group_enabled, name, scope, id, bind_id, thread_id, | 683 phase, category_group_enabled, name, scope, id, bind_id, thread_id, |
| 688 timestamp, num_args, arg_names, arg_types, arg_values, convertable_values, | 684 timestamp, num_args, arg_names, arg_types, arg_values, convertable_values, |
| 689 flags); | 685 flags); |
| 690 } | 686 } |
| 691 | 687 |
| 692 static inline base::trace_event::TraceEventHandle | 688 static inline base::trace_event::TraceEventHandle |
| 693 AddTraceEventWithThreadIdAndTimestamp( | 689 AddTraceEventWithThreadIdAndTimestamp( |
| 694 char phase, | 690 char phase, |
| 695 const unsigned char* category_group_enabled, | 691 const unsigned char* category_group_enabled, |
| 696 const char* name, | 692 const char* name, |
| 697 const char* scope, | 693 const char* scope, |
| 698 unsigned long long id, | 694 unsigned long long id, |
| 699 int thread_id, | 695 int thread_id, |
| 700 const base::TimeTicks& timestamp, | 696 const base::TimeTicks& timestamp, |
| 701 unsigned int flags, | 697 unsigned int flags, |
| 702 unsigned long long bind_id, | 698 unsigned long long bind_id, |
| 703 const char* arg1_name, | 699 const char* arg1_name, |
| 704 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val, | 700 scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg1_val, |
| 705 const char* arg2_name, | 701 const char* arg2_name, |
| 706 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& | 702 scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg2_val) { |
| 707 arg2_val) { | |
| 708 const int num_args = 2; | 703 const int num_args = 2; |
| 709 const char* arg_names[2] = { arg1_name, arg2_name }; | 704 const char* arg_names[2] = { arg1_name, arg2_name }; |
| 710 unsigned char arg_types[2] = | 705 unsigned char arg_types[2] = |
| 711 { TRACE_VALUE_TYPE_CONVERTABLE, TRACE_VALUE_TYPE_CONVERTABLE }; | 706 { TRACE_VALUE_TYPE_CONVERTABLE, TRACE_VALUE_TYPE_CONVERTABLE }; |
| 712 scoped_refptr<base::trace_event::ConvertableToTraceFormat> | 707 scoped_ptr<base::trace_event::ConvertableToTraceFormat> |
| 713 convertable_values[2] = {arg1_val, arg2_val}; | 708 convertable_values[2] = {std::move(arg1_val), std::move(arg2_val)}; |
| 714 | 709 |
| 715 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( | 710 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
| 716 phase, category_group_enabled, name, scope, id, bind_id, thread_id, | 711 phase, category_group_enabled, name, scope, id, bind_id, thread_id, |
| 717 timestamp, num_args, arg_names, arg_types, NULL, convertable_values, | 712 timestamp, num_args, arg_names, arg_types, NULL, convertable_values, |
| 718 flags); | 713 flags); |
| 719 } | 714 } |
| 720 | 715 |
| 721 static inline base::trace_event::TraceEventHandle | 716 static inline base::trace_event::TraceEventHandle |
| 722 AddTraceEventWithThreadIdAndTimestamp( | 717 AddTraceEventWithThreadIdAndTimestamp( |
| 723 char phase, | 718 char phase, |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 765 const ARG1_TYPE& arg1_val) { | 760 const ARG1_TYPE& arg1_val) { |
| 766 const int num_args = 1; | 761 const int num_args = 1; |
| 767 unsigned char arg_types[1]; | 762 unsigned char arg_types[1]; |
| 768 unsigned long long arg_values[1]; | 763 unsigned long long arg_values[1]; |
| 769 SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); | 764 SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); |
| 770 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( | 765 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
| 771 phase, category_group_enabled, name, scope, id, bind_id, thread_id, | 766 phase, category_group_enabled, name, scope, id, bind_id, thread_id, |
| 772 timestamp, num_args, &arg1_name, arg_types, arg_values, NULL, flags); | 767 timestamp, num_args, &arg1_name, arg_types, arg_values, NULL, flags); |
| 773 } | 768 } |
| 774 | 769 |
| 770 static inline base::trace_event::TraceEventHandle AddTraceEvent( |
| 771 char phase, |
| 772 const unsigned char* category_group_enabled, |
| 773 const char* name, |
| 774 const char* scope, |
| 775 unsigned long long id, |
| 776 unsigned int flags, |
| 777 unsigned long long bind_id, |
| 778 const char* arg1_name, |
| 779 scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg1_val) { |
| 780 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); |
| 781 base::TimeTicks now = base::TimeTicks::Now(); |
| 782 return AddTraceEventWithThreadIdAndTimestamp( |
| 783 phase, category_group_enabled, name, scope, id, thread_id, now, flags, |
| 784 bind_id, arg1_name, std::move(arg1_val)); |
| 785 } |
| 786 |
| 775 template<class ARG1_TYPE> | 787 template<class ARG1_TYPE> |
| 776 static inline base::trace_event::TraceEventHandle AddTraceEvent( | 788 static inline base::trace_event::TraceEventHandle AddTraceEvent( |
| 777 char phase, | 789 char phase, |
| 778 const unsigned char* category_group_enabled, | 790 const unsigned char* category_group_enabled, |
| 779 const char* name, | 791 const char* name, |
| 780 const char* scope, | 792 const char* scope, |
| 781 unsigned long long id, | 793 unsigned long long id, |
| 782 unsigned int flags, | 794 unsigned int flags, |
| 783 unsigned long long bind_id, | 795 unsigned long long bind_id, |
| 784 const char* arg1_name, | 796 const char* arg1_name, |
| (...skipping 25 matching lines...) Expand all Loading... |
| 810 const char* arg_names[2] = { arg1_name, arg2_name }; | 822 const char* arg_names[2] = { arg1_name, arg2_name }; |
| 811 unsigned char arg_types[2]; | 823 unsigned char arg_types[2]; |
| 812 unsigned long long arg_values[2]; | 824 unsigned long long arg_values[2]; |
| 813 SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); | 825 SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); |
| 814 SetTraceValue(arg2_val, &arg_types[1], &arg_values[1]); | 826 SetTraceValue(arg2_val, &arg_types[1], &arg_values[1]); |
| 815 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( | 827 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
| 816 phase, category_group_enabled, name, scope, id, bind_id, thread_id, | 828 phase, category_group_enabled, name, scope, id, bind_id, thread_id, |
| 817 timestamp, num_args, arg_names, arg_types, arg_values, NULL, flags); | 829 timestamp, num_args, arg_names, arg_types, arg_values, NULL, flags); |
| 818 } | 830 } |
| 819 | 831 |
| 832 template <class ARG2_TYPE> |
| 833 static inline base::trace_event::TraceEventHandle AddTraceEvent( |
| 834 char phase, |
| 835 const unsigned char* category_group_enabled, |
| 836 const char* name, |
| 837 const char* scope, |
| 838 unsigned long long id, |
| 839 unsigned int flags, |
| 840 unsigned long long bind_id, |
| 841 const char* arg1_name, |
| 842 scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg1_val, |
| 843 const char* arg2_name, |
| 844 const ARG2_TYPE& arg2_val) { |
| 845 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); |
| 846 base::TimeTicks now = base::TimeTicks::Now(); |
| 847 return AddTraceEventWithThreadIdAndTimestamp( |
| 848 phase, category_group_enabled, name, scope, id, thread_id, now, flags, |
| 849 bind_id, arg1_name, std::move(arg1_val), arg2_name, arg2_val); |
| 850 } |
| 851 |
| 852 template <class ARG1_TYPE> |
| 853 static inline base::trace_event::TraceEventHandle AddTraceEvent( |
| 854 char phase, |
| 855 const unsigned char* category_group_enabled, |
| 856 const char* name, |
| 857 const char* scope, |
| 858 unsigned long long id, |
| 859 unsigned int flags, |
| 860 unsigned long long bind_id, |
| 861 const char* arg1_name, |
| 862 const ARG1_TYPE& arg1_val, |
| 863 const char* arg2_name, |
| 864 scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg2_val) { |
| 865 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); |
| 866 base::TimeTicks now = base::TimeTicks::Now(); |
| 867 return AddTraceEventWithThreadIdAndTimestamp( |
| 868 phase, category_group_enabled, name, scope, id, thread_id, now, flags, |
| 869 bind_id, arg1_name, arg1_val, arg2_name, std::move(arg2_val)); |
| 870 } |
| 871 |
| 872 static inline base::trace_event::TraceEventHandle AddTraceEvent( |
| 873 char phase, |
| 874 const unsigned char* category_group_enabled, |
| 875 const char* name, |
| 876 const char* scope, |
| 877 unsigned long long id, |
| 878 unsigned int flags, |
| 879 unsigned long long bind_id, |
| 880 const char* arg1_name, |
| 881 scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg1_val, |
| 882 const char* arg2_name, |
| 883 scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg2_val) { |
| 884 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); |
| 885 base::TimeTicks now = base::TimeTicks::Now(); |
| 886 return AddTraceEventWithThreadIdAndTimestamp( |
| 887 phase, category_group_enabled, name, scope, id, thread_id, now, flags, |
| 888 bind_id, arg1_name, std::move(arg1_val), arg2_name, std::move(arg2_val)); |
| 889 } |
| 890 |
| 820 template<class ARG1_TYPE, class ARG2_TYPE> | 891 template<class ARG1_TYPE, class ARG2_TYPE> |
| 821 static inline base::trace_event::TraceEventHandle AddTraceEvent( | 892 static inline base::trace_event::TraceEventHandle AddTraceEvent( |
| 822 char phase, | 893 char phase, |
| 823 const unsigned char* category_group_enabled, | 894 const unsigned char* category_group_enabled, |
| 824 const char* name, | 895 const char* name, |
| 825 const char* scope, | 896 const char* scope, |
| 826 unsigned long long id, | 897 unsigned long long id, |
| 827 unsigned int flags, | 898 unsigned int flags, |
| 828 unsigned long long bind_id, | 899 unsigned long long bind_id, |
| 829 const char* arg1_name, | 900 const char* arg1_name, |
| 830 const ARG1_TYPE& arg1_val, | 901 const ARG1_TYPE& arg1_val, |
| 831 const char* arg2_name, | 902 const char* arg2_name, |
| 832 const ARG2_TYPE& arg2_val) { | 903 const ARG2_TYPE& arg2_val) { |
| 833 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); | 904 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); |
| 834 base::TimeTicks now = base::TimeTicks::Now(); | 905 base::TimeTicks now = base::TimeTicks::Now(); |
| 835 return AddTraceEventWithThreadIdAndTimestamp( | 906 return AddTraceEventWithThreadIdAndTimestamp( |
| 836 phase, category_group_enabled, name, scope, id, thread_id, now, flags, | 907 phase, category_group_enabled, name, scope, id, thread_id, now, flags, |
| 837 bind_id, arg1_name, arg1_val, arg2_name, arg2_val); | 908 bind_id, arg1_name, arg1_val, arg2_name, arg2_val); |
| 838 } | 909 } |
| 839 | 910 |
| 840 static inline void AddMetadataEvent( | 911 static inline void AddMetadataEvent( |
| 841 const char* event_name, | 912 const char* event_name, |
| 842 const char* arg_name, | 913 const char* arg_name, |
| 843 scoped_refptr<base::trace_event::ConvertableToTraceFormat> arg_value) { | 914 scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg_value) { |
| 844 const char* arg_names[1] = {arg_name}; | 915 const char* arg_names[1] = {arg_name}; |
| 845 scoped_refptr<base::trace_event::ConvertableToTraceFormat> | |
| 846 convertable_values[1] = {arg_value}; | |
| 847 unsigned char arg_types[1] = {TRACE_VALUE_TYPE_CONVERTABLE}; | 916 unsigned char arg_types[1] = {TRACE_VALUE_TYPE_CONVERTABLE}; |
| 848 base::trace_event::TraceLog::GetInstance()->AddMetadataEvent( | 917 base::trace_event::TraceLog::GetInstance()->AddMetadataEvent( |
| 849 event_name, | 918 event_name, |
| 850 1, // num_args | 919 1, // num_args |
| 851 arg_names, arg_types, | 920 arg_names, arg_types, |
| 852 nullptr, // arg_values | 921 nullptr, // arg_values |
| 853 convertable_values, TRACE_EVENT_FLAG_NONE); | 922 &arg_value, TRACE_EVENT_FLAG_NONE); |
| 854 } | 923 } |
| 855 | 924 |
| 856 template <class ARG1_TYPE> | 925 template <class ARG1_TYPE> |
| 857 static void AddMetadataEvent(const char* event_name, | 926 static void AddMetadataEvent(const char* event_name, |
| 858 const char* arg_name, | 927 const char* arg_name, |
| 859 const ARG1_TYPE& arg_val) { | 928 const ARG1_TYPE& arg_val) { |
| 860 const int num_args = 1; | 929 const int num_args = 1; |
| 861 const char* arg_names[1] = {arg_name}; | 930 const char* arg_names[1] = {arg_name}; |
| 862 unsigned char arg_types[1]; | 931 unsigned char arg_types[1]; |
| 863 unsigned long long arg_values[1]; | 932 unsigned long long arg_values[1]; |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 984 const char* name_; | 1053 const char* name_; |
| 985 IDType id_; | 1054 IDType id_; |
| 986 | 1055 |
| 987 DISALLOW_COPY_AND_ASSIGN(TraceScopedTrackableObject); | 1056 DISALLOW_COPY_AND_ASSIGN(TraceScopedTrackableObject); |
| 988 }; | 1057 }; |
| 989 | 1058 |
| 990 } // namespace trace_event | 1059 } // namespace trace_event |
| 991 } // namespace base | 1060 } // namespace base |
| 992 | 1061 |
| 993 #endif // BASE_TRACE_EVENT_TRACE_EVENT_H_ | 1062 #endif // BASE_TRACE_EVENT_TRACE_EVENT_H_ |
| OLD | NEW |