Adding more detail to MessageQueue::Dispatch logging.
Every message will now be traced with the location from which it was
posted, including function name, file and line number.
This CL also writes a normal LOG message when the dispatch took more
than a certain amount of time (currently 50ms).
This logging should help us identify messages that are taking
longer than expected to be dispatched.
R=pthatcher@webrtc.org, tommi@webrtc.org
Review URL: https://codereview.webrtc.org/2019423006 .
Cr-Commit-Position: refs/heads/master@{#13104}
diff --git a/webrtc/base/messagequeue_unittest.cc b/webrtc/base/messagequeue_unittest.cc
index 50c2ad0..fc3a8f7 100644
--- a/webrtc/base/messagequeue_unittest.cc
+++ b/webrtc/base/messagequeue_unittest.cc
@@ -35,7 +35,7 @@
Thread worker;
worker.Start();
return worker.Invoke<bool>(
- rtc::Bind(&MessageQueueTest::IsLocked_Worker, this));
+ RTC_FROM_HERE, rtc::Bind(&MessageQueueTest::IsLocked_Worker, this));
}
};
@@ -55,11 +55,11 @@
MessageQueue* q) {
EXPECT_TRUE(q != NULL);
int64_t now = TimeMillis();
- q->PostAt(now, NULL, 3);
- q->PostAt(now - 2, NULL, 0);
- q->PostAt(now - 1, NULL, 1);
- q->PostAt(now, NULL, 4);
- q->PostAt(now - 1, NULL, 2);
+ q->PostAt(RTC_FROM_HERE, now, NULL, 3);
+ q->PostAt(RTC_FROM_HERE, now - 2, NULL, 0);
+ q->PostAt(RTC_FROM_HERE, now - 1, NULL, 1);
+ q->PostAt(RTC_FROM_HERE, now, NULL, 4);
+ q->PostAt(RTC_FROM_HERE, now - 1, NULL, 2);
Message msg;
for (size_t i=0; i<5; ++i) {
@@ -109,7 +109,7 @@
// First, post a dispose.
Dispose(handler);
// Now, post a message, which should *not* be returned by Get().
- Post(handler, 1);
+ Post(RTC_FROM_HERE, handler, 1);
Message msg;
EXPECT_FALSE(Get(&msg, 0));
EXPECT_TRUE(deleted);