VBoxManageMetrics.cpp revision 9476d2be49d26a770787f5957478b930484c6ea5
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * VBoxManage - The 'metrics' command.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Copyright (C) 2006-2008 Sun Microsystems, Inc.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * available from http://www.virtualbox.org. This file is free software;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * you can redistribute it and/or modify it under the terms of the GNU
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * General Public License (GPL) as published by the Free Software
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync * additional information or have any questions.
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync/*******************************************************************************
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync* Header Files *
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync*******************************************************************************/
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncusing namespace com;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync///////////////////////////////////////////////////////////////////////////////
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsyncstatic char *toBaseMetricNames(const char *metricList)
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync char *newList = (char*)RTMemAlloc(strlen(metricList) + 1);
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync bool fSkip = false;
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync while ((c = *src++))
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync if (c == ':')
38ae7e4efe803ea78b6499cd05a394db32623e41vboxsync else if (c == ',')
if (!fSkip)
*dst++ = c;
*dst = 0;
return newList;
if (!tmp)
return VERR_NO_MEMORY;
return rc;
return rc;
return name;
bool listMatches = false;
listMatches = true;
if (listMatches)
for (unsigned j = 0; j < retLengths[i]; j++)
*pts = 0;
*pts = 0;
static bool volatile g_fKeepGoing = true;
#ifdef RT_OS_WINDOWS
switch (dwCtrlType)
case CTRL_C_EVENT:
case CTRL_BREAK_EVENT:
case CTRL_CLOSE_EVENT:
return TRUE;
return FALSE;
listMatches = true;
isDetached = true;
if (listMatches)
if (isDetached)
#ifdef RT_OS_WINDOWS
while (g_fKeepGoing)
RTPrintf("%-12s %-10ls %-20ls ", ts, getObjectName(aVirtualBox, retObjects[i]).raw(), metricName.raw());
for (unsigned j = 0; j < retLengths[i]; j++)
#ifdef RT_OS_WINDOWS
int rc;
return rc;