Hoa Nguyen has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/38675 )

Change subject: base-stats: Print units to stats.txt
......................................................................

base-stats: Print units to stats.txt

Change-Id: Ia2050ac29619575e6c3b10529dd5f5c6bcc8ee97
Signed-off-by: Hoa Nguyen <hoangu...@ucdavis.edu>
---
M src/base/stats/text.cc
1 file changed, 26 insertions(+), 0 deletions(-)



diff --git a/src/base/stats/text.cc b/src/base/stats/text.cc
index fa342a2..a1ff13a 100644
--- a/src/base/stats/text.cc
+++ b/src/base/stats/text.cc
@@ -225,6 +225,7 @@
     Result value;
     string name;
     string desc;
+    string unit;
     Flags flags;
     bool descriptions;
     bool spaces;
@@ -233,6 +234,7 @@
     Result cdf;
     int nameSpaces;
     int valueSpaces;
+    int unitSpaces;
     int pdfstrSpaces;
     int cdfstrSpaces;

@@ -240,11 +242,13 @@
         if (spaces) {
             nameSpaces = 40;
             valueSpaces = 12;
+            unitSpaces = 15;
             pdfstrSpaces = 10;
             cdfstrSpaces = 10;
         } else {
             nameSpaces = 0;
             valueSpaces = 0;
+            unitSpaces = 0;
             pdfstrSpaces = 0;
             cdfstrSpaces = 0;
         }
@@ -284,6 +288,10 @@
         ccprintf(stream, "%-*s ", nameSpaces, name);
     }
     ccprintf(stream, "%*s", valueSpaces, ValueToString(value, precision));
+    if (!unit.empty())
+        ccprintf(stream, " %-*s", unitSpaces, csprintf("(%s)", unit));
+    else
+        ccprintf(stream, " %-*s", unitSpaces, "");
     if (spaces || pdfstr.rdbuf()->in_avail())
         ccprintf(stream, " %*s", pdfstrSpaces, pdfstr.str());
     if (spaces || cdfstr.rdbuf()->in_avail())
@@ -302,8 +310,10 @@
     string name;
     string separatorString;
     string desc;
+    string unit;
     vector<string> subnames;
     vector<string> subdescs;
+    vector<string> subunits;
     Flags flags;
     bool descriptions;
     bool spaces;
@@ -341,6 +351,7 @@
     ScalarPrint print(spaces);
     print.name = name;
     print.desc = desc;
+    print.unit = unit;
     print.precision = precision;
     print.descriptions = descriptions;
     print.flags = flags;
@@ -372,6 +383,7 @@

print.name = base + (havesub ? subnames[i] : std::to_string(i));
             print.desc = subdescs.empty() ? desc : subdescs[i];
+            print.unit = subunits.empty() ? unit : subunits[i];

             print.update(vec[i], _total);
             print(stream, flags.isSet(oneline));
@@ -391,6 +403,7 @@
         print.cdf = NAN;
         print.name = base + "total";
         print.desc = desc;
+        print.unit = unit;
         print.value = total;
         print(stream);
     }
@@ -401,6 +414,7 @@
     string name;
     string separatorString;
     string desc;
+    string unit;
     Flags flags;
     bool descriptions;
     bool spaces;
@@ -432,6 +446,9 @@

     if (!info.subdescs[i].empty())
         desc = info.subdescs[i];
+
+    //if (!info.subunits[i].empty())
+    //    unit = info.subunits[i];
 }

 void
@@ -440,6 +457,7 @@
     name = text->statName(info.name);
     separatorString = info.separatorString;
     desc = info.desc;
+    unit = info.unit;
     flags = info.flags;
     precision = info.precision;
     descriptions = text->descriptions;
@@ -462,6 +480,7 @@
     print.flags = flags;
     print.descriptions = descriptions;
     print.desc = desc;
+    print.unit = unit;
     print.pdf = NAN;
     print.cdf = NAN;

@@ -588,6 +607,7 @@
     print.value = info.result();
     print.name = statName(info.name);
     print.desc = info.desc;
+    print.unit = info.unit;
     print.flags = info.flags;
     print.descriptions = descriptions;
     print.precision = info.precision;
@@ -609,6 +629,7 @@
     print.name = statName(info.name);
     print.separatorString = info.separatorString;
     print.desc = info.desc;
+    print.unit = info.unit;
     print.flags = info.flags;
     print.descriptions = descriptions;
     print.precision = info.precision;
@@ -685,6 +706,7 @@
             info.name + "_" +
             (havesub ? info.subnames[i] : std::to_string(i)));
         print.desc = info.desc;
+        print.unit = info.unit;
         print.vec = yvec;
         print.total = total;
         print(*stream);
@@ -698,6 +720,7 @@
         print.name = statName(info.name);
         print.subnames = total_subname;
         print.desc = info.desc;
+        print.unit = info.unit;
         print.vec = VResult(1, info.total());
         print.flags = print.flags & ~total;
         print(*stream);
@@ -741,6 +764,7 @@
     string name;
     string separatorString;
     string desc;
+    string unit;
     Flags flags;
     bool descriptions;
     bool spaces;
@@ -767,6 +791,7 @@
     name = text->statName(info.name);
     separatorString = info.separatorString;
     desc = info.desc;
+    unit = info.unit;
     flags = info.flags;
     precision = info.precision;
     descriptions = text->descriptions;
@@ -784,6 +809,7 @@
     print.flags = flags;
     print.descriptions = descriptions;
     print.desc = desc;
+    print.unit = unit;
     print.pdf = NAN;
     print.cdf = NAN;


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/38675
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Ia2050ac29619575e6c3b10529dd5f5c6bcc8ee97
Gerrit-Change-Number: 38675
Gerrit-PatchSet: 1
Gerrit-Owner: Hoa Nguyen <hoangu...@ucdavis.edu>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to