![]() |
![]() |
|
|
Monitoring Multithreaded and Multicontexted Applications
Therefore application programmers should keep in mind the possibility that individual threads within a process may die. If one thread dies and a signal is issued, the whole process to which the thread belongs usually dies, and that death is detected by the BBL.
If a thread dies as the result of an erroneous call to a thread exit function, however, no signal is generated. If this type of death occurs before the thread calls tpterm(), then the BBL cannot detect the death and does not deallocate the registry table slot for the context associated with the dead thread. (It would not be proper for the BBL to deallocate this registry table slot even if it could detect the death of the thread because, in some application models, another thread might subsequently choose to associate itself with that context.)
There is no solution for this limitation so it is important for programmers to keep it in mind and design their applications accordingly.
How to Retrieve Data About a Multithreaded/Multicontexted Application Using the MIB
Note: The information presented here applies to all multithreaded and/or multicontexted applications, regardless of which administrative tools are being used. The functionality is discussed from the point of view of an administrator using MIB calls, but is the same for an administrator using an interface to the MIB, whether that interface is tmadmin(1) or the BEA Administration Console.
You can obtain information about a multithreaded or multicontexted application by:
Information is available in the following locations:
For example, if 12 server dispatch threads are active simultaneously, then the T_SERVERCTXT class of the MIB for this application will include 12 occurrences of the TA_CONTEXTID field, 12 occurrences of the TA_SRVGRP field, and so on.
When multiple instances of T_SERVER class fields contain multiple values for different contexts of a multicontexted server, a "dummy" value is specified in the T_SERVER class field and the T_SERVERCTXT field contains an actual value for each context.
See Also
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|