Tivoli Header

[ Previous Page | Next Page | Table of Contents | Index ]

Reference Manual

Tivoli Management Framework Reference Manual, 3.7.1, March, 2001


odstat

Lists the status of current and recent object calls.

Syntax

odstat [?] [-acdhlsv] [-o baseoid] [-p port_no]

(UNIX only) odstat [?] [-acdhlsv] -k dbdir [pid]

Description

The odstat command lists the status of current and recent object calls for the specified object dispatcher. This command can list object calls from a running dispatcher.

The first form of the odstat command collects the object dispatcher history by invoking a method. You can specify a remote object dispatcher if desired.

The second form of the odstat command collects information by sending a signal to the object dispatcher. The -k option specifies the database directory; the object dispatcher dumps its information to a temporary file in this directory. The pid option specifies the object dispatcher to send a signal to. The second form of the odstat command is useful when communication is disrupted for some reason, but is more specific than the first form. The second form can only send signals to local processes, and because the object dispatcher is owned by Administrator or root, you can only run this form if you are logged in as Administrator or root.

The odstat command returns its output in the following columns:

tid
Lists the thread ID. When you start an object call, two threads are generated: one for the object call itself and one for the method being invoked.

type
Lists the thread type. The thread type flags are as follows:

O
Specifies the object call thread (attached to an object request). This indicates that the method was invoked here but is running elsewhere.

M
Lists the method thread (attached to a method). The object call occurred on a different system, but the object is located on the local system.

O+
Indicates that the object call and method threads are the same. This indicates that the caller and method are both local.

The method type flags are as follows:

a
Asynchronous object call

b
One-way object call

d
Daemon method

h
Helperless method

o
Per-object method

q
Queueing method

ptid
Lists the parent thread ID or the thread ID of the object call whose method made the current object call. If this field is blank, the object call is external. The number before the dash (-) is the dispatcher number where the parent thread resides. The number after the dash is the thread ID in the parent's object dispatcher.

State
Lists the following states of the object call thread:

ali
The thread is performing a lookup on the Tivoli management region server's database.

coord
The method is serving as a transaction coordinator.

done
The object call is complete.

err
An internal error terminated the thread.

init
The thread has been initialized.

mwait
The thread is waiting for the associated method thread to complete.

rwait
The thread is waiting for the caller to collect the results of an asynchronous object call.

The states of method threads are as follows:

done
The method is complete.

gmeth
The thread is obtaining the method code from another dispatcher.

hdwt
The thread is waiting for the daemon-method process (nonqueueing daemon) to be ready to accept another request.

init
The thread has been initialized.

run
The method is running.

serv
The thread is performing an object services call.

twait
The method is waiting on transaction status to commit or abort.

StdO
Lists the number of bytes written to standard output by the method.

StdE
Lists the number of bytes written to standard error by the method. Most threads do not write to standard error.

Start
Lists the time that the thread started. Entries include day and time or just time if the method started on the same day that you issued the odstat command. If the thread started more than one week ago, you cannot determine that from this output (refer to the wtrace output).

Err
Lists the thread's error status. If this field is blank, no error occurred.

Error types are as follows:

e=n
The method returned n as its exit code. Error codes 0 through 21 are reserved for system-defined errors. Application error codes start at 22.

s=n
The method failed due to signal n.

S=n
The method failed due to signal n and produced a core file. Contact your Tivoli customer support provider if you want to debug using this core file.

XXX
An uppercase word indicates an error in the object dispatcher.
Exit codes (e=) can come from the system on which the Tivoli desktop is running, Tivoli Management Framework, or an application. It might be necessary to look at different sets of error documentation to find out which is the most likely source. You might be able to use system documentation to obtain help regarding system-produced errors. Most UNIX systems include an error file that lists the system error codes and often a short description. On OS/2 systems, enter help n, where n is the number of the error message (for example, help 5). On Windows NT and Windows 2000 systems, enter the net helpmsg n command (for example, net helpmsg 5).

