| Quintiq file version 2.0 | 
| #parent: #root | 
| Method LibMon_CollectInfo () const | 
| { | 
|   Description: 'Collect model specific information.' | 
|   TextBody: | 
|   [* | 
|     /* | 
|     Send the following information to monitoring library: | 
|     - # of total scenarios | 
|     - # of online scenarios | 
|     - average # of objects across onlines scenarios (refer to method LibMon_SignificantObjects for the list) | 
|     */ | 
|      | 
|     // Retrieve all macroplans keys. | 
|     macroplansObjectInfos := MDSEditor::Editor().ObjectInfos( typeof( MacroPlan ).ShortName() ); | 
|      | 
|     // Get online datasets. | 
|     options := DatasetFindOptions::Construct().Kind( typeof( MacroPlan ).ShortName() ); | 
|     macroplans := MDSMacroPlan::Find( options ); | 
|      | 
|     // Publish the info of total and online scenarios to monitoring library | 
|     this->LibMon_SendInfo( ScenarioManager::LibMon_Scenario_ID() + ScenarioManager::LibMon_ID_AllScenarios(), macroplansObjectInfos.Elements( relsize ) ); | 
|     this->LibMon_SendInfo( ScenarioManager::LibMon_Scenario_ID() + ScenarioManager::LibMon_ID_OnlineScenarios(), macroplans->GroupAll()->Size() ); | 
|      | 
|     // Now, we go through all the object types we wanna sample | 
|     // Retrieve their count from macroplans | 
|     traverse( ScenarioManager::LibMon_SignificantObjects(), Elements, e ) | 
|     { | 
|       // Numbers of this object from all macroplans | 
|       numbers := macroplans->LibMon_ColIectInfo( e )->GroupAll(); | 
|       this->LibMon_SendInfo( ScenarioManager::LibMon_MacroPlan_ID() + e, numbers );  | 
|     } | 
|   *] | 
| } |