Changeset b3b7e14 in mainline for uspace/app/top/screen.c


Ignore:
Timestamp:
2010-06-11T15:31:03Z (14 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
214ec25c
Parents:
be06914
Message:

distinguish between "hot" and "cold" exceptions
display only "hot" exceptions by default
add top to help

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/top/screen.c

    rbe06914 rb3b7e14  
    259259}
    260260
    261 static inline void print_task_head(void)
     261static inline void print_tasks_head(void)
    262262{
    263263        screen_style_inverted();
     
    371371}
    372372
    373 static inline void print_exc_head(void)
     373static inline void print_excs_head(void)
    374374{
    375375        screen_style_inverted();
     
    379379}
    380380
    381 static inline void print_exc(data_t *data)
     381static inline void print_excs(data_t *data)
    382382{
    383383        ipcarg_t cols;
     
    390390       
    391391        size_t i;
    392         for (i = 0; (i < data->exceptions_count) && (row < rows); i++, row++) {
     392        for (i = 0; (i < data->exceptions_count) && (row < rows); i++) {
     393                /* Filter-out cold exceptions if not instructed otherwise */
     394                if ((!excs_all) && (!data->exceptions[i].hot))
     395                        continue;
     396               
    393397                uint64_t count;
    394398                uint64_t cycles;
     
    409413               
    410414                screen_newline();
    411         }
     415                row++;
     416        }
     417       
     418        while (row < rows) {
     419                screen_newline();
     420                row++;
     421        }
     422}
     423
     424static void print_help(void)
     425{
     426        ipcarg_t cols;
     427        ipcarg_t rows;
     428        screen_get_size(&cols, &rows);
     429       
     430        ipcarg_t col;
     431        ipcarg_t row;
     432        screen_get_pos(&col, &row);
     433       
     434        screen_newline();
     435       
     436        printf("Operation modes:");
     437        screen_newline();
     438       
     439        printf(" t .. tasks statistics");
     440        screen_newline();
     441       
     442        printf(" i .. IPC statistics");
     443        screen_newline();
     444       
     445        printf(" e .. exceptions statistics");
     446        screen_newline();
     447       
     448        printf("      a .. toggle display of all/hot exceptions");
     449        screen_newline();
     450       
     451        row += 6;
    412452       
    413453        while (row < rows) {
     
    430470        screen_newline();
    431471       
    432         switch (operation_type) {
     472        switch (op_mode) {
    433473        case OP_TASKS:
    434                 print_task_head();
     474                print_tasks_head();
    435475                print_tasks(data);
    436476                break;
     
    439479                print_ipc(data);
    440480                break;
    441         case OP_EXC:
    442                 print_exc_head();
    443                 print_exc(data);
     481        case OP_EXCS:
     482                print_excs_head();
     483                print_excs(data);
    444484                break;
     485        case OP_HELP:
     486                print_tasks_head();
     487                print_help();
    445488        }
    446489       
Note: See TracChangeset for help on using the changeset viewer.