Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The collection of stats is built into the renderer so there's no need to "enable" the stats system. On the other hand, Listeners need to be explicitly enabled and configured in order to introspect the data being collected. Currently, an "ini" configuration file is the primary mechanism through which the stats system and its listeners are configured.

Under the Hood

At the core of this new system is a centralized in-memory database of metric data. Stats are entered into the database by applications (renderer, bridge product, plugin, etc). Data is then extracted by the Listener presentation plugins. A Listener plugin is able to query specific data in order to present it according to that application's needs. One example of a Listener plugin would be a "report listener" which simply writes the data out to a file, mimicking the legacy (pre-24.0) functionality of stats. Another example of a Listener plugin would be an extension that extracts data for presentation in a HUD (DCC or 'it). The metric data held within the stats system is available for introspection by a Listener at any point during a render so an application has the option to continuously report live data and dynamically adjust the reporting rate.

Note that applications such as the renderer are no longer responsible for maintaining the layout or presentation of the data they are gathering. Their job is simply to report data updates. The stats system takes care of collation and synthesis and Listeners handles the data presentation.

...