diff options
author | Zeno Albisser <zeno.albisser@digia.com> | 2013-08-15 21:46:11 +0200 |
---|---|---|
committer | Zeno Albisser <zeno.albisser@digia.com> | 2013-08-15 21:46:11 +0200 |
commit | 679147eead574d186ebf3069647b4c23e8ccace6 (patch) | |
tree | fc247a0ac8ff119f7c8550879ebb6d3dd8d1ff69 /chromium/cc/debug/devtools_instrumentation.h | |
download | qtwebengine-chromium-679147eead574d186ebf3069647b4c23e8ccace6.tar.gz |
Initial import.
Diffstat (limited to 'chromium/cc/debug/devtools_instrumentation.h')
-rw-r--r-- | chromium/cc/debug/devtools_instrumentation.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/chromium/cc/debug/devtools_instrumentation.h b/chromium/cc/debug/devtools_instrumentation.h new file mode 100644 index 00000000000..7a77d404454 --- /dev/null +++ b/chromium/cc/debug/devtools_instrumentation.h @@ -0,0 +1,75 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CC_DEBUG_DEVTOOLS_INSTRUMENTATION_H_ +#define CC_DEBUG_DEVTOOLS_INSTRUMENTATION_H_ + +#include "base/debug/trace_event.h" + +namespace cc { +namespace devtools_instrumentation { + +namespace internal { +const char kCategory[] = "cc,devtools"; +const char kLayerId[] = "layerId"; +const char kLayerTreeId[] = "layerTreeId"; +} + +const char kPaintLayer[] = "PaintLayer"; +const char kRasterTask[] = "RasterTask"; +const char kImageDecodeTask[] = "ImageDecodeTask"; +const char kPaintSetup[] = "PaintSetup"; +const char kUpdateLayer[] = "UpdateLayer"; + +class ScopedLayerTask { + public: + ScopedLayerTask(const char* event_name, int layer_id) + : event_name_(event_name) { + TRACE_EVENT_BEGIN1(internal::kCategory, event_name_, + internal::kLayerId, layer_id); + } + ~ScopedLayerTask() { + TRACE_EVENT_END0(internal::kCategory, event_name_); + } + private: + const char* event_name_; + + DISALLOW_COPY_AND_ASSIGN(ScopedLayerTask); +}; + +class ScopedLayerTreeTask { + public: + ScopedLayerTreeTask(const char* event_name, + int layer_id, + uint64 tree_id) + : event_name_(event_name) { + TRACE_EVENT_BEGIN2(internal::kCategory, event_name_, + internal::kLayerId, layer_id, internal::kLayerTreeId, tree_id); + } + ~ScopedLayerTreeTask() { + TRACE_EVENT_END0(internal::kCategory, event_name_); + } + private: + const char* event_name_; + + DISALLOW_COPY_AND_ASSIGN(ScopedLayerTreeTask); +}; + +struct ScopedLayerObjectTracker + : public base::debug::TraceScopedTrackableObject<int> { + explicit ScopedLayerObjectTracker(int layer_id) + : base::debug::TraceScopedTrackableObject<int>( + internal::kCategory, + internal::kLayerId, + layer_id) { + } + + private: + DISALLOW_COPY_AND_ASSIGN(ScopedLayerObjectTracker); +}; + +} // namespace devtools_instrumentation +} // namespace cc + +#endif // CC_DEBUG_DEVTOOLS_INSTRUMENTATION_H_ |