Fix size formatting
The sizes were rounded up instead of down. This caused gigabyte sizes to be shown in the terabyte range.
This commit is contained in:
@ -59,7 +59,7 @@ namespace maxbase
|
|||||||
std::string to_binary_size(int64_t size)
|
std::string to_binary_size(int64_t size)
|
||||||
{
|
{
|
||||||
// Calculate log1024(size) and round it up
|
// Calculate log1024(size) and round it up
|
||||||
int idx = ceil(log(size) / log(1024));
|
int idx = floor(log(size) / log(1024));
|
||||||
double num = size / pow(1024, idx);
|
double num = size / pow(1024, idx);
|
||||||
char buf[200]; // Enough for all possible values
|
char buf[200]; // Enough for all possible values
|
||||||
snprintf(buf, sizeof(buf), "%.2lf%s", num, get_binary_size_suffix(idx));
|
snprintf(buf, sizeof(buf), "%.2lf%s", num, get_binary_size_suffix(idx));
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
#include <maxscale/alloc.h>
|
#include <maxscale/alloc.h>
|
||||||
#include <maxbase/atomic.h>
|
#include <maxbase/atomic.h>
|
||||||
|
#include <maxbase/format.hh>
|
||||||
#include <maxscale/config.h>
|
#include <maxscale/config.h>
|
||||||
#include <maxscale/json_api.h>
|
#include <maxscale/json_api.h>
|
||||||
#include <maxscale/log.h>
|
#include <maxscale/log.h>
|
||||||
@ -396,9 +397,9 @@ bool qc_setup(const QC_CACHE_PROPERTIES* cache_properties,
|
|||||||
|
|
||||||
if (cache_max_size)
|
if (cache_max_size)
|
||||||
{
|
{
|
||||||
MXS_NOTICE("Query classification results are cached and reused, "
|
MXS_NOTICE("Query classification results are cached and reused. "
|
||||||
"cache max size: %" PRIi64 "",
|
"Memory used per thread: %s",
|
||||||
cache_max_size);
|
mxb::to_binary_size(cache_max_size).c_str());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user