Index: base/debug/trace_event.cc |
diff --git a/base/debug/trace_event.cc b/base/debug/trace_event.cc |
index 5d5eebbcb5dd416018b96b5313b6f1e0b7c15e8a..dbddeb39fbcc8b0eed91875741c98c3f821d2f29 100644 |
--- a/base/debug/trace_event.cc |
+++ b/base/debug/trace_event.cc |
@@ -223,6 +223,8 @@ const char* TraceEvent::GetPhaseString(TraceEventPhase phase) { |
return "E"; |
case TRACE_EVENT_PHASE_METADATA: |
return "M"; |
+ case TRACE_EVENT_PHASE_COUNTER: |
+ return "C"; |
default: |
NOTREACHED() << "Invalid phase argument"; |
return "?"; |
@@ -239,6 +241,8 @@ TraceEventPhase TraceEvent::GetPhase(const char* phase) { |
return TRACE_EVENT_PHASE_END; |
case 'M': |
return TRACE_EVENT_PHASE_METADATA; |
+ case 'C': |
+ return TRACE_EVENT_PHASE_COUNTER; |
default: |
NOTREACHED() << "Invalid phase name"; |
return TRACE_EVENT_PHASE_METADATA; |
@@ -637,6 +641,20 @@ void TraceLog::AddTraceEventEtw(TraceEventPhase phase, |
base::debug::TraceLog::EVENT_FLAG_COPY); |
} |
+int TraceLog::AddCounterEvent(const TraceCategory* category, |
+ const char* name, |
+ const char* value1_name, int32 value1_val, |
+ const char* value2_name, int32 value2_val, |
+ EventFlags flags) { |
+ return AddTraceEvent(TRACE_EVENT_PHASE_COUNTER, |
+ category, |
+ name, |
+ value1_name, value1_val, |
+ value2_name, value2_val, |
+ -1, 0, |
+ flags); |
+} |
+ |
void TraceLog::AddCurrentMetadataEvents() { |
lock_.AssertAcquired(); |
for(base::hash_map<PlatformThreadId, std::string>::iterator it = |