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 under third_party_mods/chromium or at: | 3 // found in the LICENSE file under third_party_mods/chromium or at: |
4 // http://src.chromium.org/svn/trunk/src/LICENSE | 4 // http://src.chromium.org/svn/trunk/src/LICENSE |
5 | 5 |
6 #ifndef WEBRTC_RTC_BASE_TRACE_EVENT_H_ | 6 #ifndef WEBRTC_RTC_BASE_TRACE_EVENT_H_ |
7 #define WEBRTC_RTC_BASE_TRACE_EVENT_H_ | 7 #define WEBRTC_RTC_BASE_TRACE_EVENT_H_ |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
568 // Implementation detail: trace event macros create temporary variables | 568 // Implementation detail: trace event macros create temporary variables |
569 // to keep instrumentation overhead low. These macros give each temporary | 569 // to keep instrumentation overhead low. These macros give each temporary |
570 // variable a unique name based on the line number to prevent name collissions. | 570 // variable a unique name based on the line number to prevent name collissions. |
571 #define INTERNAL_TRACE_EVENT_UID3(a,b) \ | 571 #define INTERNAL_TRACE_EVENT_UID3(a,b) \ |
572 trace_event_unique_##a##b | 572 trace_event_unique_##a##b |
573 #define INTERNAL_TRACE_EVENT_UID2(a,b) \ | 573 #define INTERNAL_TRACE_EVENT_UID2(a,b) \ |
574 INTERNAL_TRACE_EVENT_UID3(a,b) | 574 INTERNAL_TRACE_EVENT_UID3(a,b) |
575 #define INTERNAL_TRACE_EVENT_UID(name_prefix) \ | 575 #define INTERNAL_TRACE_EVENT_UID(name_prefix) \ |
576 INTERNAL_TRACE_EVENT_UID2(name_prefix, __LINE__) | 576 INTERNAL_TRACE_EVENT_UID2(name_prefix, __LINE__) |
577 | 577 |
| 578 #if WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS |
| 579 #define INTERNAL_TRACE_EVENT_INFO_TYPE const unsigned char* |
| 580 #else |
| 581 #define INTERNAL_TRACE_EVENT_INFO_TYPE static const unsigned char* |
| 582 #endif // WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS |
| 583 |
578 // Implementation detail: internal macro to create static category. | 584 // Implementation detail: internal macro to create static category. |
579 #define INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category) \ | 585 #define INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category) \ |
580 static const unsigned char* INTERNAL_TRACE_EVENT_UID(catstatic) = \ | 586 INTERNAL_TRACE_EVENT_INFO_TYPE INTERNAL_TRACE_EVENT_UID(catstatic) = \ |
581 TRACE_EVENT_API_GET_CATEGORY_ENABLED(category); | 587 TRACE_EVENT_API_GET_CATEGORY_ENABLED(category); |
582 | 588 |
583 // Implementation detail: internal macro to create static category and add | 589 // Implementation detail: internal macro to create static category and add |
584 // event if the category is enabled. | 590 // event if the category is enabled. |
585 #define INTERNAL_TRACE_EVENT_ADD(phase, category, name, flags, ...) \ | 591 #define INTERNAL_TRACE_EVENT_ADD(phase, category, name, flags, ...) \ |
586 do { \ | 592 do { \ |
587 INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category); \ | 593 INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category); \ |
588 if (*INTERNAL_TRACE_EVENT_UID(catstatic)) { \ | 594 if (*INTERNAL_TRACE_EVENT_UID(catstatic)) { \ |
589 webrtc::trace_event_internal::AddTraceEvent( \ | 595 webrtc::trace_event_internal::AddTraceEvent( \ |
590 phase, INTERNAL_TRACE_EVENT_UID(catstatic), name, \ | 596 phase, INTERNAL_TRACE_EVENT_UID(catstatic), name, \ |
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
901 const char* name; | 907 const char* name; |
902 }; | 908 }; |
903 Data* p_data_; | 909 Data* p_data_; |
904 Data data_; | 910 Data data_; |
905 }; | 911 }; |
906 | 912 |
907 } // namespace trace_event_internal | 913 } // namespace trace_event_internal |
908 } // namespace webrtc | 914 } // namespace webrtc |
909 | 915 |
910 #endif // WEBRTC_RTC_BASE_TRACE_EVENT_H_ | 916 #endif // WEBRTC_RTC_BASE_TRACE_EVENT_H_ |
OLD | NEW |