Changeset 468e9a4 in rtems


Ignore:
Timestamp:
Feb 14, 2017, 10:10:40 AM (4 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
5, master
Children:
611f9262
Parents:
71ac0a6
git-author:
Sebastian Huber <sebastian.huber@…> (02/14/17 10:10:40)
git-committer:
Sebastian Huber <sebastian.huber@…> (02/14/17 10:12:00)
Message:

monitor: Print short and long task names

Print wait object identifier only if it exists.

Update #2858.

Location:
cpukit/libmisc/monitor
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cpukit/libmisc/monitor/mon-task.c

    r71ac0a6 r468e9a4  
    1212#include <rtems/score/threadqimpl.h>
    1313
     14#include <inttypes.h>
    1415#include <stdio.h>
    1516#include <string.h>    /* memcpy() */
     
    2425    const Thread_queue_Queue *queue;
    2526
    26     canonical_task->wait_id = 0;
    27     canonical_task->wait_name[0] = '\0';
     27    canonical_task->wait[0] = '\0';
    2828
    2929    _Thread_queue_Context_initialize( &queue_context );
     
    3333
    3434    if ( queue != NULL ) {
     35      Objects_Id id;
     36
    3537      _Thread_queue_Queue_get_name_and_id(
    3638        queue,
    37         canonical_task->wait_name,
    38         sizeof(canonical_task->wait_name),
    39         &canonical_task->wait_id
     39        canonical_task->wait,
     40        sizeof(canonical_task->wait),
     41        &id
    4042      );
     43
     44      if (id != 0) {
     45        snprintf(
     46          canonical_task->wait,
     47          sizeof(canonical_task->wait),
     48          "%08" PRIx32,
     49          id
     50        );
     51      }
    4152    } else if (
    4253      (rtems_thread->current_state & STATES_WAITING_FOR_BSD_WAKEUP) != 0
     
    4859      if (wmesg != NULL) {
    4960        strlcpy(
    50           canonical_task->wait_name,
     61          canonical_task->wait,
    5162          wmesg,
    52           sizeof(canonical_task->wait_name)
     63          sizeof(canonical_task->wait)
    5364        );
    5465      }
     
    7283    api = rtems_thread->API_Extensions[ THREAD_API_RTEMS ];
    7384
     85    _Objects_Name_to_string(
     86      rtems_thread->Object.name,
     87      false,
     88      canonical_task->short_name,
     89      sizeof( canonical_task->short_name )
     90    );
     91
    7492    _Thread_Get_name(
    7593      rtems_thread,
    76       canonical_task->name_string,
    77       sizeof( canonical_task->name_string )
     94      canonical_task->long_name,
     95      sizeof( canonical_task->long_name )
    7896    );
    7997
     
    110128{
    111129    fprintf(stdout,"\
    112 ID         NAME       CPU PRI STATE  MODES    EVENTS WAITID   WAITQUEUE\n"); /*
    113 0a010004   SHLL         0 100 READY  P:T:nA     NONE 00000000 00000000 [DFLT] */
     130ID       NAME                 CPU PRI STATE  MODES    EVENTS WAITINFO\n"); /*
     1310a010004 SHLL                   0 100 READY  P:T:nA   NONE   00000000 */
    114132
    115133    rtems_monitor_separator();
     
    128146
    129147    length += rtems_monitor_dump_id(monitor_task->id);
    130     length += rtems_monitor_pad(11, length);
    131     length += fprintf(stdout, "%s", monitor_task->name_string);
    132     length += rtems_monitor_pad(21, length);
    133     length += rtems_monitor_dump_decimal(monitor_task->cpu);
    134     length += rtems_monitor_pad(26, length);
     148    length += rtems_monitor_pad(9, length);
     149
     150    if (strcmp(monitor_task->short_name, monitor_task->long_name) == 0) {
     151        length += fprintf(stdout, "%s", monitor_task->short_name);
     152    } else {
     153        length += fprintf(
     154          stdout,
     155          "%s %s",
     156          monitor_task->short_name,
     157          monitor_task->long_name
     158        );
     159    }
     160
     161    length += rtems_monitor_pad(30, length);
     162    length += fprintf(stdout, "%3" PRId32, monitor_task->cpu);
     163    length += rtems_monitor_pad(34, length);
    135164    length += rtems_monitor_dump_priority(monitor_task->priority);
    136     length += rtems_monitor_pad(30, length);
     165    length += rtems_monitor_pad(38, length);
    137166    length += rtems_monitor_dump_state(monitor_task->state);
    138     length += rtems_monitor_pad(37, length);
     167    length += rtems_monitor_pad(45, length);
    139168    length += rtems_monitor_dump_modes(monitor_task->modes);
    140     length += rtems_monitor_pad(44, length);
     169    length += rtems_monitor_pad(52, length);
    141170    length += rtems_monitor_dump_events(monitor_task->events);
    142     length += rtems_monitor_pad(53, length);
    143     length += rtems_monitor_dump_id(monitor_task->wait_id);
    144     length += rtems_monitor_pad(62, length);
    145     length += fprintf(stdout, "%s", monitor_task->wait_name);
     171    length += rtems_monitor_pad(61, length);
     172    length += fprintf(stdout, "%s", monitor_task->wait);
    146173
    147174    fprintf(stdout,"\n");
  • cpukit/libmisc/monitor/monitor.h

    r71ac0a6 r468e9a4  
    9696    rtems_name                 name;
    9797  /* end of common portion */
    98     char                       name_string[10];
     98    char                       short_name[5];
     99    char                       long_name[16];
    99100    Thread_Entry_information   entry;
    100101    void                      *stack;
     
    106107    rtems_mode                 modes;
    107108    rtems_attribute            attributes;
    108     rtems_id                   wait_id;
    109     char                       wait_name[17];
     109    char                       wait[18];
    110110    uint32_t                   ticks;
    111111} rtems_monitor_task_t;
Note: See TracChangeset for help on using the changeset viewer.