Monitoring Object and Partial Monitoring Object Comparison
Applies To: Operations Manager 2007 R2, Operations Manager 2007 SP1, System Center Operations Manager 2007
The PartialMonitoringObject class and MonitoringObject class are the only classes used to represent monitoring objects in the Operations Manager database. These classes represent instances of a monitoring class, which is a type defined in a Management Pack. Each monitoring class can have its own set of custom properties defined for it. The PartialMonitoringObject class defines built-in properties that are in every monitoring object. Only these properties are returned when retrieving PartialMonitoringObject instances, which means that none of the custom properties that are defined in a monitoring class are returned with the instance. The MonitoringObject class is derived from the PartialMonitoringObject class and allows you to retrieve all the properties that are returned with a PartialMonitoringObject object, plus the custom properties that are defined for a monitoring class.
When you retrieve a large number of objects using a query, using MonitoringObject objects instead of PartialMonitoringObject objects can result in a lot amount of data being returned. For example, for every instance of a Windows Computer class, 53 properties are returned. This is in addition to the mandatory properties that are returned by using PartialMonitoringObject objects. By using PartialMonitoringObject objects rather than using MonitoringObject objects, you can significantly reduce the load on the Operations Manager database when you retrieve a large number of objects. You also significantly reduce the amount of data that is sent from the SDK service to the SDK client. Because the Operations Manager database omits custom property values when it responds to the query, using partial monitoring objects decreases the load on the database and improves query performance.
You should use PartialMonitoringObject objects if you do not need to access the custom property values for the object so that you benefit from the faster performance.
The MonitoringObject class and the PartialMonitoringObject class contain the same members except that the MonitoringObject class has an additional method (GetMonitoringPropertyValue) that allows you to get a property value (defined for a monitoring class) from the monitoring object.
The following list contains the properties defined for all partial monitoring objects.
The following list contains methods that return PartialMonitoringObject objects.
The following topics contain examples that use MonitoringObject objects:
The following topics contain examples that use PartialMonitoringObject objects: