OLD | NEW |
---|---|
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/trace_event/trace_event_argument.h" | 5 #include "base/trace_event/trace_event_argument.h" |
6 | 6 |
7 #include "base/bits.h" | |
7 #include "base/json/json_writer.h" | 8 #include "base/json/json_writer.h" |
8 #include "base/trace_event/trace_event_memory_overhead.h" | 9 #include "base/trace_event/trace_event_memory_overhead.h" |
9 #include "base/values.h" | 10 #include "base/values.h" |
10 | 11 |
11 namespace base { | 12 namespace base { |
12 namespace trace_event { | 13 namespace trace_event { |
13 | 14 |
14 namespace { | 15 namespace { |
15 const char kTypeStartDict = '{'; | 16 const char kTypeStartDict = '{'; |
16 const char kTypeEndDict = '}'; | 17 const char kTypeEndDict = '}'; |
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
446 // TODO(primiano): this could be smarter, skip the ToBaseValue encoding and | 447 // TODO(primiano): this could be smarter, skip the ToBaseValue encoding and |
447 // produce the JSON on its own. This will require refactoring JSONWriter | 448 // produce the JSON on its own. This will require refactoring JSONWriter |
448 // to decouple the base::Value traversal from the JSON writing bits | 449 // to decouple the base::Value traversal from the JSON writing bits |
449 std::string tmp; | 450 std::string tmp; |
450 JSONWriter::Write(*ToBaseValue(), &tmp); | 451 JSONWriter::Write(*ToBaseValue(), &tmp); |
451 *out += tmp; | 452 *out += tmp; |
452 } | 453 } |
453 | 454 |
454 void TracedValue::EstimateTraceMemoryOverhead( | 455 void TracedValue::EstimateTraceMemoryOverhead( |
455 TraceEventMemoryOverhead* overhead) { | 456 TraceEventMemoryOverhead* overhead) { |
457 const size_t kPickleAlignment = 4096; | |
Lei Zhang
2015/07/24 01:36:48
Is this assuming |kPickleHeapAlign| in pickle.cc i
Primiano Tucci (use gerrit)
2015/07/24 09:37:38
Yes. It felt a bit of a stretch exposing it as a p
Lei Zhang
2015/07/24 18:59:55
Ok. Maybe expose it if we ever find another need t
| |
456 overhead->Add("TracedValue", | 458 overhead->Add("TracedValue", |
457 pickle_.GetTotalAllocatedSize() /* allocated size */, | 459 |
458 pickle_.size() /* resident size */); | 460 /* allocated size */ |
461 bits::Align(pickle_.GetTotalAllocatedSize(), kPickleAlignment), | |
462 | |
463 /* resident size */ | |
464 bits::Align(pickle_.size(), kPickleAlignment)); | |
459 } | 465 } |
460 | 466 |
461 } // namespace trace_event | 467 } // namespace trace_event |
462 } // namespace base | 468 } // namespace base |
OLD | NEW |