From f0d9a01bccdaeb466c12c92057914bbfef59526c Mon Sep 17 00:00:00 2001 From: Antonin Kral Date: Thu, 15 Dec 2011 09:35:47 +0100 Subject: Imported Upstream version 2.0.2 --- util/processinfo_win32.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'util/processinfo_win32.cpp') diff --git a/util/processinfo_win32.cpp b/util/processinfo_win32.cpp index ec66aec..fdd88d3 100644 --- a/util/processinfo_win32.cpp +++ b/util/processinfo_win32.cpp @@ -19,7 +19,7 @@ #include "processinfo.h" #include #include - +#include "../bson/bsonobjbuilder.h" using namespace std; int getpid() { @@ -57,7 +57,20 @@ namespace mongo { return _wconvertmtos( pmc.WorkingSetSize ); } - void ProcessInfo::getExtraInfo(BSONObjBuilder& info) {} + void ProcessInfo::getExtraInfo(BSONObjBuilder& info) { + MEMORYSTATUSEX mse; + mse.dwLength = sizeof(mse); + PROCESS_MEMORY_COUNTERS pmc; + if( GetProcessMemoryInfo( GetCurrentProcess() , &pmc, sizeof(pmc) ) ) { + info.append("page_faults", static_cast(pmc.PageFaultCount)); + info.append("usagePageFileMB", static_cast(pmc.PagefileUsage / 1024 / 1024)); + } + if( GlobalMemoryStatusEx( &mse ) ) { + info.append("totalPageFileMB", static_cast(mse.ullTotalPageFile / 1024 / 1024)); + info.append("availPageFileMB", static_cast(mse.ullAvailPageFile / 1024 / 1024)); + info.append("ramMB", static_cast(mse.ullTotalPhys / 1024 / 1024)); + } + } bool ProcessInfo::blockCheckSupported() { return false; -- cgit v1.2.3