7.2   WindView Instrumentation Classes

For WindView 2.0, instrumentation levels are implemented by C++ classes. The base class displays only context switch information and is always shown when WindView is active. Beyond this minimum, the user decides what to log and what to display. Figure 7-1 shows the various classes and the kinds of objects and information available.

In previous versions of WindView, all the instrumented object types could cause a task state transition under certain conditions, though not all events relating to these objects did so in every case. WindView 2.0 provides additional instrumented libraries, which include objects that are never a direct cause of state transitions. Thus it is no longer precisely correct to visualize nested instrumentation levels. Figure 7-1 shows that the lowest level of logging, events causing context switches (CSE level), can be represented by the dark grey region in the center of the figure. At the next logging level, events causing task state transitions (TST level), which are generated only by kernel objects, are collected; these are represented by the light grey region in the left half of the figure.

At the highest logging level, AIL level, all the context switch and task state transition events are collected. In addition, you can specify objects for which you wish to collect detailed information. You can choose to log events associated with one or more of the kernel object libraries represented in the outer ring on the left side of Figure 7-1. You can also log events associated with one or more of the additional instrumented libraries shown on the right side of Figure 7-1, as well as a combination of the two types. As additional instrumented libraries are created (either by you or by WRS), their pie slices are added to the right side of Figure 7-1 with other objects not directly causing state transitions.

Although logging levels are no longer nested, the idea of inheritance is still appropriate in the case of kernel objects. Objects depicted in white in Figure 7-1 inherit the task state transition class (light grey) when the object class is turned on. Users can choose to collect only the specific object information they need, but task state transitions associated with all objects are collected.