webrtc_m130/webrtc/base/location.cc
Taylor Brandstetter 5d97a9a05b 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}
2016-06-10 21:17:33 +00:00

39 lines
1.2 KiB
C++

/*
* Copyright 2016 The WebRTC Project Authors. All rights reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include "webrtc/base/location.h"
#include "webrtc/base/stringutils.h"
namespace rtc {
Location::Location(const char* function_name, const char* file_and_line)
: function_name_(function_name), file_and_line_(file_and_line) {}
Location::Location() : function_name_("Unknown"), file_and_line_("Unknown") {}
Location::Location(const Location& other)
: function_name_(other.function_name_),
file_and_line_(other.file_and_line_) {}
Location& Location::operator=(const Location& other) {
function_name_ = other.function_name_;
file_and_line_ = other.file_and_line_;
return *this;
}
std::string Location::ToString() const {
char buf[256];
sprintfn(buf, sizeof(buf), "%s@%s", function_name_, file_and_line_);
return buf;
}
} // namespace rtc