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 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 | 147 |
148 // Add a trace event to the platform tracing system. | 148 // Add a trace event to the platform tracing system. |
149 // base::trace_event::TraceEventHandle | 149 // base::trace_event::TraceEventHandle |
150 // TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_TIMESTAMP( | 150 // TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_TIMESTAMP( |
151 // char phase, | 151 // char phase, |
152 // const unsigned char* category_group_enabled, | 152 // const unsigned char* category_group_enabled, |
153 // const char* name, | 153 // const char* name, |
154 // unsigned long long id, | 154 // unsigned long long id, |
155 // unsigned long long context_id, | 155 // unsigned long long context_id, |
156 // int thread_id, | 156 // int thread_id, |
157 // const TraceTicks& timestamp, | 157 // const TimeTicks& timestamp, |
158 // int num_args, | 158 // int num_args, |
159 // const char** arg_names, | 159 // const char** arg_names, |
160 // const unsigned char* arg_types, | 160 // const unsigned char* arg_types, |
161 // const unsigned long long* arg_values, | 161 // const unsigned long long* arg_values, |
162 // const scoped_refptr<ConvertableToTraceFormat>* | 162 // const scoped_refptr<ConvertableToTraceFormat>* |
163 // convertable_values, | 163 // convertable_values, |
164 // unsigned int flags) | 164 // unsigned int flags) |
165 #define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP \ | 165 #define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP \ |
166 base::trace_event::TraceLog::GetInstance() \ | 166 base::trace_event::TraceLog::GetInstance() \ |
167 ->AddTraceEventWithThreadIdAndTimestamp | 167 ->AddTraceEventWithThreadIdAndTimestamp |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 category_group, name, id, thread_id, timestamp, flags, ...) \ | 306 category_group, name, id, thread_id, timestamp, flags, ...) \ |
307 do { \ | 307 do { \ |
308 INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \ | 308 INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \ |
309 if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \ | 309 if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \ |
310 unsigned int trace_event_flags = flags | TRACE_EVENT_FLAG_HAS_ID; \ | 310 unsigned int trace_event_flags = flags | TRACE_EVENT_FLAG_HAS_ID; \ |
311 trace_event_internal::TraceID trace_event_trace_id( \ | 311 trace_event_internal::TraceID trace_event_trace_id( \ |
312 id, &trace_event_flags); \ | 312 id, &trace_event_flags); \ |
313 trace_event_internal::AddTraceEventWithThreadIdAndTimestamp( \ | 313 trace_event_internal::AddTraceEventWithThreadIdAndTimestamp( \ |
314 phase, INTERNAL_TRACE_EVENT_UID(category_group_enabled), \ | 314 phase, INTERNAL_TRACE_EVENT_UID(category_group_enabled), \ |
315 name, trace_event_trace_id.data(), trace_event_internal::kNoId, \ | 315 name, trace_event_trace_id.data(), trace_event_internal::kNoId, \ |
316 thread_id, base::TraceTicks::FromInternalValue(timestamp), \ | 316 thread_id, base::TimeTicks::FromInternalValue(timestamp), \ |
317 trace_event_flags | TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP, \ | 317 trace_event_flags | TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP, \ |
318 trace_event_internal::kNoId, ##__VA_ARGS__); \ | 318 trace_event_internal::kNoId, ##__VA_ARGS__); \ |
319 } \ | 319 } \ |
320 } while (0) | 320 } while (0) |
321 | 321 |
322 | 322 |
323 namespace trace_event_internal { | 323 namespace trace_event_internal { |
324 | 324 |
325 // Specify these values when the corresponding argument of AddTraceEvent is not | 325 // Specify these values when the corresponding argument of AddTraceEvent is not |
326 // used. | 326 // used. |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 *value = arg.ToInternalValue(); | 510 *value = arg.ToInternalValue(); |
511 } | 511 } |
512 | 512 |
513 static inline void SetTraceValue(const base::ThreadTicks arg, | 513 static inline void SetTraceValue(const base::ThreadTicks arg, |
514 unsigned char* type, | 514 unsigned char* type, |
515 unsigned long long* value) { | 515 unsigned long long* value) { |
516 *type = TRACE_VALUE_TYPE_INT; | 516 *type = TRACE_VALUE_TYPE_INT; |
517 *value = arg.ToInternalValue(); | 517 *value = arg.ToInternalValue(); |
518 } | 518 } |
519 | 519 |
520 static inline void SetTraceValue(const base::TraceTicks arg, | |
521 unsigned char* type, | |
522 unsigned long long* value) { | |
523 *type = TRACE_VALUE_TYPE_INT; | |
524 *value = arg.ToInternalValue(); | |
525 } | |
526 | |
527 // These AddTraceEvent and AddTraceEventWithThreadIdAndTimestamp template | 520 // These AddTraceEvent and AddTraceEventWithThreadIdAndTimestamp template |
528 // functions are defined here instead of in the macro, because the arg_values | 521 // functions are defined here instead of in the macro, because the arg_values |
529 // could be temporary objects, such as std::string. In order to store | 522 // could be temporary objects, such as std::string. In order to store |
530 // pointers to the internal c_str and pass through to the tracing API, | 523 // pointers to the internal c_str and pass through to the tracing API, |
531 // the arg_values must live throughout these procedures. | 524 // the arg_values must live throughout these procedures. |
532 | 525 |
533 static inline base::trace_event::TraceEventHandle | 526 static inline base::trace_event::TraceEventHandle |
534 AddTraceEventWithThreadIdAndTimestamp( | 527 AddTraceEventWithThreadIdAndTimestamp( |
535 char phase, | 528 char phase, |
536 const unsigned char* category_group_enabled, | 529 const unsigned char* category_group_enabled, |
537 const char* name, | 530 const char* name, |
538 unsigned long long id, | 531 unsigned long long id, |
539 unsigned long long context_id, | 532 unsigned long long context_id, |
540 int thread_id, | 533 int thread_id, |
541 const base::TraceTicks& timestamp, | 534 const base::TimeTicks& timestamp, |
542 unsigned int flags, | 535 unsigned int flags, |
543 unsigned long long bind_id, | 536 unsigned long long bind_id, |
544 const char* arg1_name, | 537 const char* arg1_name, |
545 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& | 538 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& |
546 arg1_val) { | 539 arg1_val) { |
547 const int num_args = 1; | 540 const int num_args = 1; |
548 unsigned char arg_types[1] = { TRACE_VALUE_TYPE_CONVERTABLE }; | 541 unsigned char arg_types[1] = { TRACE_VALUE_TYPE_CONVERTABLE }; |
549 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( | 542 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
550 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, | 543 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, |
551 timestamp, num_args, &arg1_name, arg_types, NULL, &arg1_val, flags); | 544 timestamp, num_args, &arg1_name, arg_types, NULL, &arg1_val, flags); |
552 } | 545 } |
553 | 546 |
554 template<class ARG1_TYPE> | 547 template<class ARG1_TYPE> |
555 static inline base::trace_event::TraceEventHandle | 548 static inline base::trace_event::TraceEventHandle |
556 AddTraceEventWithThreadIdAndTimestamp( | 549 AddTraceEventWithThreadIdAndTimestamp( |
557 char phase, | 550 char phase, |
558 const unsigned char* category_group_enabled, | 551 const unsigned char* category_group_enabled, |
559 const char* name, | 552 const char* name, |
560 unsigned long long id, | 553 unsigned long long id, |
561 unsigned long long context_id, | 554 unsigned long long context_id, |
562 int thread_id, | 555 int thread_id, |
563 const base::TraceTicks& timestamp, | 556 const base::TimeTicks& timestamp, |
564 unsigned int flags, | 557 unsigned int flags, |
565 unsigned long long bind_id, | 558 unsigned long long bind_id, |
566 const char* arg1_name, | 559 const char* arg1_name, |
567 const ARG1_TYPE& arg1_val, | 560 const ARG1_TYPE& arg1_val, |
568 const char* arg2_name, | 561 const char* arg2_name, |
569 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& | 562 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& |
570 arg2_val) { | 563 arg2_val) { |
571 const int num_args = 2; | 564 const int num_args = 2; |
572 const char* arg_names[2] = { arg1_name, arg2_name }; | 565 const char* arg_names[2] = { arg1_name, arg2_name }; |
573 | 566 |
(...skipping 14 matching lines...) Expand all Loading... |
588 | 581 |
589 template<class ARG2_TYPE> | 582 template<class ARG2_TYPE> |
590 static inline base::trace_event::TraceEventHandle | 583 static inline base::trace_event::TraceEventHandle |
591 AddTraceEventWithThreadIdAndTimestamp( | 584 AddTraceEventWithThreadIdAndTimestamp( |
592 char phase, | 585 char phase, |
593 const unsigned char* category_group_enabled, | 586 const unsigned char* category_group_enabled, |
594 const char* name, | 587 const char* name, |
595 unsigned long long id, | 588 unsigned long long id, |
596 unsigned long long context_id, | 589 unsigned long long context_id, |
597 int thread_id, | 590 int thread_id, |
598 const base::TraceTicks& timestamp, | 591 const base::TimeTicks& timestamp, |
599 unsigned int flags, | 592 unsigned int flags, |
600 unsigned long long bind_id, | 593 unsigned long long bind_id, |
601 const char* arg1_name, | 594 const char* arg1_name, |
602 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val, | 595 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val, |
603 const char* arg2_name, | 596 const char* arg2_name, |
604 const ARG2_TYPE& arg2_val) { | 597 const ARG2_TYPE& arg2_val) { |
605 const int num_args = 2; | 598 const int num_args = 2; |
606 const char* arg_names[2] = { arg1_name, arg2_name }; | 599 const char* arg_names[2] = { arg1_name, arg2_name }; |
607 | 600 |
608 unsigned char arg_types[2]; | 601 unsigned char arg_types[2]; |
(...skipping 13 matching lines...) Expand all Loading... |
622 } | 615 } |
623 | 616 |
624 static inline base::trace_event::TraceEventHandle | 617 static inline base::trace_event::TraceEventHandle |
625 AddTraceEventWithThreadIdAndTimestamp( | 618 AddTraceEventWithThreadIdAndTimestamp( |
626 char phase, | 619 char phase, |
627 const unsigned char* category_group_enabled, | 620 const unsigned char* category_group_enabled, |
628 const char* name, | 621 const char* name, |
629 unsigned long long id, | 622 unsigned long long id, |
630 unsigned long long context_id, | 623 unsigned long long context_id, |
631 int thread_id, | 624 int thread_id, |
632 const base::TraceTicks& timestamp, | 625 const base::TimeTicks& timestamp, |
633 unsigned int flags, | 626 unsigned int flags, |
634 unsigned long long bind_id, | 627 unsigned long long bind_id, |
635 const char* arg1_name, | 628 const char* arg1_name, |
636 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val, | 629 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val, |
637 const char* arg2_name, | 630 const char* arg2_name, |
638 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& | 631 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& |
639 arg2_val) { | 632 arg2_val) { |
640 const int num_args = 2; | 633 const int num_args = 2; |
641 const char* arg_names[2] = { arg1_name, arg2_name }; | 634 const char* arg_names[2] = { arg1_name, arg2_name }; |
642 unsigned char arg_types[2] = | 635 unsigned char arg_types[2] = |
643 { TRACE_VALUE_TYPE_CONVERTABLE, TRACE_VALUE_TYPE_CONVERTABLE }; | 636 { TRACE_VALUE_TYPE_CONVERTABLE, TRACE_VALUE_TYPE_CONVERTABLE }; |
644 scoped_refptr<base::trace_event::ConvertableToTraceFormat> | 637 scoped_refptr<base::trace_event::ConvertableToTraceFormat> |
645 convertable_values[2] = {arg1_val, arg2_val}; | 638 convertable_values[2] = {arg1_val, arg2_val}; |
646 | 639 |
647 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( | 640 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
648 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, | 641 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, |
649 timestamp, num_args, arg_names, arg_types, NULL, convertable_values, | 642 timestamp, num_args, arg_names, arg_types, NULL, convertable_values, |
650 flags); | 643 flags); |
651 } | 644 } |
652 | 645 |
653 static inline base::trace_event::TraceEventHandle | 646 static inline base::trace_event::TraceEventHandle |
654 AddTraceEventWithThreadIdAndTimestamp( | 647 AddTraceEventWithThreadIdAndTimestamp( |
655 char phase, | 648 char phase, |
656 const unsigned char* category_group_enabled, | 649 const unsigned char* category_group_enabled, |
657 const char* name, | 650 const char* name, |
658 unsigned long long id, | 651 unsigned long long id, |
659 unsigned long long context_id, | 652 unsigned long long context_id, |
660 int thread_id, | 653 int thread_id, |
661 const base::TraceTicks& timestamp, | 654 const base::TimeTicks& timestamp, |
662 unsigned int flags, | 655 unsigned int flags, |
663 unsigned long long bind_id) { | 656 unsigned long long bind_id) { |
664 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( | 657 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
665 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, | 658 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, |
666 timestamp, kZeroNumArgs, NULL, NULL, NULL, NULL, flags); | 659 timestamp, kZeroNumArgs, NULL, NULL, NULL, NULL, flags); |
667 } | 660 } |
668 | 661 |
669 static inline base::trace_event::TraceEventHandle AddTraceEvent( | 662 static inline base::trace_event::TraceEventHandle AddTraceEvent( |
670 char phase, | 663 char phase, |
671 const unsigned char* category_group_enabled, | 664 const unsigned char* category_group_enabled, |
672 const char* name, | 665 const char* name, |
673 unsigned long long id, | 666 unsigned long long id, |
674 unsigned int flags, | 667 unsigned int flags, |
675 unsigned long long bind_id) { | 668 unsigned long long bind_id) { |
676 const int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); | 669 const int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); |
677 const base::TraceTicks now = base::TraceTicks::Now(); | 670 const base::TimeTicks now = base::TimeTicks::Now(); |
678 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, | 671 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, |
679 name, id, kNoId, thread_id, now, | 672 name, id, kNoId, thread_id, now, |
680 flags, bind_id); | 673 flags, bind_id); |
681 } | 674 } |
682 | 675 |
683 template<class ARG1_TYPE> | 676 template<class ARG1_TYPE> |
684 static inline base::trace_event::TraceEventHandle | 677 static inline base::trace_event::TraceEventHandle |
685 AddTraceEventWithThreadIdAndTimestamp( | 678 AddTraceEventWithThreadIdAndTimestamp( |
686 char phase, | 679 char phase, |
687 const unsigned char* category_group_enabled, | 680 const unsigned char* category_group_enabled, |
688 const char* name, | 681 const char* name, |
689 unsigned long long id, | 682 unsigned long long id, |
690 unsigned long long context_id, | 683 unsigned long long context_id, |
691 int thread_id, | 684 int thread_id, |
692 const base::TraceTicks& timestamp, | 685 const base::TimeTicks& timestamp, |
693 unsigned int flags, | 686 unsigned int flags, |
694 unsigned long long bind_id, | 687 unsigned long long bind_id, |
695 const char* arg1_name, | 688 const char* arg1_name, |
696 const ARG1_TYPE& arg1_val) { | 689 const ARG1_TYPE& arg1_val) { |
697 const int num_args = 1; | 690 const int num_args = 1; |
698 unsigned char arg_types[1]; | 691 unsigned char arg_types[1]; |
699 unsigned long long arg_values[1]; | 692 unsigned long long arg_values[1]; |
700 SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); | 693 SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); |
701 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( | 694 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
702 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, | 695 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, |
703 timestamp, num_args, &arg1_name, arg_types, arg_values, NULL, flags); | 696 timestamp, num_args, &arg1_name, arg_types, arg_values, NULL, flags); |
704 } | 697 } |
705 | 698 |
706 template<class ARG1_TYPE> | 699 template<class ARG1_TYPE> |
707 static inline base::trace_event::TraceEventHandle AddTraceEvent( | 700 static inline base::trace_event::TraceEventHandle AddTraceEvent( |
708 char phase, | 701 char phase, |
709 const unsigned char* category_group_enabled, | 702 const unsigned char* category_group_enabled, |
710 const char* name, | 703 const char* name, |
711 unsigned long long id, | 704 unsigned long long id, |
712 unsigned int flags, | 705 unsigned int flags, |
713 unsigned long long bind_id, | 706 unsigned long long bind_id, |
714 const char* arg1_name, | 707 const char* arg1_name, |
715 const ARG1_TYPE& arg1_val) { | 708 const ARG1_TYPE& arg1_val) { |
716 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); | 709 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); |
717 base::TraceTicks now = base::TraceTicks::Now(); | 710 base::TimeTicks now = base::TimeTicks::Now(); |
718 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, | 711 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, |
719 name, id, kNoId, thread_id, now, | 712 name, id, kNoId, thread_id, now, |
720 flags, bind_id, | 713 flags, bind_id, |
721 arg1_name, arg1_val); | 714 arg1_name, arg1_val); |
722 } | 715 } |
723 | 716 |
724 template<class ARG1_TYPE, class ARG2_TYPE> | 717 template<class ARG1_TYPE, class ARG2_TYPE> |
725 static inline base::trace_event::TraceEventHandle | 718 static inline base::trace_event::TraceEventHandle |
726 AddTraceEventWithThreadIdAndTimestamp( | 719 AddTraceEventWithThreadIdAndTimestamp( |
727 char phase, | 720 char phase, |
728 const unsigned char* category_group_enabled, | 721 const unsigned char* category_group_enabled, |
729 const char* name, | 722 const char* name, |
730 unsigned long long id, | 723 unsigned long long id, |
731 unsigned long long context_id, | 724 unsigned long long context_id, |
732 int thread_id, | 725 int thread_id, |
733 const base::TraceTicks& timestamp, | 726 const base::TimeTicks& timestamp, |
734 unsigned int flags, | 727 unsigned int flags, |
735 unsigned long long bind_id, | 728 unsigned long long bind_id, |
736 const char* arg1_name, | 729 const char* arg1_name, |
737 const ARG1_TYPE& arg1_val, | 730 const ARG1_TYPE& arg1_val, |
738 const char* arg2_name, | 731 const char* arg2_name, |
739 const ARG2_TYPE& arg2_val) { | 732 const ARG2_TYPE& arg2_val) { |
740 const int num_args = 2; | 733 const int num_args = 2; |
741 const char* arg_names[2] = { arg1_name, arg2_name }; | 734 const char* arg_names[2] = { arg1_name, arg2_name }; |
742 unsigned char arg_types[2]; | 735 unsigned char arg_types[2]; |
743 unsigned long long arg_values[2]; | 736 unsigned long long arg_values[2]; |
(...skipping 10 matching lines...) Expand all Loading... |
754 const unsigned char* category_group_enabled, | 747 const unsigned char* category_group_enabled, |
755 const char* name, | 748 const char* name, |
756 unsigned long long id, | 749 unsigned long long id, |
757 unsigned int flags, | 750 unsigned int flags, |
758 unsigned long long bind_id, | 751 unsigned long long bind_id, |
759 const char* arg1_name, | 752 const char* arg1_name, |
760 const ARG1_TYPE& arg1_val, | 753 const ARG1_TYPE& arg1_val, |
761 const char* arg2_name, | 754 const char* arg2_name, |
762 const ARG2_TYPE& arg2_val) { | 755 const ARG2_TYPE& arg2_val) { |
763 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); | 756 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); |
764 base::TraceTicks now = base::TraceTicks::Now(); | 757 base::TimeTicks now = base::TimeTicks::Now(); |
765 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, | 758 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, |
766 name, id, kNoId, thread_id, now, | 759 name, id, kNoId, thread_id, now, |
767 flags, bind_id, | 760 flags, bind_id, |
768 arg1_name, arg1_val, | 761 arg1_name, arg1_val, |
769 arg2_name, arg2_val); | 762 arg2_name, arg2_val); |
770 } | 763 } |
771 | 764 |
772 static inline void AddMetadataEvent( | 765 static inline void AddMetadataEvent( |
773 const char* event_name, | 766 const char* event_name, |
774 const char* arg_name, | 767 const char* arg_name, |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
916 const char* name_; | 909 const char* name_; |
917 IDType id_; | 910 IDType id_; |
918 | 911 |
919 DISALLOW_COPY_AND_ASSIGN(TraceScopedTrackableObject); | 912 DISALLOW_COPY_AND_ASSIGN(TraceScopedTrackableObject); |
920 }; | 913 }; |
921 | 914 |
922 } // namespace trace_event | 915 } // namespace trace_event |
923 } // namespace base | 916 } // namespace base |
924 | 917 |
925 #endif // BASE_TRACE_EVENT_TRACE_EVENT_H_ | 918 #endif // BASE_TRACE_EVENT_TRACE_EVENT_H_ |
OLD | NEW |