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

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

Issue 1141793003: Update from https://crrev.com/329939 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 7 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 | « base/trace_event/memory_dump_request_args.h ('k') | base/trace_event/trace_event_argument.h » ('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) 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 // 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 382 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 #define TRACE_EVENT_COPY_BEGIN_WITH_ID_TID_AND_TIMESTAMP0( \ 393 #define TRACE_EVENT_COPY_BEGIN_WITH_ID_TID_AND_TIMESTAMP0( \
394 category_group, name, id, thread_id, timestamp) \ 394 category_group, name, id, thread_id, timestamp) \
395 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ 395 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \
396 TRACE_EVENT_PHASE_ASYNC_BEGIN, category_group, name, id, thread_id, \ 396 TRACE_EVENT_PHASE_ASYNC_BEGIN, category_group, name, id, thread_id, \
397 timestamp, TRACE_EVENT_FLAG_COPY) 397 timestamp, TRACE_EVENT_FLAG_COPY)
398 #define TRACE_EVENT_COPY_BEGIN_WITH_ID_TID_AND_TIMESTAMP1( \ 398 #define TRACE_EVENT_COPY_BEGIN_WITH_ID_TID_AND_TIMESTAMP1( \
399 category_group, name, id, thread_id, timestamp, arg1_name, arg1_val) \ 399 category_group, name, id, thread_id, timestamp, arg1_name, arg1_val) \
400 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ 400 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \
401 TRACE_EVENT_PHASE_ASYNC_BEGIN, category_group, name, id, thread_id, \ 401 TRACE_EVENT_PHASE_ASYNC_BEGIN, category_group, name, id, thread_id, \
402 timestamp, TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val) 402 timestamp, TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val)
403 #define TRACE_EVENT_COPY_BEGIN_WITH_ID_TID_AND_TIMESTAMP2( \
404 category_group, name, id, thread_id, timestamp, arg1_name, arg1_val, \
405 arg2_name, arg2_val) \
406 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \
407 TRACE_EVENT_PHASE_ASYNC_BEGIN, category_group, name, id, thread_id, \
408 timestamp, TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val, arg2_name, \
409 arg2_val)
403 410
404 // Records a single END event for "name" immediately. If the category 411 // Records a single END event for "name" immediately. If the category
405 // is not enabled, then this does nothing. 412 // is not enabled, then this does nothing.
406 // - category and name strings must have application lifetime (statics or 413 // - category and name strings must have application lifetime (statics or
407 // literals). They may not include " chars. 414 // literals). They may not include " chars.
408 #define TRACE_EVENT_END0(category_group, name) \ 415 #define TRACE_EVENT_END0(category_group, name) \
409 INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, \ 416 INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, \
410 category_group, name, TRACE_EVENT_FLAG_NONE) 417 category_group, name, TRACE_EVENT_FLAG_NONE)
411 #define TRACE_EVENT_END1(category_group, name, arg1_name, arg1_val) \ 418 #define TRACE_EVENT_END1(category_group, name, arg1_name, arg1_val) \
412 INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, \ 419 INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_END, \
(...skipping 29 matching lines...) Expand all
442 #define TRACE_EVENT_COPY_END_WITH_ID_TID_AND_TIMESTAMP0( \ 449 #define TRACE_EVENT_COPY_END_WITH_ID_TID_AND_TIMESTAMP0( \
443 category_group, name, id, thread_id, timestamp) \ 450 category_group, name, id, thread_id, timestamp) \
444 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ 451 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \
445 TRACE_EVENT_PHASE_ASYNC_END, category_group, name, id, thread_id, \ 452 TRACE_EVENT_PHASE_ASYNC_END, category_group, name, id, thread_id, \
446 timestamp, TRACE_EVENT_FLAG_COPY) 453 timestamp, TRACE_EVENT_FLAG_COPY)
447 #define TRACE_EVENT_COPY_END_WITH_ID_TID_AND_TIMESTAMP1( \ 454 #define TRACE_EVENT_COPY_END_WITH_ID_TID_AND_TIMESTAMP1( \
448 category_group, name, id, thread_id, timestamp, arg1_name, arg1_val) \ 455 category_group, name, id, thread_id, timestamp, arg1_name, arg1_val) \
449 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ 456 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \
450 TRACE_EVENT_PHASE_ASYNC_END, category_group, name, id, thread_id, \ 457 TRACE_EVENT_PHASE_ASYNC_END, category_group, name, id, thread_id, \
451 timestamp, TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val) 458 timestamp, TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val)
459 #define TRACE_EVENT_COPY_END_WITH_ID_TID_AND_TIMESTAMP2( \
460 category_group, name, id, thread_id, timestamp, arg1_name, arg1_val, \
461 arg2_name, arg2_val) \
462 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \
463 TRACE_EVENT_PHASE_ASYNC_END, category_group, name, id, thread_id, \
464 timestamp, TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val, arg2_name, \
465 arg2_val)
452 466
453 // Records the value of a counter called "name" immediately. Value 467 // Records the value of a counter called "name" immediately. Value
454 // must be representable as a 32 bit integer. 468 // must be representable as a 32 bit integer.
455 // - category and name strings must have application lifetime (statics or 469 // - category and name strings must have application lifetime (statics or
456 // literals). They may not include " chars. 470 // literals). They may not include " chars.
457 #define TRACE_COUNTER1(category_group, name, value) \ 471 #define TRACE_COUNTER1(category_group, name, value) \
458 INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_COUNTER, \ 472 INTERNAL_TRACE_EVENT_ADD(TRACE_EVENT_PHASE_COUNTER, \
459 category_group, name, TRACE_EVENT_FLAG_NONE, \ 473 category_group, name, TRACE_EVENT_FLAG_NONE, \
460 "value", static_cast<int>(value)) 474 "value", static_cast<int>(value))
461 #define TRACE_COPY_COUNTER1(category_group, name, value) \ 475 #define TRACE_COPY_COUNTER1(category_group, name, value) \
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
695 // - |id| is used to match a child NESTABLE_ASYNC event with its parent 709 // - |id| is used to match a child NESTABLE_ASYNC event with its parent
696 // NESTABLE_ASYNC event. Therefore, events in the same nested event tree must 710 // NESTABLE_ASYNC event. Therefore, events in the same nested event tree must
697 // be logged using the same id and category_group. 711 // be logged using the same id and category_group.
698 // 712 //
699 // Unmatched NESTABLE_ASYNC_END event will be parsed as an event that starts 713 // Unmatched NESTABLE_ASYNC_END event will be parsed as an event that starts
700 // at the first NESTABLE_ASYNC event of that id, and unmatched 714 // at the first NESTABLE_ASYNC event of that id, and unmatched
701 // NESTABLE_ASYNC_BEGIN event will be parsed as an event that ends at the last 715 // NESTABLE_ASYNC_BEGIN event will be parsed as an event that ends at the last
702 // NESTABLE_ASYNC event of that id. Corresponding warning messages for 716 // NESTABLE_ASYNC event of that id. Corresponding warning messages for
703 // unmatched events will be shown in the analysis view. 717 // unmatched events will be shown in the analysis view.
704 718
705 // Records a single NESTABLE_ASYNC_BEGIN event called "name" immediately, with 2 719 // Records a single NESTABLE_ASYNC_BEGIN event called "name" immediately, with
706 // associated arguments. If the category is not enabled, then this does nothing. 720 // 0, 1 or 2 associated arguments. If the category is not enabled, then this
721 // does nothing.
722 #define TRACE_EVENT_NESTABLE_ASYNC_BEGIN0(category_group, name, id) \
723 INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN, \
724 category_group, name, id, TRACE_EVENT_FLAG_NONE)
725 #define TRACE_EVENT_NESTABLE_ASYNC_BEGIN1(category_group, name, id, arg1_name, \
726 arg1_val) \
727 INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN, \
728 category_group, name, id, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val)
707 #define TRACE_EVENT_NESTABLE_ASYNC_BEGIN2(category_group, name, id, arg1_name, \ 729 #define TRACE_EVENT_NESTABLE_ASYNC_BEGIN2(category_group, name, id, arg1_name, \
708 arg1_val, arg2_name, arg2_val) \ 730 arg1_val, arg2_name, arg2_val) \
709 INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN, \ 731 INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN, \
710 category_group, name, id, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val, \ 732 category_group, name, id, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val, \
711 arg2_name, arg2_val) 733 arg2_name, arg2_val)
734 // Records a single NESTABLE_ASYNC_END event called "name" immediately, with 0,
735 // 1, or 2 associated arguments. If the category is not enabled, then this does
736 // nothing.
737 #define TRACE_EVENT_NESTABLE_ASYNC_END0(category_group, name, id) \
738 INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_END, \
739 category_group, name, id, TRACE_EVENT_FLAG_NONE)
740 #define TRACE_EVENT_NESTABLE_ASYNC_END1(category_group, name, id, arg1_name, \
741 arg1_val) \
742 INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_END, \
743 category_group, name, id, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val)
744 #define TRACE_EVENT_NESTABLE_ASYNC_END2(category_group, name, id, arg1_name, \
745 arg1_val, arg2_name, arg2_val) \
746 INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_END, \
747 category_group, name, id, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val, \
748 arg2_name, arg2_val)
749
712 #define TRACE_EVENT_COPY_NESTABLE_ASYNC_BEGIN_WITH_TTS2(category_group, name, \ 750 #define TRACE_EVENT_COPY_NESTABLE_ASYNC_BEGIN_WITH_TTS2(category_group, name, \
713 id, arg1_name, arg1_val, arg2_name, arg2_val) \ 751 id, arg1_name, arg1_val, arg2_name, arg2_val) \
714 INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN, \ 752 INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN, \
715 category_group, name, id, \ 753 category_group, name, id, \
716 TRACE_EVENT_FLAG_ASYNC_TTS | TRACE_EVENT_FLAG_COPY, \ 754 TRACE_EVENT_FLAG_ASYNC_TTS | TRACE_EVENT_FLAG_COPY, \
717 arg1_name, arg1_val, arg2_name, arg2_val) 755 arg1_name, arg1_val, arg2_name, arg2_val)
718
719 // Records a single NESTABLE_ASYNC_END event called "name" immediately, with 2
720 // associated arguments. If the category is not enabled, then this does nothing.
721 #define TRACE_EVENT_NESTABLE_ASYNC_END2(category_group, name, id, arg1_name, \
722 arg1_val, arg2_name, arg2_val) \
723 INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_END, \
724 category_group, name, id, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val, \
725 arg2_name, arg2_val)
726 #define TRACE_EVENT_COPY_NESTABLE_ASYNC_END_WITH_TTS2(category_group, name, \ 756 #define TRACE_EVENT_COPY_NESTABLE_ASYNC_END_WITH_TTS2(category_group, name, \
727 id, arg1_name, arg1_val, arg2_name, arg2_val) \ 757 id, arg1_name, arg1_val, arg2_name, arg2_val) \
728 INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_END, \ 758 INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_NESTABLE_ASYNC_END, \
729 category_group, name, id, \ 759 category_group, name, id, \
730 TRACE_EVENT_FLAG_ASYNC_TTS | TRACE_EVENT_FLAG_COPY, \ 760 TRACE_EVENT_FLAG_ASYNC_TTS | TRACE_EVENT_FLAG_COPY, \
731 arg1_name, arg1_val, arg2_name, arg2_val) 761 arg1_name, arg1_val, arg2_name, arg2_val)
732 762
733 // Records a single NESTABLE_ASYNC_INSTANT event called "name" immediately, 763 // Records a single NESTABLE_ASYNC_INSTANT event called "name" immediately,
734 // with 2 associated arguments. If the category is not enabled, then this 764 // with 2 associated arguments. If the category is not enabled, then this
735 // does nothing. 765 // does nothing.
(...skipping 702 matching lines...) Expand 10 before | Expand all | Expand 10 after
1438 phase, category_group_enabled, name, id, thread_id, timestamp, 1468 phase, category_group_enabled, name, id, thread_id, timestamp,
1439 kZeroNumArgs, NULL, NULL, NULL, NULL, flags); 1469 kZeroNumArgs, NULL, NULL, NULL, NULL, flags);
1440 } 1470 }
1441 1471
1442 static inline base::trace_event::TraceEventHandle AddTraceEvent( 1472 static inline base::trace_event::TraceEventHandle AddTraceEvent(
1443 char phase, 1473 char phase,
1444 const unsigned char* category_group_enabled, 1474 const unsigned char* category_group_enabled,
1445 const char* name, 1475 const char* name,
1446 unsigned long long id, 1476 unsigned long long id,
1447 unsigned char flags) { 1477 unsigned char flags) {
1448 int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); 1478 const int thread_id = static_cast<int>(base::PlatformThread::CurrentId());
1449 base::TimeTicks now = base::TimeTicks::NowFromSystemTraceTime(); 1479 const base::TimeTicks now = base::TimeTicks::NowFromSystemTraceTime();
1450 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, 1480 return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled,
1451 name, id, thread_id, now, flags); 1481 name, id, thread_id, now, flags);
1452 } 1482 }
1453 1483
1454 template<class ARG1_TYPE> 1484 template<class ARG1_TYPE>
1455 static inline base::trace_event::TraceEventHandle 1485 static inline base::trace_event::TraceEventHandle
1456 AddTraceEventWithThreadIdAndTimestamp( 1486 AddTraceEventWithThreadIdAndTimestamp(
1457 char phase, 1487 char phase,
1458 const unsigned char* category_group_enabled, 1488 const unsigned char* category_group_enabled,
1459 const char* name, 1489 const char* name,
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
1648 const char* name_; 1678 const char* name_;
1649 IDType id_; 1679 IDType id_;
1650 1680
1651 DISALLOW_COPY_AND_ASSIGN(TraceScopedTrackableObject); 1681 DISALLOW_COPY_AND_ASSIGN(TraceScopedTrackableObject);
1652 }; 1682 };
1653 1683
1654 } // namespace trace_event 1684 } // namespace trace_event
1655 } // namespace base 1685 } // namespace base
1656 1686
1657 #endif // BASE_TRACE_EVENT_TRACE_EVENT_H_ 1687 #endif // BASE_TRACE_EVENT_TRACE_EVENT_H_
OLDNEW
« no previous file with comments | « base/trace_event/memory_dump_request_args.h ('k') | base/trace_event/trace_event_argument.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698