1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-01-22 22:03:39 +03:00

Bug #1673: Add support for 64-bit net_tx/net_rx counters. Contributed by Simon Boulet.

This commit is contained in:
Ruben S. Montero 2012-12-04 13:35:45 +01:00
parent d22567fe23
commit 5d54095119
4 changed files with 99 additions and 7 deletions

View File

@ -94,6 +94,30 @@ public:
int xpath(unsigned int& value, const char * xpath_expr,
const unsigned int& def);
/**
* Gets and sets a xpath attribute, if the attribute is not found a default
* is used
* @param value to set
* @param xpath_expr of the xml element
* @param def default value if the element is not found
*
* @return -1 if default was set
*/
int xpath(long long& value, const char * xpath_expr,
const long long& def);
/**
* Gets and sets a xpath attribute, if the attribute is not found a default
* is used
* @param value to set
* @param xpath_expr of the xml element
* @param def default value if the element is not found
*
* @return -1 if default was set
*/
int xpath(unsigned long long& value, const char * xpath_expr,
const unsigned long long& def);
/**
* Gets and sets a xpath attribute, if the attribute is not found a default
* is used

View File

@ -173,13 +173,13 @@ public:
* @param _memory Kilobytes used by the VM (total)
* @param _cpu used by the VM (rate)
* @param _net_tx transmitted bytes (total)
* @param _net_tx received bytes (total)
* @param _net_rx received bytes (total)
*/
void update_info(
const int _memory,
const int _cpu,
const int _net_tx,
const int _net_rx)
const long long _net_tx,
const long long _net_rx)
{
if (_memory != -1)
{
@ -1009,12 +1009,12 @@ private:
/**
* Network usage, transmitted bytes
*/
int net_tx;
long long net_tx;
/**
* Network usage, received bytes
*/
int net_rx;
long long net_rx;
/**
* History record, for the current host

View File

@ -386,8 +386,8 @@ void VirtualMachineManagerDriver::protocol(
int cpu = -1;
int memory = -1;
int net_tx = -1;
int net_rx = -1;
long long net_tx = -1;
long long net_rx = -1;
char state = '-';
string monitor_str = is.str();

View File

@ -222,6 +222,74 @@ int ObjectXML::xpath(unsigned int& value, const char * xpath_expr,
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
int ObjectXML::xpath(long long& value, const char * xpath_expr,
const long long& def)
{
vector<string> values;
int rc = 0;
values = (*this)[xpath_expr];
if (values.empty() == true)
{
value = def;
rc = -1;
}
else
{
istringstream iss;
iss.str(values[0]);
iss >> dec >> value;
if (iss.fail() == true)
{
value = def;
rc = -1;
}
}
return rc;
}
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
int ObjectXML::xpath(unsigned long long& value, const char * xpath_expr,
const unsigned long long& def)
{
vector<string> values;
int rc = 0;
values = (*this)[xpath_expr];
if (values.empty() == true)
{
value = def;
rc = -1;
}
else
{
istringstream iss;
iss.str(values[0]);
iss >> dec >> value;
if (iss.fail() == true)
{
value = def;
rc = -1;
}
}
return rc;
}
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
int ObjectXML::xpath(time_t& value, const char * xpath_expr, const time_t& def)
{
int int_val;