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