Index: base/trace_event/trace_log.cc |
diff --git a/base/trace_event/trace_log.cc b/base/trace_event/trace_log.cc |
index eed24118a48ff9be7cc79901d5545d7568aa1d33..13815b306cb15911c43ed98453094c7916e783db 100644 |
--- a/base/trace_event/trace_log.cc |
+++ b/base/trace_event/trace_log.cc |
@@ -79,9 +79,6 @@ const size_t kMonitorTraceEventBufferChunks = 30000 / kTraceBufferChunkSize; |
// ECHO_TO_CONSOLE needs a small buffer to hold the unfinished COMPLETE events. |
const size_t kEchoToConsoleTraceEventBufferChunks = 256; |
-// The overhead of TraceEvent above this threshold will be reported in the |
-// trace. |
-const int kOverheadReportThresholdInMicroseconds = 50; |
const size_t kTraceEventBufferSizeInBytes = 100 * 1024; |
const int kThreadFlushTimeoutMs = 3000; |
@@ -102,9 +99,7 @@ const char* g_category_groups[MAX_CATEGORY_GROUPS] = { |
"toplevel", |
"tracing already shutdown", |
"tracing categories exhausted; must increase MAX_CATEGORY_GROUPS", |
- "__metadata", |
- // For reporting trace_event overhead. For thread local event buffers only. |
- "trace_event_overhead"}; |
+ "__metadata"}; |
// The enabled flag is char instead of bool so that the API can be used from C. |
unsigned char g_category_group_enabled[MAX_CATEGORY_GROUPS] = {0}; |
@@ -112,8 +107,7 @@ unsigned char g_category_group_enabled[MAX_CATEGORY_GROUPS] = {0}; |
const int g_category_already_shutdown = 1; |
const int g_category_categories_exhausted = 2; |
const int g_category_metadata = 3; |
-const int g_category_trace_event_overhead = 4; |
-const int g_num_builtin_categories = 5; |
+const int g_num_builtin_categories = 4; |
// Skip default categories. |
base::subtle::AtomicWord g_category_index = g_num_builtin_categories; |
@@ -221,9 +215,6 @@ class TraceLog::ThreadLocalEventBuffer |
TraceEvent* AddTraceEvent(TraceEventHandle* handle); |
- void ReportOverhead(const TraceTicks& event_timestamp, |
- const ThreadTicks& event_thread_timestamp); |
- |
TraceEvent* GetEventByHandle(TraceEventHandle handle) { |
if (!chunk_ || handle.chunk_seq != chunk_->seq() || |
handle.chunk_index != chunk_index_) |
@@ -253,8 +244,6 @@ class TraceLog::ThreadLocalEventBuffer |
TraceLog* trace_log_; |
scoped_ptr<TraceBufferChunk> chunk_; |
size_t chunk_index_; |
- int event_count_; |
- TimeDelta overhead_; |
int generation_; |
DISALLOW_COPY_AND_ASSIGN(ThreadLocalEventBuffer); |
@@ -263,7 +252,6 @@ class TraceLog::ThreadLocalEventBuffer |
TraceLog::ThreadLocalEventBuffer::ThreadLocalEventBuffer(TraceLog* trace_log) |
: trace_log_(trace_log), |
chunk_index_(0), |
- event_count_(0), |
generation_(trace_log->generation()) { |
// ThreadLocalEventBuffer is created only if the thread has a message loop, so |
// the following message_loop won't be NULL. |
@@ -283,17 +271,6 @@ TraceLog::ThreadLocalEventBuffer::~ThreadLocalEventBuffer() { |
MessageLoop::current()->RemoveDestructionObserver(this); |
MemoryDumpManager::GetInstance()->UnregisterDumpProvider(this); |
- // Zero event_count_ happens in either of the following cases: |
- // - no event generated for the thread; |
- // - the thread has no message loop; |
- // - trace_event_overhead is disabled. |
- if (event_count_) { |
- InitializeMetadataEvent(AddTraceEvent(NULL), |
- static_cast<int>(base::PlatformThread::CurrentId()), |
- "overhead", "average_overhead", |
- overhead_.InMillisecondsF() / event_count_); |
- } |
- |
{ |
AutoLock lock(trace_log_->lock_); |
FlushWhileLocked(); |
@@ -327,43 +304,6 @@ TraceEvent* TraceLog::ThreadLocalEventBuffer::AddTraceEvent( |
return trace_event; |
} |
-void TraceLog::ThreadLocalEventBuffer::ReportOverhead( |
- const TraceTicks& event_timestamp, |
- const ThreadTicks& event_thread_timestamp) { |
- if (!g_category_group_enabled[g_category_trace_event_overhead]) |
- return; |
- |
- CheckThisIsCurrentBuffer(); |
- |
- event_count_++; |
- ThreadTicks thread_now = ThreadNow(); |
- TraceTicks now = trace_log_->OffsetNow(); |
- TimeDelta overhead = now - event_timestamp; |
- if (overhead.InMicroseconds() >= kOverheadReportThresholdInMicroseconds) { |
- TraceEvent* trace_event = AddTraceEvent(NULL); |
- if (trace_event) { |
- trace_event->Initialize( |
- static_cast<int>(PlatformThread::CurrentId()), |
- event_timestamp, |
- event_thread_timestamp, |
- TRACE_EVENT_PHASE_COMPLETE, |
- &g_category_group_enabled[g_category_trace_event_overhead], |
- "overhead", |
- trace_event_internal::kNoId, // id |
- trace_event_internal::kNoId, // context_id |
- trace_event_internal::kNoId, // bind_id |
- ::trace_event_internal::kZeroNumArgs, |
- nullptr, |
- nullptr, |
- nullptr, |
- nullptr, |
- TRACE_EVENT_FLAG_NONE); |
- trace_event->UpdateDuration(now, thread_now); |
- } |
- } |
- overhead_ += overhead; |
-} |
- |
void TraceLog::ThreadLocalEventBuffer::WillDestroyCurrentMessageLoop() { |
delete this; |
} |
@@ -634,8 +574,6 @@ const unsigned char* TraceLog::GetCategoryGroupEnabledInternal( |
void TraceLog::GetKnownCategoryGroups( |
std::vector<std::string>* category_groups) { |
AutoLock lock(lock_); |
- category_groups->push_back( |
- g_category_groups[g_category_trace_event_overhead]); |
size_t category_index = base::subtle::NoBarrier_Load(&g_category_index); |
for (size_t i = g_num_builtin_categories; i < category_index; i++) |
category_groups->push_back(g_category_groups[i]); |
@@ -1257,9 +1195,6 @@ TraceEventHandle TraceLog::AddTraceEventWithThreadIdAndTimestamp( |
} |
TraceTicks offset_event_timestamp = OffsetTimestamp(timestamp); |
- TraceTicks now = flags & TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP |
- ? OffsetNow() |
- : offset_event_timestamp; |
ThreadTicks thread_now = ThreadNow(); |
// |thread_local_event_buffer_| can be null if the current thread doesn't have |
@@ -1385,9 +1320,6 @@ TraceEventHandle TraceLog::AddTraceEventWithThreadIdAndTimestamp( |
} |
} |
- if (thread_local_event_buffer) |
- thread_local_event_buffer->ReportOverhead(now, thread_now); |
- |
return handle; |
} |