| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include <stdint.h> | 5 #include <stdint.h> |
| 6 | 6 |
| 7 #include "base/trace_event/heap_profiler_allocation_context_tracker.h" |
| 7 #include "base/trace_event/trace_event.h" | 8 #include "base/trace_event/trace_event.h" |
| 8 #include "skia/ext/event_tracer_impl.h" | 9 #include "skia/ext/event_tracer_impl.h" |
| 9 #include "third_party/skia/include/utils/SkEventTracer.h" | 10 #include "third_party/skia/include/utils/SkEventTracer.h" |
| 10 | 11 |
| 11 namespace skia { | 12 namespace skia { |
| 12 | 13 |
| 13 class SkChromiumEventTracer: public SkEventTracer { | 14 class SkChromiumEventTracer: public SkEventTracer { |
| 14 const uint8_t* getCategoryGroupEnabled(const char* name) override; | 15 const uint8_t* getCategoryGroupEnabled(const char* name) override; |
| 15 const char* getCategoryGroupName(const uint8_t* categoryEnabledFlag) override; | 16 const char* getCategoryGroupName(const uint8_t* categoryEnabledFlag) override; |
| 16 SkEventTracer::Handle addTraceEvent(char phase, | 17 SkEventTracer::Handle addTraceEvent(char phase, |
| 17 const uint8_t* categoryEnabledFlag, | 18 const uint8_t* categoryEnabledFlag, |
| 18 const char* name, | 19 const char* name, |
| 19 uint64_t id, | 20 uint64_t id, |
| 20 int32_t numArgs, | 21 int32_t numArgs, |
| 21 const char** argNames, | 22 const char** argNames, |
| 22 const uint8_t* argTypes, | 23 const uint8_t* argTypes, |
| 23 const uint64_t* argValues, | 24 const uint64_t* argValues, |
| 24 uint8_t flags) override; | 25 uint8_t flags) override; |
| 25 void updateTraceEventDuration(const uint8_t* categoryEnabledFlag, | 26 void updateTraceEventDuration(const uint8_t* categoryEnabledFlag, |
| 26 const char* name, | 27 const char* name, |
| 27 SkEventTracer::Handle handle) override; | 28 SkEventTracer::Handle handle) override; |
| 29 void pushPseudoStackFrame(const char* stack_frame) override; |
| 30 void popPseudoStackFrame(const char* stack_frame) override; |
| 28 }; | 31 }; |
| 29 | 32 |
| 30 const uint8_t* | 33 const uint8_t* |
| 31 SkChromiumEventTracer::getCategoryGroupEnabled(const char* name) { | 34 SkChromiumEventTracer::getCategoryGroupEnabled(const char* name) { |
| 32 return TRACE_EVENT_API_GET_CATEGORY_GROUP_ENABLED(name); | 35 return TRACE_EVENT_API_GET_CATEGORY_GROUP_ENABLED(name); |
| 33 } | 36 } |
| 34 | 37 |
| 38 void SkChromiumEventTracer::pushPseudoStackFrame(const char* stack_frame) { |
| 39 base::trace_event::AllocationContextTracker::GetInstanceForCurrentThread() |
| 40 ->PushPseudoStackFrame(stack_frame); |
| 41 } |
| 42 |
| 43 void SkChromiumEventTracer::popPseudoStackFrame(const char* stack_frame) { |
| 44 base::trace_event::AllocationContextTracker::GetInstanceForCurrentThread() |
| 45 ->PopPseudoStackFrame(stack_frame); |
| 46 } |
| 47 |
| 35 const char* SkChromiumEventTracer::getCategoryGroupName( | 48 const char* SkChromiumEventTracer::getCategoryGroupName( |
| 36 const uint8_t* categoryEnabledFlag) { | 49 const uint8_t* categoryEnabledFlag) { |
| 37 return base::trace_event::TraceLog::GetCategoryGroupName(categoryEnabledFlag); | 50 return base::trace_event::TraceLog::GetCategoryGroupName(categoryEnabledFlag); |
| 38 } | 51 } |
| 39 | 52 |
| 40 SkEventTracer::Handle | 53 SkEventTracer::Handle |
| 41 SkChromiumEventTracer::addTraceEvent(char phase, | 54 SkChromiumEventTracer::addTraceEvent(char phase, |
| 42 const uint8_t* categoryEnabledFlag, | 55 const uint8_t* categoryEnabledFlag, |
| 43 const char* name, | 56 const char* name, |
| 44 uint64_t id, | 57 uint64_t id, |
| (...skipping 24 matching lines...) Expand all Loading... |
| 69 | 82 |
| 70 } // namespace skia | 83 } // namespace skia |
| 71 | 84 |
| 72 | 85 |
| 73 void InitSkiaEventTracer() { | 86 void InitSkiaEventTracer() { |
| 74 // Initialize the binding to Skia's tracing events. Skia will | 87 // Initialize the binding to Skia's tracing events. Skia will |
| 75 // take ownership of and clean up the memory allocated here. | 88 // take ownership of and clean up the memory allocated here. |
| 76 if (!SkEventTracer::GetInstance()) | 89 if (!SkEventTracer::GetInstance()) |
| 77 SkEventTracer::SetInstance(new skia::SkChromiumEventTracer()); | 90 SkEventTracer::SetInstance(new skia::SkChromiumEventTracer()); |
| 78 } | 91 } |
| OLD | NEW |