An EventHistoryCollector lets you gather information about events that the server has generated. You create an
EventHistoryCollector using the
EventManager.CreateCollectorForEvents method.
The EventFilterSpec includes an
eventTypeId property, which you use to limit the set of collected event objects to specific types. You can also provide a time range in the
EventFilterSpec, by defining an
EventFilterSpecByTime data object for its
time property. See the
vSphere API Reference for details.
After you have created the HistoryCollector, the server appends new objects that meet the filter criteria to the collection as they occur. The system appends the new object to the collection by placing it in the first position of the
latestPage and it removes the oldest object from the collection. The
latestPage property of the
EventHistoryCollector object has a property that consists of the 1000 most recent objects in the collection. Use a
PropertyCollector to obtain the items from the
latestPage property.
A HistoryCollector exists only for the duration of the session that instantiated it. You invoke the
DestroyCollector operation to explicitly eliminate the collector before the session ends.
When you create an EventHistoryCollector, you can define filters. For example, rather than returning all
Event objects associated with virtual machines, you might create a filter to collect only those
Event objects associated with virtual machines that were executed by the backup-administrator between 2:00 and 4:00 a.m. on a specific date.
The EventFilterSpec object allows you to specify the collection criteria. Most of the properties are optional and can be submitted as
null values. The
EventFilterSpec lets you collect events based on user name, entity type, time, and state of the
Event.
The HistoryCollector managed object provides operations for managing the life-cycle and scrollable view of a collection.