]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.nativemem/src/org/simantics/nativemem/ProcessMemoryCounters.java
Get rid of uses of gnu.trove2
[simantics/platform.git] / bundles / org.simantics.nativemem / src / org / simantics / nativemem / ProcessMemoryCounters.java
1 package org.simantics.nativemem;
2
3 /**
4  * Architecture-independent version of the Windows PsApi PROCESS_MEMORY_COUNTERS
5  * structure.
6  * 
7  * @author Tuukka Lehtonen
8  */
9 public class ProcessMemoryCounters {
10     public int PageFaultCount;
11     public long PeakWorkingSetSize;
12     public long WorkingSetSize;
13     public long QuotaPeakPagedPoolUsage;
14     public long QuotaPagedPoolUsage;
15     public long QuotaPeakNonPagedPoolUsage;
16     public long QuotaNonPagedPoolUsage;
17     public long PagefileUsage;
18     public long PeakPagefileUsage;
19     public long PrivateUsage;
20
21     @Override
22     public String toString() {
23         return "ProcessMemoryCounters [PageFaultCount="
24                 + PageFaultCount + ", PeakWorkingSetSize=" + PeakWorkingSetSize
25                 + ", WorkingSetSize=" + WorkingSetSize
26                 + ", QuotaPeakPagedPoolUsage=" + QuotaPeakPagedPoolUsage
27                 + ", QuotaPagedPoolUsage=" + QuotaPagedPoolUsage
28                 + ", QuotaPeakNonPagedPoolUsage=" + QuotaPeakNonPagedPoolUsage
29                 + ", QuotaNonPagedPoolUsage=" + QuotaNonPagedPoolUsage
30                 + ", PagefileUsage=" + PagefileUsage + ", PeakPagefileUsage="
31                 + PeakPagefileUsage + ", PrivateUsage=" + PrivateUsage + "]";
32     }
33
34     public String toHumanReadableString() {
35         StringBuilder sb = new StringBuilder();
36         sb.append("ProcessMemoryCounters [\n\tPageFaultCount             = ").append(PageFaultCount)
37         .append(",\n\tPeakWorkingSetSize         = ").append(toMb(PeakWorkingSetSize))
38         .append(" MB,\n\tWorkingSetSize             = ").append(toMb(WorkingSetSize))
39         .append(" MB,\n\tQuotaPeakPagedPoolUsage    = ").append(toMb(QuotaPeakPagedPoolUsage))
40         .append(" MB,\n\tQuotaPagedPoolUsage        = ").append(toMb(QuotaPagedPoolUsage))
41         .append(" MB,\n\tQuotaPeakNonPagedPoolUsage = ").append(toMb(QuotaPeakNonPagedPoolUsage))
42         .append(" MB,\n\tQuotaNonPagedPoolUsage     = ").append(toMb(QuotaNonPagedPoolUsage))
43         .append(" MB,\n\tPagefileUsage              = ").append(toMb(PagefileUsage))
44         .append(" MB,\n\tPeakPagefileUsage          = ").append(toMb(PeakPagefileUsage))
45         .append(" MB,\n\tPrivateUsage               = ").append(toMb(PrivateUsage))
46         .append(" MB]");
47         return sb.toString();
48     }
49
50     private double toMb(long bytes) {
51         return (double) bytes / 1048576.0;
52     }
53
54 }