summaryrefslogtreecommitdiff
path: root/sql/my_json_writer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/my_json_writer.cc')
-rw-r--r--sql/my_json_writer.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/sql/my_json_writer.cc b/sql/my_json_writer.cc
index 7a3dc776093..e97db210da7 100644
--- a/sql/my_json_writer.cc
+++ b/sql/my_json_writer.cc
@@ -130,6 +130,27 @@ void Json_writer::add_ll(longlong val)
}
+/* Add a memory size, printing in Kb, Kb, Gb if necessary */
+void Json_writer::add_size(longlong val)
+{
+ char buf[64];
+ if (val < 1024)
+ my_snprintf(buf, sizeof(buf), "%ld", val);
+ else if (val < 1024*1024*16)
+ {
+ /* Values less than 16MB are specified in KB for precision */
+ size_t len= my_snprintf(buf, sizeof(buf), "%ld", val/1024);
+ strcpy(buf + len, "Kb");
+ }
+ else
+ {
+ size_t len= my_snprintf(buf, sizeof(buf), "%ld", val/(1024*1024));
+ strcpy(buf + len, "Mb");
+ }
+ add_str(buf);
+}
+
+
void Json_writer::add_double(double val)
{
char buf[64];