summaryrefslogtreecommitdiffstats
path: root/base/trace_event/trace_event_impl.cc
diff options
context:
space:
mode:
authorwangxianzhu <wangxianzhu@chromium.org>2015-02-23 11:13:52 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-23 19:14:26 +0000
commit02769c33ee568c5329ce85702428635e2ef442ee (patch)
tree798e2d9d9fc1736a0be2f61314454ff8ee862b6e /base/trace_event/trace_event_impl.cc
parent88db1a01502634619859cc428151bc571d6eebac (diff)
downloadchromium_src-02769c33ee568c5329ce85702428635e2ef442ee.zip
chromium_src-02769c33ee568c5329ce85702428635e2ef442ee.tar.gz
chromium_src-02769c33ee568c5329ce85702428635e2ef442ee.tar.bz2
Avoid twice clock reading
Add TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP which is set when an explicit timestamp is specified for the trace event. Only re-read clock if the flag is set. BUG=457441 Review URL: https://codereview.chromium.org/928563003 Cr-Commit-Position: refs/heads/master@{#317618}
Diffstat (limited to 'base/trace_event/trace_event_impl.cc')
-rw-r--r--base/trace_event/trace_event_impl.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/base/trace_event/trace_event_impl.cc b/base/trace_event/trace_event_impl.cc
index 9ca0ddc..445cb6d 100644
--- a/base/trace_event/trace_event_impl.cc
+++ b/base/trace_event/trace_event_impl.cc
@@ -1914,7 +1914,8 @@ TraceEventHandle TraceLog::AddTraceEventWithThreadIdAndTimestamp(
id ^= process_id_hash_;
TimeTicks offset_event_timestamp = OffsetTimestamp(timestamp);
- TimeTicks now = OffsetNow();
+ TimeTicks now = flags & TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP ?
+ OffsetNow() : offset_event_timestamp;
TimeTicks thread_now = ThreadNow();
ThreadLocalEventBuffer* thread_local_event_buffer = NULL;
@@ -2035,9 +2036,6 @@ TraceEventHandle TraceLog::AddTraceEventWithThreadIdAndTimestamp(
}
}
- // Use |now| instead of |offset_event_timestamp| to compute overhead, because
- // event timestamp may be not the real time that we started to add the event
- // (e.g. event with zero timestamp or that was generated some time ago).
if (thread_local_event_buffer)
thread_local_event_buffer->ReportOverhead(now, thread_now);