Index: gpu/command_buffer/service/gpu_tracer.h |
diff --git a/gpu/command_buffer/service/gpu_tracer.h b/gpu/command_buffer/service/gpu_tracer.h |
index 2e81b4eb3bb000ac1164925c5ca704d047a0187a..603322079c18e883a00f0787a4b9bf128f70e7bc 100644 |
--- a/gpu/command_buffer/service/gpu_tracer.h |
+++ b/gpu/command_buffer/service/gpu_tracer.h |
@@ -42,9 +42,10 @@ enum GpuTracerType { |
// Marker structure for a Trace. |
struct TraceMarker { |
- TraceMarker(const std::string& name); |
+ TraceMarker(const std::string& category, const std::string& name); |
~TraceMarker(); |
+ std::string category_; |
std::string name_; |
scoped_refptr<GPUTrace> trace_; |
}; |
@@ -62,7 +63,8 @@ class GPUTracer : public base::SupportsWeakPtr<GPUTracer> { |
bool EndDecoding(); |
// Begin a trace marker. |
- bool Begin(const std::string& name, GpuTracerSource source); |
+ bool Begin(const std::string& category, const std::string& name, |
+ GpuTracerSource source); |
// End the last started trace marker. |
bool End(GpuTracerSource source); |
@@ -71,11 +73,13 @@ class GPUTracer : public base::SupportsWeakPtr<GPUTracer> { |
// Retrieve the name of the current open trace. |
// Returns empty string if no current open trace. |
+ const std::string& CurrentCategory() const; |
const std::string& CurrentName() const; |
private: |
// Trace Processing. |
- scoped_refptr<GPUTrace> CreateTrace(const std::string& name); |
+ scoped_refptr<GPUTrace> CreateTrace(const std::string& category, |
+ const std::string& name); |
void Process(); |
void ProcessTraces(); |
@@ -103,7 +107,8 @@ class GPUTracer : public base::SupportsWeakPtr<GPUTracer> { |
class Outputter : public base::RefCounted<Outputter> { |
public: |
- virtual void Trace(const std::string& name, |
+ virtual void Trace(const std::string& category, |
+ const std::string& name, |
int64 start_time, |
int64 end_time) = 0; |
@@ -115,7 +120,8 @@ class Outputter : public base::RefCounted<Outputter> { |
class TraceOutputter : public Outputter { |
public: |
static scoped_refptr<TraceOutputter> Create(const std::string& name); |
- void Trace(const std::string& name, |
+ void Trace(const std::string& category, |
+ const std::string& name, |
int64 start_time, |
int64 end_time) override; |
@@ -134,15 +140,18 @@ class GPU_EXPORT GPUTrace |
: public base::RefCounted<GPUTrace> { |
public: |
GPUTrace(scoped_refptr<Outputter> outputter, |
+ const std::string& category, |
const std::string& name, |
int64 offset, |
GpuTracerType tracer_type); |
bool IsEnabled() { return tracer_type_ != kTracerTypeInvalid; } |
+ |
+ const std::string& category() { return category_; } |
const std::string& name() { return name_; } |
- void Start(); |
- void End(); |
+ void Start(bool trace_service); |
+ void End(bool tracing_service); |
bool IsAvailable(); |
void Process(); |
@@ -153,6 +162,7 @@ class GPU_EXPORT GPUTrace |
friend class base::RefCounted<GPUTrace>; |
+ std::string category_; |
std::string name_; |
scoped_refptr<Outputter> outputter_; |