Method
Lists the text of the method invocation. The first value is the object ID of the object in whose context the method was invoked. This can take the form of three numbers separated by periods or three numbers separated by periods followed immediately by a pound sign (#), the class name, and another pound sign. The next entry is the name of the method followed by the method's options.

The following is an example of a method listed in the odstat output:

1242184237.1.516#TMF_SysAdmin::InstanceManager#

_get_interfaces

For more information about odstat command output and other problem determination commands, see the Tivoli Management Framework Maintenance and Troubleshooting Guide.

Options

?
Displays help on the odstat command.

-a
Lists all threads. By default, system threads are omitted.

-c
Lists currently running threads.

-d
Lists the active method-daemon processes.

-h
Lists thread history (terminated threads) only.

-k dbdir
Returns information from the dispatcher that is using the database in the specified directory. You should specify the object dispatcher's process ID (pid) if you specify the -k dbdir option. If you do not, the odstat command randomly picks the object for the dispatcher's process ID.
Note:
This option is for UNIX only.

-l
Returns a long listing.

-o baseoid
Returns object dispatcher status from another system.

-p port_no
Sets the port number.

-s
Returns a short listing.

-v
Specifies verbose mode. Lists the last object-services request that the method or thread made, that request's return code, the process ID associated with the method, and the last method invoked in a daemon thread.

pid
Specifies the process ID of the dispatcher. If you specify this option, you must also specify the -k option.

If no options are specified, the odstat command's default is odstat -c -h -l -o 0.0.0.

Authorization

You must have the super, senior, admin, or user role to run this command. You must be Administrator or root to run the -k option.

Examples

  1. The following example shows the output of odstat with no options. Explanations of the output are included throughout the example.
    odstat
    
    

    The output shows the methods currently running:

    n_active = 5 n_free = 195
    
      tid type  ptid State StdO StdE  Start  Err  Method
    
      83 O+bhdoq    run   0   0  Sat16:00 \ 200003.1.163#TMF_Scheduler::scheduler# start 
    
    

    In the previous section of the odstat output method thread, ID 83 is a "one way" invocation that invoked a helperless, queueing, daemon, per-object method implementation. It is currently in a run state, and started at 16:00 on Saturday. The object ID is 200003.1.163#TMF_Scheduler::scheduler# (the local scheduler object), and the method name is start.

    (... output deleted for brevity ...)
    
    ---- history ----
    
      855 O+  1-854 done 11  0 Sun16:16    0.0.0\
    
    get_name_registry\
    
       856 O+hdoq 1-854 done  106   0 Sun16:16    200003.1.26 \
    
    lookup
    
       857 O+hd  1-854 done   6   0 Sun16:16
    
        200003.1.128#TMF_UI::ActiveDesktopList# add_entry
    
    

    The history line indicates the beginning of methods that have already completed. Methods 855, 856, and 857 are cascaded methods; they were invoked by method 854 on this oserv. (This example uses dispatcher 1.) Method 855 produced 11 bytes of standard output, 856 produced 106 bytes, and 857 produced 6 bytes.

    (... more output deleted ...)\
    
    * 918 O+hdoq 1-917 done  488   0 Sun16:27 e=12 200003.1.26 \
    
    lookup
    
     
    
    

    Method 918 produced an error. The asterisk in the first column indicates a possible abnormal condition. The e=12 indicates an exception occurred. The wtrace command can be used to determine more information about the exception.

      950 O   1-949 done   0   0 Sun16:28   <batch-mgr>\add_backref_optimized 
    
     951 O+hdq 1-949 done  117   0 Sun16:28 \
    
     200003.1.378#TMF_Install::ProductInfo# add_backref_optimi\
    
    zed 
    
     
    
    

    Method thread 950 is a batch-object-call manager. It indicates that there were multiple invocations of the same method on multiple objects at the same time. Line 951 is one of the batched method invocations managed by 950.

    * 1029 O+  1-1026 done   0  0 Sun17:06 UNAUTHORIZED\
    
    200003.0.0 \
    
    get_principal_roles Root_PI-sluggo 
    
     
    
    

    Method 1029 shows a method that ran and failed at the core services level, below the exception facility. In this case, odstat translates the error code to an error name, where possible. Because an exception did not occur, wtrace is not likely to produce additional information about the error code.

  2. The following example queries the method history on a remote machine. First, use the name registry wlookup command to translate the machine name to an object reference, and then call odstat with that object reference.
    wlookup -r ManagedNode -a
    
     
    
    pokey  200003.2.7#TMF_ManagedNode::Managed_Node#
    
    sluggo 200003.1.285#TMF_ManagedNode::Managed_Node#
    
     
    
    odstat -o 200003.2.7#TMF_ManagedNode::Managed_Node#
    
    

See Also

odadmin, tmstat, wtrace


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]