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 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 | 127 |
128 // Add a trace event to the platform tracing system. | 128 // Add a trace event to the platform tracing system. |
129 // base::trace_event::TraceEventHandle | 129 // base::trace_event::TraceEventHandle |
130 // TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_TIMESTAMP( | 130 // TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_TIMESTAMP( |
131 // char phase, | 131 // char phase, |
132 // const unsigned char* category_group_enabled, | 132 // const unsigned char* category_group_enabled, |
133 // const char* name, | 133 // const char* name, |
134 // unsigned long long id, | 134 // unsigned long long id, |
135 // unsigned long long context_id, | 135 // unsigned long long context_id, |
136 // int thread_id, | 136 // int thread_id, |
137 // const TraceTicks& timestamp, | 137 // const TimeTicks& timestamp, |
138 // int num_args, | 138 // int num_args, |
139 // const char** arg_names, | 139 // const char** arg_names, |
140 // const unsigned char* arg_types, | 140 // const unsigned char* arg_types, |
141 // const unsigned long long* arg_values, | 141 // const unsigned long long* arg_values, |
142 // const scoped_refptr<ConvertableToTraceFormat>* | 142 // const scoped_refptr<ConvertableToTraceFormat>* |
143 // convertable_values, | 143 // convertable_values, |
144 // unsigned int flags) | 144 // unsigned int flags) |
145 #define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP \ | 145 #define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP \ |
146 base::trace_event::TraceLog::GetInstance() \ | 146 base::trace_event::TraceLog::GetInstance() \ |
147 ->AddTraceEventWithThreadIdAndTimestamp | 147 ->AddTraceEventWithThreadIdAndTimestamp |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 category_group, name, id, thread_id, timestamp, flags, ...) \ | 286 category_group, name, id, thread_id, timestamp, flags, ...) \ |
287 do { \ | 287 do { \ |
288 INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \ | 288 INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \ |
289 if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \ | 289 if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \ |
290 unsigned int trace_event_flags = flags | TRACE_EVENT_FLAG_HAS_ID; \ | 290 unsigned int trace_event_flags = flags | TRACE_EVENT_FLAG_HAS_ID; \ |
291 trace_event_internal::TraceID trace_event_trace_id( \ | 291 trace_event_internal::TraceID trace_event_trace_id( \ |
292 id, &trace_event_flags); \ | 292 id, &trace_event_flags); \ |
293 trace_event_internal::AddTraceEventWithThreadIdAndTimestamp( \ | 293 trace_event_internal::AddTraceEventWithThreadIdAndTimestamp( \ |
294 phase, INTERNAL_TRACE_EVENT_UID(category_group_enabled), \ | 294 phase, INTERNAL_TRACE_EVENT_UID(category_group_enabled), \ |
295 name, trace_event_trace_id.data(), trace_event_internal::kNoId, \ | 295 name, trace_event_trace_id.data(), trace_event_internal::kNoId, \ |
296 thread_id, base::TraceTicks::FromInternalValue(timestamp), \ | 296 thread_id, base::TimeTicks::FromInternalValue(timestamp), \ |
297 trace_event_flags | TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP, \ | 297 trace_event_flags | TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP, \ |
298 trace_event_internal::kNoId, ##__VA_ARGS__); \ | 298 trace_event_internal::kNoId, ##__VA_ARGS__); \ |
299 } \ | 299 } \ |
300 } while (0) | 300 } while (0) |
301 | 301 |
302 | 302 |
303 namespace trace_event_internal { | 303 namespace trace_event_internal { |
304 | 304 |
305 // Specify these values when the corresponding argument of AddTraceEvent is not | 305 // Specify these values when the corresponding argument of AddTraceEvent is not |
306 // used. | 306 // used. |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
490 *value = arg.ToInternalValue(); | 490 *value = arg.ToInternalValue(); |
491 } | 491 } |
492 | 492 |
493 static inline void SetTraceValue(const base::ThreadTicks arg, | 493 static inline void SetTraceValue(const base::ThreadTicks arg, |
494 unsigned char* type, | 494 unsigned char* type, |
495 unsigned long long* value) { | 495 unsigned long long* value) { |
496 *type = TRACE_VALUE_TYPE_INT; | 496 *type = TRACE_VALUE_TYPE_INT; |
497 *value = arg.ToInternalValue(); | 497 *value = arg.ToInternalValue(); |
498 } | 498 } |
499 | 499 |
500 static inline void SetTraceValue(const base::TraceTicks arg, | |
501 unsigned char* type, | |
502 unsigned long long* value) { | |
503 *type = TRACE_VALUE_TYPE_INT; | |
504 *value = arg.ToInternalValue(); | |
505 } | |
506 | |
507 // These AddTraceEvent and AddTraceEventWithThreadIdAndTimestamp template | 500 // These AddTraceEvent and AddTraceEventWithThreadIdAndTimestamp template |
508 // functions are defined here instead of in the macro, because the arg_values | 501 // functions are defined here instead of in the macro, because the arg_values |
509 // could be temporary objects, such as std::string. In order to store | 502 // could be temporary objects, such as std::string. In order to store |
510 // pointers to the internal c_str and pass through to the tracing API, | 503 // pointers to the internal c_str and pass through to the tracing API, |
511 // the arg_values must live throughout these procedures. | 504 // the arg_values must live throughout these procedures. |
512 | 505 |
513 static inline base::trace_event::TraceEventHandle | 506 static inline base::trace_event::TraceEventHandle |
514 AddTraceEventWithThreadIdAndTimestamp( | 507 AddTraceEventWithThreadIdAndTimestamp( |
515 char phase, | 508 char phase, |
516 const unsigned char* category_group_enabled, | 509 const unsigned char* category_group_enabled, |
517 const char* name, | 510 const char* name, |
518 unsigned long long id, | 511 unsigned long long id, |
519 unsigned long long context_id, | 512 unsigned long long context_id, |
520 int thread_id, | 513 int thread_id, |
521 const base::TraceTicks& timestamp, | 514 const base::TimeTicks& timestamp, |
522 unsigned int flags, | 515 unsigned int flags, |
523 unsigned long long bind_id, | 516 unsigned long long bind_id, |
524 const char* arg1_name, | 517 const char* arg1_name, |
525 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& | 518 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& |
526 arg1_val) { | 519 arg1_val) { |
527 const int num_args = 1; | 520 const int num_args = 1; |
528 unsigned char arg_types[1] = { TRACE_VALUE_TYPE_CONVERTABLE }; | 521 unsigned char arg_types[1] = { TRACE_VALUE_TYPE_CONVERTABLE }; |
529 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( | 522 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
530 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, | 523 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, |
531 timestamp, num_args, &arg1_name, arg_types, NULL, &arg1_val, flags); | 524 timestamp, num_args, &arg1_name, arg_types, NULL, &arg1_val, flags); |
532 } | 525 } |
533 | 526 |
534 template<class ARG1_TYPE> | 527 template<class ARG1_TYPE> |
535 static inline base::trace_event::TraceEventHandle | 528 static inline base::trace_event::TraceEventHandle |
536 AddTraceEventWithThreadIdAndTimestamp( | 529 AddTraceEventWithThreadIdAndTimestamp( |
537 char phase, | 530 char phase, |
538 const unsigned char* category_group_enabled, | 531 const unsigned char* category_group_enabled, |
539 const char* name, | 532 const char* name, |
540 unsigned long long id, | 533 unsigned long long id, |
541 unsigned long long context_id, | 534 unsigned long long context_id, |
542 int thread_id, | 535 int thread_id, |
543 const base::TraceTicks& timestamp, | 536 const base::TimeTicks& timestamp, |
544 unsigned int flags, | 537 unsigned int flags, |
545 unsigned long long bind_id, | 538 unsigned long long bind_id, |
546 const char* arg1_name, | 539 const char* arg1_name, |
547 const ARG1_TYPE& arg1_val, | 540 const ARG1_TYPE& arg1_val, |
548 const char* arg2_name, | 541 const char* arg2_name, |
549 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& | 542 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& |
550 arg2_val) { | 543 arg2_val) { |
551 const int num_args = 2; | 544 const int num_args = 2; |
552 const char* arg_names[2] = { arg1_name, arg2_name }; | 545 const char* arg_names[2] = { arg1_name, arg2_name }; |
553 | 546 |
(...skipping 14 matching lines...) Expand all Loading... |
568 | 561 |
569 template<class ARG2_TYPE> | 562 template<class ARG2_TYPE> |
570 static inline base::trace_event::TraceEventHandle | 563 static inline base::trace_event::TraceEventHandle |
571 AddTraceEventWithThreadIdAndTimestamp( | 564 AddTraceEventWithThreadIdAndTimestamp( |
572 char phase, | 565 char phase, |
573 const unsigned char* category_group_enabled, | 566 const unsigned char* category_group_enabled, |
574 const char* name, | 567 const char* name, |
575 unsigned long long id, | 568 unsigned long long id, |
576 unsigned long long context_id, | 569 unsigned long long context_id, |
577 int thread_id, | 570 int thread_id, |
578 const base::TraceTicks& timestamp, | 571 const base::TimeTicks& timestamp, |
579 unsigned int flags, | 572 unsigned int flags, |
580 unsigned long long bind_id, | 573 unsigned long long bind_id, |
581 const char* arg1_name, | 574 const char* arg1_name, |
582 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val, | 575 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val, |
583 const char* arg2_name, | 576 const char* arg2_name, |
584 const ARG2_TYPE& arg2_val) { | 577 const ARG2_TYPE& arg2_val) { |
585 const int num_args = 2; | 578 const int num_args = 2; |
586 const char* arg_names[2] = { arg1_name, arg2_name }; | 579 const char* arg_names[2] = { arg1_name, arg2_name }; |
587 | 580 |
588 unsigned char arg_types[2]; | 581 unsigned char arg_types[2]; |
(...skipping 13 matching lines...) Expand all Loading... |
602 } | 595 } |
603 | 596 |
604 static inline base::trace_event::TraceEventHandle | 597 static inline base::trace_event::TraceEventHandle |
605 AddTraceEventWithThreadIdAndTimestamp( | 598 AddTraceEventWithThreadIdAndTimestamp( |
606 char phase, | 599 char phase, |
607 const unsigned char* category_group_enabled, | 600 const unsigned char* category_group_enabled, |
608 const char* name, | 601 const char* name, |
609 unsigned long long id, | 602 unsigned long long id, |
610 unsigned long long context_id, | 603 unsigned long long context_id, |
611 int thread_id, | 604 int thread_id, |
612 const base::TraceTicks& timestamp, | 605 const base::TimeTicks& timestamp, |
613 unsigned int flags, | 606 unsigned int flags, |
614 unsigned long long bind_id, | 607 unsigned long long bind_id, |
615 const char* arg1_name, | 608 const char* arg1_name, |
616 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val, | 609 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val, |
617 const char* arg2_name, | 610 const char* arg2_name, |
618 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& | 611 const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& |
619 arg2_val) { | 612 arg2_val) { |
620 const int num_args = 2; | 613 const int num_args = 2; |
621 const char* arg_names[2] = { arg1_name, arg2_name }; | 614 const char* arg_names[2] = { arg1_name, arg2_name }; |
622 unsigned char arg_types[2] = | 615 unsigned char arg_types[2] = |
623 { TRACE_VALUE_TYPE_CONVERTABLE, TRACE_VALUE_TYPE_CONVERTABLE }; | 616 { TRACE_VALUE_TYPE_CONVERTABLE, TRACE_VALUE_TYPE_CONVERTABLE }; |
624 scoped_refptr<base::trace_event::ConvertableToTraceFormat> | 617 scoped_refptr<base::trace_event::ConvertableToTraceFormat> |
625 convertable_values[2] = {arg1_val, arg2_val}; | 618 convertable_values[2] = {arg1_val, arg2_val}; |
626 | 619 |
627 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( | 620 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
628 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, | 621 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, |
629 timestamp, num_args, arg_names, arg_types, NULL, convertable_values, | 622 timestamp, num_args, arg_names, arg_types, NULL, convertable_values, |
630 flags); | 623 flags); |
631 } | 624 } |
632 | 625 |
633 static inline base::trace_event::TraceEventHandle | 626 static inline base::trace_event::TraceEventHandle |
634 AddTraceEventWithThreadIdAndTimestamp( | 627 AddTraceEventWithThreadIdAndTimestamp( |
635 char phase, | 628 char phase, |
636 const unsigned char* category_group_enabled, | 629 const unsigned char* category_group_enabled, |
637 const char* name, | 630 const char* name, |
638 unsigned long long id, | 631 unsigned long long id, |
639 unsigned long long context_id, | 632 unsigned long long context_id, |
640 int thread_id, | 633 int thread_id, |
641 const base::TraceTicks& timestamp, | 634 const base::TimeTicks& timestamp, |
642 unsigned int flags, | 635 unsigned int flags, |
643 unsigned long long bind_id) { | 636 unsigned long long bind_id) { |
644 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( | 637 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
645 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, | 638 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, |
646 timestamp, kZeroNumArgs, NULL, NULL, NULL, NULL, flags); | 639 timestamp, kZeroNumArgs, NULL, NULL, NULL, NULL, flags); |
647 } | 640 } |
648 | 641 |
649 static inline base::trace_event::TraceEventHandle AddTraceEvent( | 642 static inline base::trace_event::TraceEventHandle AddTraceEvent( |
650 char phase, | 643 char phase, |
651 const unsigned char* category_group_enabled, | 644 const unsigned char* category_group_enabled, |
652 const char* name, | 645 const char* name, |
653 unsigned long long id, | 646 unsigned long long id, |
654 unsigned int flags, | 647 unsigned int flags, |
655 unsigned long long bind_id) { | 648 unsigned long long bind_id) { |
656 const int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); | 649 const int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); |
657 const base::TraceTicks now = base::TraceTicks::Now(); | 650 const base::TimeTicks now = base::TimeTicks::Now(); |
658 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, | 651 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, |
659 name, id, kNoId, thread_id, now, | 652 name, id, kNoId, thread_id, now, |
660 flags, bind_id); | 653 flags, bind_id); |
661 } | 654 } |
662 | 655 |
663 template<class ARG1_TYPE> | 656 template<class ARG1_TYPE> |
664 static inline base::trace_event::TraceEventHandle | 657 static inline base::trace_event::TraceEventHandle |
665 AddTraceEventWithThreadIdAndTimestamp( | 658 AddTraceEventWithThreadIdAndTimestamp( |
666 char phase, | 659 char phase, |
667 const unsigned char* category_group_enabled, | 660 const unsigned char* category_group_enabled, |
668 const char* name, | 661 const char* name, |
669 unsigned long long id, | 662 unsigned long long id, |
670 unsigned long long context_id, | 663 unsigned long long context_id, |
671 int thread_id, | 664 int thread_id, |
672 const base::TraceTicks& timestamp, | 665 const base::TimeTicks& timestamp, |
673 unsigned int flags, | 666 unsigned int flags, |
674 unsigned long long bind_id, | 667 unsigned long long bind_id, |
675 const char* arg1_name, | 668 const char* arg1_name, |
676 const ARG1_TYPE& arg1_val) { | 669 const ARG1_TYPE& arg1_val) { |
677 const int num_args = 1; | 670 const int num_args = 1; |
678 unsigned char arg_types[1]; | 671 unsigned char arg_types[1]; |
679 unsigned long long arg_values[1]; | 672 unsigned long long arg_values[1]; |
680 SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); | 673 SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); |
681 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( | 674 return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
682 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, | 675 phase, category_group_enabled, name, id, context_id, bind_id, thread_id, |
683 timestamp, num_args, &arg1_name, arg_types, arg_values, NULL, flags); | 676 timestamp, num_args, &arg1_name, arg_types, arg_values, NULL, flags); |
684 } | 677 } |
685 | 678 |
686 template<class ARG1_TYPE> | 679 template<class ARG1_TYPE> |
687 static inline base::trace_event::TraceEventHandle AddTraceEvent( | 680 static inline base::trace_event::TraceEventHandle AddTraceEvent( |
688 char phase, | 681 char phase, |
689 const unsigned char* category_group_enabled, | 682 const unsigned char* category_group_enabled, |
690 const char* name, | 683 const char* name, |
691 unsigned long long id, | 684 unsigned long long id, |
692 unsigned int flags, | 685 unsigned int flags, |
693 unsigned long long bind_id, | 686 unsigned long long bind_id, |
694 const char* arg1_name, | 687 const char* arg1_name, |
695 const ARG1_TYPE& arg1_val) { | 688 const ARG1_TYPE& arg1_val) { |
696 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); | 689 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); |
697 base::TraceTicks now = base::TraceTicks::Now(); | 690 base::TimeTicks now = base::TimeTicks::Now(); |
698 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, | 691 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, |
699 name, id, kNoId, thread_id, now, | 692 name, id, kNoId, thread_id, now, |
700 flags, bind_id, | 693 flags, bind_id, |
701 arg1_name, arg1_val); | 694 arg1_name, arg1_val); |
702 } | 695 } |
703 | 696 |
704 template<class ARG1_TYPE, class ARG2_TYPE> | 697 template<class ARG1_TYPE, class ARG2_TYPE> |
705 static inline base::trace_event::TraceEventHandle | 698 static inline base::trace_event::TraceEventHandle |
706 AddTraceEventWithThreadIdAndTimestamp( | 699 AddTraceEventWithThreadIdAndTimestamp( |
707 char phase, | 700 char phase, |
708 const unsigned char* category_group_enabled, | 701 const unsigned char* category_group_enabled, |
709 const char* name, | 702 const char* name, |
710 unsigned long long id, | 703 unsigned long long id, |
711 unsigned long long context_id, | 704 unsigned long long context_id, |
712 int thread_id, | 705 int thread_id, |
713 const base::TraceTicks& timestamp, | 706 const base::TimeTicks& timestamp, |
714 unsigned int flags, | 707 unsigned int flags, |
715 unsigned long long bind_id, | 708 unsigned long long bind_id, |
716 const char* arg1_name, | 709 const char* arg1_name, |
717 const ARG1_TYPE& arg1_val, | 710 const ARG1_TYPE& arg1_val, |
718 const char* arg2_name, | 711 const char* arg2_name, |
719 const ARG2_TYPE& arg2_val) { | 712 const ARG2_TYPE& arg2_val) { |
720 const int num_args = 2; | 713 const int num_args = 2; |
721 const char* arg_names[2] = { arg1_name, arg2_name }; | 714 const char* arg_names[2] = { arg1_name, arg2_name }; |
722 unsigned char arg_types[2]; | 715 unsigned char arg_types[2]; |
723 unsigned long long arg_values[2]; | 716 unsigned long long arg_values[2]; |
(...skipping 10 matching lines...) Expand all Loading... |
734 const unsigned char* category_group_enabled, | 727 const unsigned char* category_group_enabled, |
735 const char* name, | 728 const char* name, |
736 unsigned long long id, | 729 unsigned long long id, |
737 unsigned int flags, | 730 unsigned int flags, |
738 unsigned long long bind_id, | 731 unsigned long long bind_id, |
739 const char* arg1_name, | 732 const char* arg1_name, |
740 const ARG1_TYPE& arg1_val, | 733 const ARG1_TYPE& arg1_val, |
741 const char* arg2_name, | 734 const char* arg2_name, |
742 const ARG2_TYPE& arg2_val) { | 735 const ARG2_TYPE& arg2_val) { |
743 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); | 736 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); |
744 base::TraceTicks now = base::TraceTicks::Now(); | 737 base::TimeTicks now = base::TimeTicks::Now(); |
745 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, | 738 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, |
746 name, id, kNoId, thread_id, now, | 739 name, id, kNoId, thread_id, now, |
747 flags, bind_id, | 740 flags, bind_id, |
748 arg1_name, arg1_val, | 741 arg1_name, arg1_val, |
749 arg2_name, arg2_val); | 742 arg2_name, arg2_val); |
750 } | 743 } |
751 | 744 |
752 static inline void AddMetadataEvent( | 745 static inline void AddMetadataEvent( |
753 const char* event_name, | 746 const char* event_name, |
754 const char* arg_name, | 747 const char* arg_name, |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
896 const char* name_; | 889 const char* name_; |
897 IDType id_; | 890 IDType id_; |
898 | 891 |
899 DISALLOW_COPY_AND_ASSIGN(TraceScopedTrackableObject); | 892 DISALLOW_COPY_AND_ASSIGN(TraceScopedTrackableObject); |
900 }; | 893 }; |
901 | 894 |
902 } // namespace trace_event | 895 } // namespace trace_event |
903 } // namespace base | 896 } // namespace base |
904 | 897 |
905 #endif // BASE_TRACE_EVENT_TRACE_EVENT_H_ | 898 #endif // BASE_TRACE_EVENT_TRACE_EVENT_H_ |
OLD | NEW |