Skip to content
  • Tuukka Lehtonen's avatar
    Optimize HistorySampler · 5fb3e7b1
    Tuukka Lehtonen authored
    * HistoryManager (especially FileHistory) can now cache its own instance
      of ItemManager which is the main optimization here. This gets rid of
      listing all metadata .txt files from the history collector directory
      and and reading them all in on every history sampling.
      * Caches are invalidated upon any sign of changes to the set of
        subscribed items. FileHistory uses Java NIO WatchService to track
        any changes to .txt files in the history collector directory and
        invalidates the item/item manager caches upon such an event.
      * Remove the need to always reconstruct ItemManager if the set of
        items does not change - which it doesn't during normal simulation.
      * Allow internal caching of items for HistoryManager.getItems()
        which also doesn't change unless the set of subscribed items
        changes.
    * ItemManager support indexing the contained items by a single field
      name. This allows faster search lookups of items based on the
      `variableId` field in history sampling.
    
    gitlab #1092
    5fb3e7b1