Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Writing a GUI to display statistics

I'm working with a hardware simulator for a project. It outputs statistics at the end in a very structured but ugly way. It can be tiresome to read so I would like to write a GUI to help me display it better. Would anybody have an idea of what framework and widgets I could use to quickly and painlessly construct something clean? I would like to be able to navigate the subnodes of the tree and hide (collapse) nodes I'm not interested in.

The statistics output take a form like this


root {
 foo = "bar";
 foo_num = 1;
 machine {
  core0 {
   fetch {
    renamed {
      none = 13559;
      flags = 3013;
      reg_and_flags = 10735;
      reg = 8430;
    }
     width[5] = {
      Minimum:                   381
      Maximum:                 17450
      Average:                 1.248
      Total Sum:               28627
      Weighted Sum:            35737
      Threshold:                   3
      [ 61.0% ] [ 61.0% ]     0     0 17450 ******************************
      [  1.3% ] [ 62.3% ]     1     1   381 
      [ 12.1% ] [ 74.4% ]     2     2  3476 ******
      [  3.1% ] [ 77.5% ]     3     3   876 *
      [ 22.5% ] [  100% ]     4     4  6444 ***********
    };
     status (total 57920) {
      [  0.0% ] rob_full = 0; { (zero) }
      [ 35.9% ] ldq_full = 20789;
      [  2.4% ] fetchq_empty = 1394;
      [  0.0% ] physregs_full = 0; { (zero) }
      [ 61.7% ] complete = 35737;
      [  0.0% ] stq_full = 0; { (zero) }
     }
   }
 }
}

There is already a parser that creates a kind of tree from a binary file, it is written in C++ so perhaps it is better if a choose a framework for this language. An alternative would be to generate XML output and then use another language to process the information.

I'm not very experienced with visual programming and I don't really know what kind of widgets are available. Any suggestions and pointers would be appreciated.

like image 771
hayesti Avatar asked Feb 24 '23 00:02

hayesti


1 Answers

When I'm just trying to display some information, and I don't really need interaction, I sometimes make the program output a simple html page. It's fast and trivial to do things like tables and images (in virtually any format). If you need graphs, there are web-APIs like Google's chart API.

like image 55
Adrian McCarthy Avatar answered Mar 08 '23 16:03

Adrian McCarthy