Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: base/trace_event/process_memory_maps.h

Issue 1647803004: Move base to DEPS (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef BASE_TRACE_EVENT_PROCESS_MEMORY_MAPS_H_
6 #define BASE_TRACE_EVENT_PROCESS_MEMORY_MAPS_H_
7
8 #include <string>
9 #include <vector>
10
11 #include "base/base_export.h"
12 #include "base/basictypes.h"
13
14 namespace base {
15 namespace trace_event {
16
17 class TracedValue;
18
19 // Data model for process-wide memory stats.
20 class BASE_EXPORT ProcessMemoryMaps {
21 public:
22 struct BASE_EXPORT VMRegion {
23 static const uint32 kProtectionFlagsRead;
24 static const uint32 kProtectionFlagsWrite;
25 static const uint32 kProtectionFlagsExec;
26
27 VMRegion();
28
29 uint64 start_address;
30 uint64 size_in_bytes;
31 uint32 protection_flags;
32 std::string mapped_file;
33
34 // private_dirty_resident + private_clean_resident + shared_dirty_resident +
35 // shared_clean_resident = resident set size.
36 uint64 byte_stats_private_dirty_resident;
37 uint64 byte_stats_private_clean_resident;
38 uint64 byte_stats_shared_dirty_resident;
39 uint64 byte_stats_shared_clean_resident;
40
41 uint64 byte_stats_swapped;
42
43 // For multiprocess accounting.
44 uint64 byte_stats_proportional_resident;
45 };
46
47 ProcessMemoryMaps();
48 ~ProcessMemoryMaps();
49
50 void AddVMRegion(const VMRegion& region) { vm_regions_.push_back(region); }
51 const std::vector<VMRegion>& vm_regions() const { return vm_regions_; }
52
53 // Called at trace generation time to populate the TracedValue.
54 void AsValueInto(TracedValue* value) const;
55
56 // Clears up all the VMRegion(s) stored.
57 void Clear();
58
59 private:
60 std::vector<VMRegion> vm_regions_;
61
62 DISALLOW_COPY_AND_ASSIGN(ProcessMemoryMaps);
63 };
64
65 } // namespace trace_event
66 } // namespace base
67
68 #endif // BASE_TRACE_EVENT_PROCESS_MEMORY_MAPS_H_
OLDNEW
« no previous file with comments | « base/trace_event/process_memory_dump_unittest.cc ('k') | base/trace_event/process_memory_maps.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698