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

Side by Side Diff: cc/debug/devtools_instrumentation.h

Issue 60353002: cc: add DevTools instrumentation for impl-side frames (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 7 years 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | cc/scheduler/scheduler.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 CC_DEBUG_DEVTOOLS_INSTRUMENTATION_H_ 5 #ifndef CC_DEBUG_DEVTOOLS_INSTRUMENTATION_H_
6 #define CC_DEBUG_DEVTOOLS_INSTRUMENTATION_H_ 6 #define CC_DEBUG_DEVTOOLS_INSTRUMENTATION_H_
7 7
8 #include "base/debug/trace_event.h" 8 #include "base/debug/trace_event.h"
9 9
10 namespace cc { 10 namespace cc {
11 namespace devtools_instrumentation { 11 namespace devtools_instrumentation {
12 12
13 namespace internal { 13 namespace internal {
14 const char kCategory[] = "cc,devtools"; 14 const char kCategory[] = "cc,devtools";
15 const char kFrameId[] = "frameId";
15 const char kLayerId[] = "layerId"; 16 const char kLayerId[] = "layerId";
16 const char kLayerTreeId[] = "layerTreeId"; 17 const char kLayerTreeId[] = "layerTreeId";
17 const char kPixelRefId[] = "pixelRefId"; 18 const char kPixelRefId[] = "pixelRefId";
18 19
19 const char kImageDecodeTask[] = "ImageDecodeTask"; 20 const char kImageDecodeTask[] = "ImageDecodeTask";
20 } 21 const char kBeginFrame[] = "BeginFrame";
22 const char kActivateLayerTree[] = "ActivateLayerTree";
23 } // namespace internal
21 24
22 const char kPaintLayer[] = "PaintLayer"; 25 const char kPaintLayer[] = "PaintLayer";
23 const char kRasterTask[] = "RasterTask"; 26 const char kRasterTask[] = "RasterTask";
24 const char kPaintSetup[] = "PaintSetup"; 27 const char kPaintSetup[] = "PaintSetup";
25 const char kUpdateLayer[] = "UpdateLayer"; 28 const char kUpdateLayer[] = "UpdateLayer";
26 29
27 class ScopedLayerTask { 30 class ScopedLayerTask {
28 public: 31 public:
29 ScopedLayerTask(const char* event_name, int layer_id) 32 ScopedLayerTask(const char* event_name, int layer_id)
30 : event_name_(event_name) { 33 : event_name_(event_name) {
(...skipping 19 matching lines...) Expand all
50 TRACE_EVENT_END0(internal::kCategory, internal::kImageDecodeTask); 53 TRACE_EVENT_END0(internal::kCategory, internal::kImageDecodeTask);
51 } 54 }
52 private: 55 private:
53 DISALLOW_COPY_AND_ASSIGN(ScopedImageDecodeTask); 56 DISALLOW_COPY_AND_ASSIGN(ScopedImageDecodeTask);
54 }; 57 };
55 58
56 class ScopedLayerTreeTask { 59 class ScopedLayerTreeTask {
57 public: 60 public:
58 ScopedLayerTreeTask(const char* event_name, 61 ScopedLayerTreeTask(const char* event_name,
59 int layer_id, 62 int layer_id,
60 uint64 tree_id) 63 int layer_tree_host_id)
61 : event_name_(event_name) { 64 : event_name_(event_name) {
62 TRACE_EVENT_BEGIN2(internal::kCategory, event_name_, 65 TRACE_EVENT_BEGIN2(internal::kCategory, event_name_,
63 internal::kLayerId, layer_id, internal::kLayerTreeId, tree_id); 66 internal::kLayerId, layer_id,
67 internal::kLayerTreeId, layer_tree_host_id);
64 } 68 }
65 ~ScopedLayerTreeTask() { 69 ~ScopedLayerTreeTask() {
66 TRACE_EVENT_END0(internal::kCategory, event_name_); 70 TRACE_EVENT_END0(internal::kCategory, event_name_);
67 } 71 }
68 private: 72 private:
69 const char* event_name_; 73 const char* event_name_;
70 74
71 DISALLOW_COPY_AND_ASSIGN(ScopedLayerTreeTask); 75 DISALLOW_COPY_AND_ASSIGN(ScopedLayerTreeTask);
72 }; 76 };
73 77
74 struct ScopedLayerObjectTracker 78 struct ScopedLayerObjectTracker
75 : public base::debug::TraceScopedTrackableObject<int> { 79 : public base::debug::TraceScopedTrackableObject<int> {
76 explicit ScopedLayerObjectTracker(int layer_id) 80 explicit ScopedLayerObjectTracker(int layer_id)
77 : base::debug::TraceScopedTrackableObject<int>( 81 : base::debug::TraceScopedTrackableObject<int>(
78 internal::kCategory, 82 internal::kCategory,
79 internal::kLayerId, 83 internal::kLayerId,
80 layer_id) { 84 layer_id) {
81 } 85 }
82 86
83 private: 87 private:
84 DISALLOW_COPY_AND_ASSIGN(ScopedLayerObjectTracker); 88 DISALLOW_COPY_AND_ASSIGN(ScopedLayerObjectTracker);
85 }; 89 };
86 90
91 inline void didActivateLayerTree(int layer_tree_host_id, int frame_id) {
92 TRACE_EVENT_INSTANT2(internal::kCategory,
93 internal::kActivateLayerTree,
94 TRACE_EVENT_SCOPE_THREAD,
95 internal::kLayerTreeId, layer_tree_host_id,
96 internal::kFrameId, frame_id);
97 }
98
99 inline void didBeginFrame(int layer_tree_host_id) {
100 TRACE_EVENT_INSTANT1(internal::kCategory,
101 internal::kBeginFrame,
102 TRACE_EVENT_SCOPE_THREAD,
103 internal::kLayerTreeId, layer_tree_host_id);
104 }
105
87 } // namespace devtools_instrumentation 106 } // namespace devtools_instrumentation
88 } // namespace cc 107 } // namespace cc
89 108
90 #endif // CC_DEBUG_DEVTOOLS_INSTRUMENTATION_H_ 109 #endif // CC_DEBUG_DEVTOOLS_INSTRUMENTATION_H_
OLDNEW
« no previous file with comments | « no previous file | cc/scheduler/scheduler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698