Open Exchange
Global Masters
Home / Class Reference / %SYS namespace / DeepSee.FeatureGetter
Private  Storage   


class DeepSee.FeatureGetter extends

Collector for the DeepSee feature statistics


Parameters Properties Methods Queries Indices ForeignKeys Triggers


GetBegin GetEnd GetInfo Reset


• classmethod GetInfo() as %List
Returns a $LIST of key-value pairs for a feature Where each key-value pair has the format $LISTBUILD(key,value,type)
  • where type=0 if value is a STRING in which case we keep the most recent value,
  • where type=1 if value is a BOOLEAN value {0 or 1} in which case we OR with previous values,
  • where type=2 if value is a SUM number in which case we do a summation with previous values, and
  • where type=3 if value is a MAX number in which case we keep maximum value of the current and previous values.

The method may be supplied by a FT.FeatureGetter subclass. It is called by the Feature Tracker Collector about once per hour in order to collect the Feature values that might change over time. Therefore, in case of crash of the Cache instance we will lose no more than one hour of Feature Tracker information.

This method is also called immediately after a call on the GetBegin method and just before a call on the GetEnd method.

• classmethod Reset() as %Status
The class method Reset is called whenever Feature Collection desires a FT.FeatureGetter object to reinitialize its tracker state and to start collecting feature information as if no previous information had been collected. After all the Reset methods have been called then the local client data base of previous Feature Tracker keys and values will be killed. The kill of the local client data base is immediately followed by a call to the GetBegin method and then calls to the GetInfo method will immediately begin and will be made during every following hour. These method calls will repopulate the client data base of feature key-value pairs.

The Reset method must be supplied by the FT.FeatureGetter subclass if any of the Feature keys defined by the subclass need to be reset to their initial states after the previous Feature Tracker values were sent home to the InterSystems server. Reset is called after each successful transfer of Feature information to the InterSystems server. This occurs about once per week.

Any FT.FeatureGetter object that just produces a type=0 string of configuration information and which does not need its internal state to be reset can avoid overriding the Reset class method and can instead default to using the Reset class method from the abstract FT.FeatureGetter class.

A call on a Reset() class method returns a %Status value. This return status should contain an error value if the FT.FeatureGetter object needs to reset its internal collection state but the Reset method discovers that it is unable to do so.