How to check the Total Configured IO Counts in Application Server

Good day AVEVA SP & OMI community,

Please could you share some of your tried and trusted methods to obtain the total number of configured IO in Application Server, apart from using the View License Information feature.

Thank you in advance!

  • Hi Drish

    Check this out and let me know if this solves your question.

    IO count

    To run a production Galaxy you need a ‘Application Server IO’ license that will cover the configured amount of IO reference. Since there exists a possibility to assign the necessary reference during startup of the runtime environment, using scripting, there isn’t a way to show the configured number of references through the User Interface upfront inside the IDE. This can lead to the situation where a runtime environment has more reference to the field (IO count) than allowed by the installed license. By implementing one of the below solutions you can figure out the exact amount of OI references used in your deployed Galaxy environment.

    Prerequisites

    • System Platform Version 2017 or higher.

    • Objects can only work on the deployed Platform of the Galaxy Repository (GR) node.

    How to measure the actual IO count.
     

    We created a simple object that can be implemented in a runtime Galaxy environment to measure the actual used IO count. We first identify all deployed DI-object instances used in your Galaxy. Then we summarize the used Scan Groups / Topics of these deployed DI-object instances. In every Scan Group / Topic we count the item count and summarize this to come to the final IO Count used.

    The measuring can be performed by one of these objects deployed on the GR Platform:

    • Engine Object named: “Engine_Total_Used_IO_Count

    • Area Object named: “Area_Total_Used_IO_Count

    • Automation Object named: “Total_Used_IO_Count”

     

    “Engine_Total_Used_IO_Count”

    If there isn’t an Engine deployed on the GR node this object is preferable. This because you only need to deploy this single object.

     

    Area_Total_Used_IO_Count

    If there is an Engine deployed on the GR Platform you can use this Area object. You only need to deploy it on one of the already deployed engine(s) on the GR.

     

    “UDO_Total_Used_IO_Count”

    If there is an Engine deployed on the GR Platform with a deployed Area on it, you can use this object. Assign it to the deployed Area and deploy this object.

    Object packages can be downloaded from here: IO_Count Objects.zip

    Detailed steps to use the provided objects.

    Select below one of the options that fits best for you.

    Using the “Engine_Total_Used_IO_Count” object. 

    1. Unzip the corresponding zip file and place the files in location of your choice.

    2. Open the IDE with the deployed Galaxy selected.

    3. Using the menu go to: Galaxy -> Import -> Object(s)…

    4. Select the unzipped file named: “Engine_Total_Used_IO_Count.aaPKG” and press ‘Open’.

    5. Leave the ‘Import Preferences’ untouched (default) and press ‘OK’.

    6. After importing assign the “Engine_Total_Used_IO_Count” object instance to the GR Platform.

    7. Deploy this Engine instance.

    8. Set the focus on this new deployed Engine -> Right mouse click -> View in Object Viewer.

    9. With ‘Object Viewer’ open. Click on the white space of your “Watch List 1” to set the focus here.

    10. Go to Menu -> File -> Load Watch List.

    11. Select the “Total_Used_IO_Count using Engine Object WatchList” file you unzipped under point 1.

    12. Next attributes will be seen in your ‘Watch List’.

    13. Double click on the 1st Attribute-reference in the Watch List. The popup window: “Modify Boolean Value” appears.

    14. Select the radio button ‘True’ and press the button ‘OK’.

    15. The Galaxy will be scanned, and a result value will be shown for the third Attribute: “Engine_Total_Used_IO_Count.Total_IO_Count_Used”.

    16. This value is your actual used IO-Count of your active Galaxy.

    Using the “Area_Total_Used_IO_Count” object. 

    1. Unzip the corresponding zip file and place the files in location of your choice.

    2. Open the IDE with the deployed Galaxy selected.

    3. Using the menu go to: Galaxy -> Import -> Object(s)…

    4. Select the unzipped file named: “Area_Total_Used_IO_Count.aaPKG” and press ‘Open’.

    5. Leave the ‘Import Preferences’ untouched (default) and press ‘OK’.

    6. After importing assign the “Area_Total_Used_IO_Count” object instance to an engine on the GR Platform.

    7. Deploy this Area instance.

    8. Set the focus on this new deployed Area -> Right mouse click -> View in Object Viewer.

    9. With ‘Object Viewer’ open. Click on the white space of your “Watch List 1” to set the focus here.

    10. Go to Menu -> File -> Load Watch List.

    11. Select the “Total_Used_IO_Count using Area Object WatchList” file you unzipped under point 1.

    12. Next attributes will be seen in your ‘Watch List’.

      Open att_2_for_7930206.png
    13. Double click on the 1st Attribute-reference in the Watch List. The popup window: “Modify Boolean Value” appears.

    14. Select the radio button ‘True’ and press the button ‘OK’.

    15. The Galaxy will be scanned, and a result value will be shown for the third Attribute: “Area_Total_Used_IO_Count.Total_IO_Count_Used”.

    16. This value is your actual used IO-Count of your active Galaxy.

    Using the “UDO_Total_Used_IO_Count” object.

    1. Unzip the corresponding zip file and place the files in location of your choice.

    2. Open the IDE with the deployed Galaxy selected.

    3. Using the menu go to: Galaxy -> Import -> Object(s)…

    4. Select the unzipped file named: “UDO_Total_Used_IO_Count.aaPKG” and press ‘Open’.

    5. Leave the ‘Import Preferences’ untouched (default) and press ‘OK’.

    6. After importing assign the “UDO_Total_Used_IO_Count” object instance to an Area on the GR Platform.

    7. Deploy this UDO instance.

    8. Set the focus on this new deployed UDO -> Right mouse click -> View in Object Viewer.

    9. With ‘Object Viewer’ open. Click on the white space of your “Watch List 1” to set the focus here.

    10. Go to Menu -> File -> Load Watch List.

    11. Select the “Total_Used_IO_Count using UDO Object WatchList” file you unzipped under point 1.

    12. Next attributes will be seen in your ‘Watch List’.

      Open att_3_for_7930206.png
    13. Double click on the 1st Attribute-reference in the Watch List. The popup window: “Modify Boolean Value” appears.

    14. Select the radio button ‘True’ and press the button ‘OK’.

    15. The Galaxy will be scanned, and a result value will be shown for the third Attribute: “UDO_Total_Used_IO_Count.Total_IO_Count_Used”.

    16. This value is your actual used IO-Count of your active Galaxy.

    Final word

    When using a huge number of DI-objects with a large amount of Scan Groups, summarizing of all used IO-counts can take a while. After you have set the “Get_IO_Item_Count” Boolean to true the “DI_Objects_StringArray_List[]” attribute will be filled with all DI references and the summarizing will take place. When this: “DI_Objects_StringArray_List[]” attribute shows back the words: <Default>,<Default>,etc the summarizing is finished with the result in the attribute “Total_IO_count_Used”.

  • Hi Lauran Lint, thank you for the detailed step by step guide and the ObjectExport files. I will test this out and let you know how it goes.

    Once again, thank you for your response, it is much appreciated.

  • sorry for the lousy formatting of the writing ;)

  • Another method that can be utilized is running a store-procedure within your Galaxy DB.

    1. Open Microsoft SQL Server Management Studio, navigate to your Galaxy DB - mine is configured as presales but this unique to your systems and browse to Programmability --> Stored Procedures 

    2. Browse to the following dbo.internal_get_io_point_count and right-click and select "Execute Stored Procedure"

    3. This screen will pop-up, Select OK

    4. A query will populate, select Execute 

    5. Results will appear below

  • Hi Edward,

    This doesn't work if your references are set using scripting instead of hard-coded and or using AutoBinding for your references.
    Your result is the same count that can be found under the AppServer License information in the Back Stage of the IDE. See below example: